Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/fake_sync_worker.cc

Issue 327323006: [SyncFS] Create FakeSyncWorker class (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work for nits Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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 "chrome/browser/sync_file_system/drive_backend/fake_sync_worker.h"
6
7 #include "base/values.h"
8 #include "chrome/browser/sync_file_system/drive_backend/drive_backend_constants. h"
9 #include "chrome/browser/sync_file_system/drive_backend/metadata_database.h"
10 #include "chrome/browser/sync_file_system/sync_status_code.h"
11
12 namespace sync_file_system {
13 namespace drive_backend {
14
15 FakeSyncWorker::FakeSyncWorker()
16 : sync_enabled_(true),
17 has_refresh_token_(true),
18 network_available_(true),
19 weak_ptr_factory_(this) {
20 sequence_checker_.DetachFromSequence();
21 }
22
23 FakeSyncWorker::~FakeSyncWorker() {
24 observers_.Clear();
25 }
26
27 void FakeSyncWorker::Initialize() {
28 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
29
30 status_map_.clear();
31 // TODO(peria): Set |status_map_| as a fake metadata database.
32 }
33
34 void FakeSyncWorker::RegisterOrigin(const GURL& origin,
35 const SyncStatusCallback& callback) {
36 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
37 // TODO(peria): Check how it should act on installing installed app?
38 status_map_[origin] = REGISTERED;
39 callback.Run(SYNC_STATUS_OK);
40 }
41
42 void FakeSyncWorker::EnableOrigin(const GURL& origin,
43 const SyncStatusCallback& callback) {
44 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
45 // TODO(peria): Check how it should act on enabling non-installed app?
46 status_map_[origin] = ENABLED;
47 callback.Run(SYNC_STATUS_OK);
48 }
49
50 void FakeSyncWorker::DisableOrigin(const GURL& origin,
51 const SyncStatusCallback& callback) {
52 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
53 // TODO(peria): Check how it should act on disabling non-installed app?
54 status_map_[origin] = DISABLED;
55 callback.Run(SYNC_STATUS_OK);
56 }
57
58 void FakeSyncWorker::UninstallOrigin(const GURL& origin,
59 RemoteFileSyncService::UninstallFlag flag,
60 const SyncStatusCallback& callback) {
61 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
62 // TODO(peria): Check how it should act on uninstalling non-installed app?
63 status_map_[origin] = UNINSTALLED;
64 callback.Run(SYNC_STATUS_OK);
65 }
66
67 void FakeSyncWorker::ProcessRemoteChange(
68 const SyncFileCallback& callback) {
69 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
70 callback.Run(SYNC_STATUS_OK, fileapi::FileSystemURL());
71 }
72
73 void FakeSyncWorker::SetRemoteChangeProcessor(
74 RemoteChangeProcessorOnWorker* remote_change_processor_on_worker) {
75 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
76 }
77
78 RemoteServiceState FakeSyncWorker::GetCurrentState() const {
79 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
80 return REMOTE_SERVICE_OK;
81 }
82
83 void FakeSyncWorker::GetOriginStatusMap(
84 const RemoteFileSyncService::StatusMapCallback& callback) {
85 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
86
87 scoped_ptr<RemoteFileSyncService::OriginStatusMap>
88 status_map(new RemoteFileSyncService::OriginStatusMap);
89 for (StatusMap::const_iterator itr = status_map_.begin();
90 itr != status_map_.end(); ++itr) {
91 switch (itr->second) {
92 case REGISTERED:
93 (*status_map)[itr->first] = "Registered";
94 break;
95 case ENABLED:
96 (*status_map)[itr->first] = "Enabled";
97 break;
98 case DISABLED:
99 (*status_map)[itr->first] = "Disabled";
100 break;
101 case UNINSTALLED:
102 (*status_map)[itr->first] = "Uninstalled";
103 break;
104 default:
105 (*status_map)[itr->first] = "Unknown";
106 break;
107 }
108 }
109 callback.Run(status_map.Pass());
110 }
111
112 scoped_ptr<base::ListValue> FakeSyncWorker::DumpFiles(const GURL& origin) {
113 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
114 return scoped_ptr<base::ListValue>();
115 }
116
117 scoped_ptr<base::ListValue> FakeSyncWorker::DumpDatabase() {
118 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
119 return scoped_ptr<base::ListValue>();
120 }
121
122 void FakeSyncWorker::SetSyncEnabled(bool enabled) {
123 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
124 sync_enabled_ = enabled;
125
126 if (enabled)
127 UpdateServiceState(REMOTE_SERVICE_OK, "Set FakeSyncWorker enabled.");
128 else
129 UpdateServiceState(REMOTE_SERVICE_DISABLED, "Disabled FakeSyncWorker.");
130 }
131
132 void FakeSyncWorker::PromoteDemotedChanges() {
133 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
134 FOR_EACH_OBSERVER(
135 Observer,
136 observers_,
137 OnPendingFileListUpdated(10));
138 }
139
140 void FakeSyncWorker::ApplyLocalChange(
141 const FileChange& local_change,
142 const base::FilePath& local_path,
143 const SyncFileMetadata& local_metadata,
144 const fileapi::FileSystemURL& url,
145 const SyncStatusCallback& callback) {
146 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
147 callback.Run(SYNC_STATUS_OK);
148 }
149
150 void FakeSyncWorker::OnNotificationReceived() {
151 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
152 UpdateServiceState(REMOTE_SERVICE_OK, "Got push notification for Drive.");
153 }
154
155 void FakeSyncWorker::OnReadyToSendRequests(const std::string& account_id) {
156 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
157 has_refresh_token_ = true;
158 UpdateServiceState(REMOTE_SERVICE_OK, "ReadyToSendRequests");
159 }
160
161 void FakeSyncWorker::OnRefreshTokenInvalid() {
162 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
163 has_refresh_token_ = false;
164 UpdateServiceState(REMOTE_SERVICE_OK, "RefreshTokenInvalid");
165 }
166
167 void FakeSyncWorker::OnNetworkChanged(
168 net::NetworkChangeNotifier::ConnectionType type) {
169 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
170 bool new_network_availability =
171 type != net::NetworkChangeNotifier::CONNECTION_NONE;
172 if (network_available_ && !new_network_availability) {
173 UpdateServiceState(REMOTE_SERVICE_TEMPORARY_UNAVAILABLE, "Disconnected");
174 } else if (!network_available_ && new_network_availability) {
175 UpdateServiceState(REMOTE_SERVICE_OK, "Connected");
176 }
177 network_available_ = new_network_availability;
178 }
179
180 drive::DriveServiceInterface* FakeSyncWorker::GetDriveService() {
181 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
182 return NULL;
183 }
184
185 drive::DriveUploaderInterface* FakeSyncWorker::GetDriveUploader() {
186 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
187 return NULL;
188 }
189
190 MetadataDatabase* FakeSyncWorker::GetMetadataDatabase() {
191 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
192 return NULL;
193 }
194
195 SyncTaskManager* FakeSyncWorker::GetSyncTaskManager() {
196 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
197 return NULL;
198 }
199
200 void FakeSyncWorker::DetachFromSequence() {
201 sequence_checker_.DetachFromSequence();
202 }
203
204 void FakeSyncWorker::AddObserver(Observer* observer) {
205 observers_.AddObserver(observer);
206 }
207
208 void FakeSyncWorker::UpdateServiceStateForTesting(
209 RemoteServiceState state,
210 const std::string& description,
211 const base::Closure& closure) {
212 UpdateServiceState(state, description);
213 closure.Run();
214 }
215
216 void FakeSyncWorker::SetHasRefreshToken(bool has_refresh_token) {
217 }
218
219 void FakeSyncWorker::UpdateServiceState(RemoteServiceState state,
220 const std::string& description) {
221 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
222
223 FOR_EACH_OBSERVER(
224 Observer, observers_,
225 UpdateServiceState(state, description));
226 }
227
228 } // namespace drive_backend
229 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698