1cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com// Use of this source code is governed by a BSD-style license that can be 3cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com// found in the LICENSE file. 4cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com 5cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com#ifndef CHROME_BROWSER_SYNC_GLUE_EXTENSION_DATA_TYPE_CONTROLLER_H_ 6cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com#define CHROME_BROWSER_SYNC_GLUE_EXTENSION_DATA_TYPE_CONTROLLER_H_ 7cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com 8cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com#include <string> 9cf2cfa174ca878c144e17e9fc60ca8e9070d7dededisonn@google.com 108cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com#include "base/compiler_specific.h" 118cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com#include "components/sync_driver/generic_change_processor.h" 128cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com#include "components/sync_driver/ui_data_type_controller.h" 138cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 148cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.comclass Profile; 158cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 168cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.comnamespace browser_sync { 178cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 188cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com// TODO(zea): Rename this and ExtensionSettingsDTC to ExtensionOrApp*, since 198cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com// both actually handle the APP datatypes as well. 208cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.comclass ExtensionDataTypeController : public sync_driver::UIDataTypeController { 218cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com public: 228cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com ExtensionDataTypeController( 238cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com syncer::ModelType type, // Either EXTENSIONS or APPS. 248cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com sync_driver::SyncApiComponentFactory* sync_factory, 258cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com Profile* profile); 268cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 278cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com private: 288cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com virtual ~ExtensionDataTypeController(); 298cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 308cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com // DataTypeController implementations. 318cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com virtual bool StartModels() OVERRIDE; 328cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 338cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com Profile* const profile_; 348cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 358cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com DISALLOW_COPY_AND_ASSIGN(ExtensionDataTypeController); 368cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com}; 378cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 388cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com} // namespace browser_sync 398cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com 408cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com#endif // CHROME_BROWSER_SYNC_GLUE_EXTENSION_DATA_TYPE_CONTROLLER_H_ 418cee797901763ab0922eb9ef484cfdcbc94bee54edisonn@google.com