1// Copyright 2014 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 "components/sync_driver/proxy_data_type_controller.h" 6 7namespace sync_driver { 8 9ProxyDataTypeController::ProxyDataTypeController( 10 scoped_refptr<base::MessageLoopProxy> ui_thread, 11 syncer::ModelType type) 12 : DataTypeController(ui_thread, base::Closure()), 13 state_(NOT_RUNNING), 14 type_(type) { 15 DCHECK(syncer::ProxyTypes().Has(type_)); 16} 17 18ProxyDataTypeController::~ProxyDataTypeController() { 19} 20 21void ProxyDataTypeController::LoadModels( 22 const ModelLoadCallback& model_load_callback) { 23 state_ = MODEL_LOADED; 24 model_load_callback.Run(type(), syncer::SyncError()); 25} 26 27void ProxyDataTypeController::StartAssociating( 28 const StartCallback& start_callback) { 29 syncer::SyncMergeResult local_merge_result(type_); 30 syncer::SyncMergeResult syncer_merge_result(type_); 31 state_ = RUNNING; 32 start_callback.Run(DataTypeController::OK, 33 local_merge_result, 34 syncer_merge_result); 35} 36 37void ProxyDataTypeController::Stop() { 38 state_ = NOT_RUNNING; 39} 40 41syncer::ModelType ProxyDataTypeController::type() const { 42 DCHECK(syncer::ProxyTypes().Has(type_)); 43 return type_; 44} 45 46syncer::ModelSafeGroup ProxyDataTypeController::model_safe_group() const { 47 DCHECK(syncer::ProxyTypes().Has(type_)); 48 return syncer::GROUP_PASSIVE; 49} 50 51ChangeProcessor* ProxyDataTypeController::GetChangeProcessor() const { 52 return NULL; 53} 54 55std::string ProxyDataTypeController::name() const { 56 // For logging only. 57 return syncer::ModelTypeToString(type()); 58} 59 60DataTypeController::State ProxyDataTypeController::state() const { 61 return state_; 62} 63 64void ProxyDataTypeController::OnSingleDataTypeUnrecoverableError( 65 const syncer::SyncError& error) { 66 NOTIMPLEMENTED(); 67} 68 69void ProxyDataTypeController::OnModelLoaded() { 70 NOTIMPLEMENTED(); 71} 72 73} // namespace sync_driver 74