918617a1f10fe61966a1ab1911317390adff103c
[platform/framework/web/crosswalk.git] / src / components / sync_driver / proxy_data_type_controller.cc
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
9 ProxyDataTypeController::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
18 ProxyDataTypeController::~ProxyDataTypeController() {
19 }
20
21 void ProxyDataTypeController::LoadModels(
22     const ModelLoadCallback& model_load_callback) {
23   state_ = MODEL_LOADED;
24   model_load_callback.Run(type(), syncer::SyncError());
25 }
26
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
37 void ProxyDataTypeController::Stop() {
38   state_ = NOT_RUNNING;
39 }
40
41 syncer::ModelType ProxyDataTypeController::type() const {
42   DCHECK(syncer::ProxyTypes().Has(type_));
43   return type_;
44 }
45
46 syncer::ModelSafeGroup ProxyDataTypeController::model_safe_group() const {
47   DCHECK(syncer::ProxyTypes().Has(type_));
48   return syncer::GROUP_PASSIVE;
49 }
50
51 ChangeProcessor* ProxyDataTypeController::GetChangeProcessor() const {
52   return NULL;
53 }
54
55 std::string ProxyDataTypeController::name() const {
56   // For logging only.
57   return syncer::ModelTypeToString(type());
58 }
59
60 DataTypeController::State ProxyDataTypeController::state() const {
61   return state_;
62 }
63
64 void ProxyDataTypeController::OnSingleDatatypeUnrecoverableError(
65     const tracked_objects::Location& from_here, const std::string& message) {
66   NOTIMPLEMENTED();
67 }
68
69 void ProxyDataTypeController::OnModelLoaded() {
70   NOTIMPLEMENTED();
71 }
72
73 }  // namespace browser_sync