Home | History | Annotate | Download | only in glue
      1 // Copyright (c) 2013 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 #include "chrome/browser/sync/glue/proxy_data_type_controller.h"
      6 
      7 namespace browser_sync {
      8 
      9 ProxyDataTypeController::ProxyDataTypeController(syncer::ModelType type)
     10     : state_(NOT_RUNNING),
     11       type_(type) {
     12   DCHECK(syncer::ProxyTypes().Has(type_));
     13 }
     14 
     15 ProxyDataTypeController::~ProxyDataTypeController() {
     16 }
     17 
     18 void ProxyDataTypeController::LoadModels(
     19     const ModelLoadCallback& model_load_callback) {
     20   state_ = MODEL_LOADED;
     21   model_load_callback.Run(type(), syncer::SyncError());
     22 }
     23 
     24 void ProxyDataTypeController::StartAssociating(
     25     const StartCallback& start_callback) {
     26   syncer::SyncMergeResult local_merge_result(type_);
     27   syncer::SyncMergeResult syncer_merge_result(type_);
     28   state_ = RUNNING;
     29   start_callback.Run(DataTypeController::OK,
     30                      local_merge_result,
     31                      syncer_merge_result);
     32 }
     33 
     34 void ProxyDataTypeController::Stop() {
     35   state_ = NOT_RUNNING;
     36 }
     37 
     38 syncer::ModelType ProxyDataTypeController::type() const {
     39   DCHECK(syncer::ProxyTypes().Has(type_));
     40   return type_;
     41 }
     42 
     43 syncer::ModelSafeGroup ProxyDataTypeController::model_safe_group() const {
     44   DCHECK(syncer::ProxyTypes().Has(type_));
     45   return syncer::GROUP_PASSIVE;
     46 }
     47 
     48 std::string ProxyDataTypeController::name() const {
     49   // For logging only.
     50   return syncer::ModelTypeToString(type());
     51 }
     52 
     53 DataTypeController::State ProxyDataTypeController::state() const {
     54   return state_;
     55 }
     56 
     57 void ProxyDataTypeController::OnSingleDatatypeUnrecoverableError(
     58     const tracked_objects::Location& from_here, const std::string& message) {
     59   NOTIMPLEMENTED();
     60 }
     61 
     62 void ProxyDataTypeController::OnModelLoaded() {
     63   NOTIMPLEMENTED();
     64 }
     65 
     66 }  // namespace browser_sync
     67