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.
5 #include "components/sync_driver/proxy_data_type_controller.h"
7 namespace browser_sync {
9 ProxyDataTypeController::ProxyDataTypeController(
10 scoped_refptr<base::MessageLoopProxy> ui_thread,
11 syncer::ModelType type)
12 : DataTypeController(ui_thread, base::Closure()),
15 DCHECK(syncer::ProxyTypes().Has(type_));
18 ProxyDataTypeController::~ProxyDataTypeController() {
21 void ProxyDataTypeController::LoadModels(
22 const ModelLoadCallback& model_load_callback) {
23 state_ = MODEL_LOADED;
24 model_load_callback.Run(type(), syncer::SyncError());
27 void ProxyDataTypeController::StartAssociating(
28 const StartCallback& start_callback) {
29 syncer::SyncMergeResult local_merge_result(type_);
30 syncer::SyncMergeResult syncer_merge_result(type_);
32 start_callback.Run(DataTypeController::OK,
37 void ProxyDataTypeController::Stop() {
41 syncer::ModelType ProxyDataTypeController::type() const {
42 DCHECK(syncer::ProxyTypes().Has(type_));
46 syncer::ModelSafeGroup ProxyDataTypeController::model_safe_group() const {
47 DCHECK(syncer::ProxyTypes().Has(type_));
48 return syncer::GROUP_PASSIVE;
51 ChangeProcessor* ProxyDataTypeController::GetChangeProcessor() const {
55 std::string ProxyDataTypeController::name() const {
57 return syncer::ModelTypeToString(type());
60 DataTypeController::State ProxyDataTypeController::state() const {
64 void ProxyDataTypeController::OnSingleDatatypeUnrecoverableError(
65 const tracked_objects::Location& from_here, const std::string& message) {
69 void ProxyDataTypeController::OnModelLoaded() {
73 } // namespace browser_sync