Home | History | Annotate | Download | only in glue
      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