Chromium Code Reviews| Index: chrome/browser/sync/glue/extension_setting_data_type_controller.h | 
| diff --git a/chrome/browser/sync/glue/extension_setting_data_type_controller.h b/chrome/browser/sync/glue/extension_setting_data_type_controller.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..42468c1b08daac60bf141806a4e2ca82264b08c9 | 
| --- /dev/null | 
| +++ b/chrome/browser/sync/glue/extension_setting_data_type_controller.h | 
| @@ -0,0 +1,60 @@ | 
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef CHROME_BROWSER_SYNC_GLUE_EXTENSION_SETTING_DATA_TYPE_CONTROLLER_H__ | 
| +#define CHROME_BROWSER_SYNC_GLUE_EXTENSION_SETTING_DATA_TYPE_CONTROLLER_H__ | 
| +#pragma once | 
| + | 
| +#include <string> | 
| + | 
| +#include "base/compiler_specific.h" | 
| +#include "chrome/browser/sync/glue/non_frontend_data_type_controller.h" | 
| +#include "chrome/browser/sync/profile_sync_factory.h" | 
| 
 
akalin
2011/09/21 05:41:53
forward-declare instead
 
not at google - send to devlin
2011/09/21 06:22:41
Done.
 
 | 
| + | 
| +class ExtensionSettings; | 
| +class ExtensionSettingsUIWrapper; | 
| + | 
| +namespace browser_sync { | 
| + | 
| +class ExtensionSettingDataTypeController | 
| + : public NonFrontendDataTypeController { | 
| + public: | 
| + ExtensionSettingDataTypeController( | 
| + ProfileSyncFactory* profile_sync_factory, | 
| + Profile* profile, | 
| + ProfileSyncService* profile_sync_service); | 
| + virtual ~ExtensionSettingDataTypeController(); | 
| + | 
| + // NonFrontendDataTypeController implementation | 
| + virtual syncable::ModelType type() const OVERRIDE; | 
| + virtual browser_sync::ModelSafeGroup model_safe_group() const OVERRIDE; | 
| + | 
| + private: | 
| + // NonFrontendDataTypeController implementation. | 
| + virtual bool StartModels() OVERRIDE; | 
| + virtual bool StartAssociationAsync() OVERRIDE; | 
| + virtual void CreateSyncComponents() OVERRIDE; | 
| + virtual bool StopAssociationAsync() OVERRIDE; | 
| + virtual void RecordUnrecoverableError( | 
| + const tracked_objects::Location& from_here, | 
| + const std::string& message) OVERRIDE; | 
| + virtual void RecordAssociationTime(base::TimeDelta time) OVERRIDE; | 
| + virtual void RecordStartFailure(StartResult result) OVERRIDE; | 
| + | 
| + // Starts sync association with |extension_settings|. Callback from | 
| + // RunWithSettings of |extension_settings_ui_wrapper_| on FILE thread. | 
| + void StartAssociationWithExtensionSettings( | 
| + ExtensionSettings* extension_settings); | 
| + | 
| + ExtensionSettingsUIWrapper* extension_settings_ui_wrapper_; | 
| + ExtensionSettings* extension_settings_; | 
| 
 
akalin
2011/09/21 05:41:53
add a comment that extension_settings_ is used onl
 
not at google - send to devlin
2011/09/21 06:22:41
Done.
 
 | 
| + | 
| + ProfileSyncService* profile_sync_service_; | 
| + | 
| + DISALLOW_COPY_AND_ASSIGN(ExtensionSettingDataTypeController); | 
| +}; | 
| + | 
| +} // namespace browser_sync | 
| + | 
| +#endif // CHROME_BROWSER_SYNC_GLUE_EXTENSION_SETTING_DATA_TYPE_CONTROLLER_H__ |