• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
7 namespace browser_sync {
8 
ProxyDataTypeController(scoped_refptr<base::MessageLoopProxy> ui_thread,syncer::ModelType type)9 ProxyDataTypeController::ProxyDataTypeController(
10     scoped_refptr<base::MessageLoopProxy> ui_thread,
11     syncer::ModelType type)
12     : DataTypeController(ui_thread, base::Closure(), DisableTypeCallback()),
13       state_(NOT_RUNNING),
14       type_(type) {
15   DCHECK(syncer::ProxyTypes().Has(type_));
16 }
17 
~ProxyDataTypeController()18 ProxyDataTypeController::~ProxyDataTypeController() {
19 }
20 
LoadModels(const ModelLoadCallback & model_load_callback)21 void ProxyDataTypeController::LoadModels(
22     const ModelLoadCallback& model_load_callback) {
23   state_ = MODEL_LOADED;
24   model_load_callback.Run(type(), syncer::SyncError());
25 }
26 
StartAssociating(const StartCallback & start_callback)27 void 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 
Stop()37 void ProxyDataTypeController::Stop() {
38   state_ = NOT_RUNNING;
39 }
40 
type() const41 syncer::ModelType ProxyDataTypeController::type() const {
42   DCHECK(syncer::ProxyTypes().Has(type_));
43   return type_;
44 }
45 
model_safe_group() const46 syncer::ModelSafeGroup ProxyDataTypeController::model_safe_group() const {
47   DCHECK(syncer::ProxyTypes().Has(type_));
48   return syncer::GROUP_PASSIVE;
49 }
50 
GetChangeProcessor() const51 ChangeProcessor* ProxyDataTypeController::GetChangeProcessor() const {
52   return NULL;
53 }
54 
name() const55 std::string ProxyDataTypeController::name() const {
56   // For logging only.
57   return syncer::ModelTypeToString(type());
58 }
59 
state() const60 DataTypeController::State ProxyDataTypeController::state() const {
61   return state_;
62 }
63 
OnSingleDatatypeUnrecoverableError(const tracked_objects::Location & from_here,const std::string & message)64 void ProxyDataTypeController::OnSingleDatatypeUnrecoverableError(
65     const tracked_objects::Location& from_here, const std::string& message) {
66   NOTIMPLEMENTED();
67 }
68 
OnModelLoaded()69 void ProxyDataTypeController::OnModelLoaded() {
70   NOTIMPLEMENTED();
71 }
72 
73 }  // namespace browser_sync
74