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

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

Powered by Google App Engine
This is Rietveld 408576698