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