Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / sync / glue / proxy_data_type_controller.cc
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