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