theme_data_type_controller.h revision ddb351dbec246cf1fab5ec20d2d5520909041de1
1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_SYNC_GLUE_THEME_DATA_TYPE_CONTROLLER_H_
6#define CHROME_BROWSER_SYNC_GLUE_THEME_DATA_TYPE_CONTROLLER_H_
7#pragma once
8
9#include <string>
10
11#include "chrome/browser/sync/glue/frontend_data_type_controller.h"
12
13namespace browser_sync {
14
15class ThemeDataTypeController : public FrontendDataTypeController {
16 public:
17  ThemeDataTypeController(
18      ProfileSyncFactory* profile_sync_factory,
19      Profile* profile,
20      ProfileSyncService* sync_service);
21  virtual ~ThemeDataTypeController();
22
23  // DataTypeController implementation.
24  virtual syncable::ModelType type() const;
25
26 private:
27  // DataTypeController implementations.
28  virtual bool StartModels();
29  virtual void CreateSyncComponents();
30  virtual void RecordUnrecoverableError(
31      const tracked_objects::Location& from_here,
32      const std::string& message);
33  virtual void RecordAssociationTime(base::TimeDelta time);
34  virtual void RecordStartFailure(StartResult result);
35  DISALLOW_COPY_AND_ASSIGN(ThemeDataTypeController);
36};
37
38}  // namespace browser_sync
39
40#endif  // CHROME_BROWSER_SYNC_GLUE_THEME_DATA_TYPE_CONTROLLER_H_
41