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_PREFERENCE_DATA_TYPE_CONTROLLER_H__ 6 #define CHROME_BROWSER_SYNC_GLUE_PREFERENCE_DATA_TYPE_CONTROLLER_H__ 7 #pragma once 8 9 #include <string> 10 11 #include "chrome/browser/sync/glue/frontend_data_type_controller.h" 12 13 namespace browser_sync { 14 15 class PreferenceDataTypeController : public FrontendDataTypeController { 16 public: 17 PreferenceDataTypeController( 18 ProfileSyncFactory* profile_sync_factory, 19 Profile* profile, 20 ProfileSyncService* sync_service); 21 virtual ~PreferenceDataTypeController(); 22 23 // FrontendDataTypeController implementation. 24 virtual syncable::ModelType type() const; 25 26 private: 27 // FrontendDataTypeController implementations. 28 virtual void CreateSyncComponents(); 29 virtual void RecordUnrecoverableError( 30 const tracked_objects::Location& from_here, 31 const std::string& message); 32 virtual void RecordAssociationTime(base::TimeDelta time); 33 virtual void RecordStartFailure(StartResult result); 34 35 DISALLOW_COPY_AND_ASSIGN(PreferenceDataTypeController); 36 }; 37 38 } // namespace browser_sync 39 40 #endif // CHROME_BROWSER_SYNC_GLUE_PREFERENCE_DATA_TYPE_CONTROLLER_H__ 41