Upstream version 11.40.271.0
[platform/framework/web/crosswalk.git] / src / components / sync_driver / local_device_info_provider_mock.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/local_device_info_provider_mock.h"
6
7 namespace sync_driver {
8
9 LocalDeviceInfoProviderMock::LocalDeviceInfoProviderMock()
10   : is_initialized_(false) {}
11
12 LocalDeviceInfoProviderMock::LocalDeviceInfoProviderMock(
13     const std::string& guid,
14     const std::string& client_name,
15     const std::string& chrome_version,
16     const std::string& sync_user_agent,
17     const sync_pb::SyncEnums::DeviceType device_type,
18     const std::string& signin_scoped_device_id)
19   : is_initialized_(true) {
20   local_device_info_.reset(
21       new DeviceInfo(
22           guid,
23           client_name,
24           chrome_version,
25           sync_user_agent,
26           device_type,
27           signin_scoped_device_id));
28 }
29
30 LocalDeviceInfoProviderMock::~LocalDeviceInfoProviderMock() {}
31
32 const DeviceInfo* LocalDeviceInfoProviderMock::GetLocalDeviceInfo() const {
33   return is_initialized_ ? local_device_info_.get() : NULL;
34 }
35
36 std::string LocalDeviceInfoProviderMock::GetLocalSyncCacheGUID() const {
37   return local_device_info_.get() ? local_device_info_->guid() : "";
38 }
39
40 void LocalDeviceInfoProviderMock::Initialize(
41     const std::string& cache_guid, const std::string& signin_scoped_device_id) {
42   // Ignored for the mock provider.
43 }
44
45 scoped_ptr<LocalDeviceInfoProvider::Subscription>
46 LocalDeviceInfoProviderMock::RegisterOnInitializedCallback(
47     const base::Closure& callback) {
48   DCHECK(!is_initialized_);
49   return callback_list_.Add(callback);
50 }
51
52 void LocalDeviceInfoProviderMock::SetInitialized(bool is_initialized) {
53   is_initialized_ = is_initialized;
54   if (is_initialized_) {
55     callback_list_.Notify();
56   }
57 }
58
59 }  // namespace sync_driver
60