extension_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_EXTENSION_DATA_TYPE_CONTROLLER_H_ 6#define CHROME_BROWSER_SYNC_GLUE_EXTENSION_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 ExtensionDataTypeController : public FrontendDataTypeController { 16 public: 17 ExtensionDataTypeController( 18 ProfileSyncFactory* profile_sync_factory, 19 Profile* profile, 20 ProfileSyncService* sync_service); 21 virtual ~ExtensionDataTypeController(); 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 36 DISALLOW_COPY_AND_ASSIGN(ExtensionDataTypeController); 37}; 38 39} // namespace browser_sync 40 41#endif // CHROME_BROWSER_SYNC_GLUE_EXTENSION_DATA_TYPE_CONTROLLER_H_ 42