1// Copyright (c) 2012 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_EXTENSION_DATA_TYPE_CONTROLLER_H_
6#define CHROME_BROWSER_SYNC_GLUE_EXTENSION_DATA_TYPE_CONTROLLER_H_
7
8#include <string>
9
10#include "base/compiler_specific.h"
11#include "components/sync_driver/generic_change_processor.h"
12#include "components/sync_driver/ui_data_type_controller.h"
13
14class Profile;
15
16namespace browser_sync {
17
18// TODO(zea): Rename this and ExtensionSettingsDTC to ExtensionOrApp*, since
19// both actually handle the APP datatypes as well.
20class ExtensionDataTypeController : public sync_driver::UIDataTypeController {
21 public:
22  ExtensionDataTypeController(
23      syncer::ModelType type,  // Either EXTENSIONS or APPS.
24      sync_driver::SyncApiComponentFactory* sync_factory,
25      Profile* profile);
26
27 private:
28  virtual ~ExtensionDataTypeController();
29
30  // DataTypeController implementations.
31  virtual bool StartModels() OVERRIDE;
32
33  Profile* const profile_;
34
35  DISALLOW_COPY_AND_ASSIGN(ExtensionDataTypeController);
36};
37
38}  // namespace browser_sync
39
40#endif  // CHROME_BROWSER_SYNC_GLUE_EXTENSION_DATA_TYPE_CONTROLLER_H_
41