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

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: 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/drive_backend/sync_engine_context.h"
11 #include "chrome/browser/sync_file_system/drive_backend/sync_engine_initializer. h"
12 #include "chrome/browser/sync_file_system/sync_status_code.h"
13
14 namespace sync_file_system {
15 namespace drive_backend {
16
17 FakeSyncWorker::FakeSyncWorker(
18 const base::FilePath& base_dir,
19 scoped_ptr<SyncEngineContext> sync_engine_context,
20 leveldb::Env* env_override)
21 : base_dir_(base_dir),
22 sync_engine_context_(sync_engine_context.Pass()),
23 env_override_(env_override),
24 sync_enabled_(true),
25 has_refresh_token_(true),
26 network_available_(true),
27 weak_ptr_factory_(this) {
28 sequence_checker_.DetachFromSequence();
29 }
30
31 FakeSyncWorker::~FakeSyncWorker() {
32 observers_.Clear();
33 }
34
35 void FakeSyncWorker::Initialize() {
36 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
37
38 MetadataDatabase::Create(
39 sync_engine_context_->GetWorkerTaskRunner(),
40 sync_engine_context_->GetFileTaskRunner(),
41 base_dir_.Append(kDatabaseName),
42 env_override_,
43 base::Bind(&FakeSyncWorker::DidCreateMetadataDatabase,
44 weak_ptr_factory_.GetWeakPtr()));
tzik 2014/06/12 07:54:52 Can we drop MetadataDatabase dependency from this
peria 2014/06/12 10:49:30 Done.
45 }
46
47 void FakeSyncWorker::DidCreateMetadataDatabase(
48 SyncStatusCode status,
49 scoped_ptr<MetadataDatabase> metadata_database) {
50 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
51
52 if (metadata_database)
53 sync_engine_context_->SetMetadataDatabase(metadata_database.Pass());
54 }
55
56 void FakeSyncWorker::RegisterOrigin(const GURL& origin,
57 const SyncStatusCallback& callback) {
58 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
59 status_map_[origin] = true;
60 callback.Run(SYNC_STATUS_OK);
61 }
62
63 void FakeSyncWorker::EnableOrigin(const GURL& origin,
64 const SyncStatusCallback& callback) {
65 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
66 status_map_[origin] = true;
67 callback.Run(SYNC_STATUS_OK);
68 }
69
70 void FakeSyncWorker::DisableOrigin(const GURL& origin,
71 const SyncStatusCallback& callback) {
72 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
73 status_map_[origin] = false;
74 callback.Run(SYNC_STATUS_OK);
75 }
76
77 void FakeSyncWorker::UninstallOrigin(const GURL& origin,
nhiroki 2014/06/12 08:00:08 You may want to record uninstalled origins like Re
peria 2014/06/12 10:49:30 Done.
78 RemoteFileSyncService::UninstallFlag flag,
79 const SyncStatusCallback& callback) {
80 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
81 status_map_.erase(origin);
82 callback.Run(SYNC_STATUS_OK);
83 }
84
85 void FakeSyncWorker::ProcessRemoteChange(
86 const SyncFileCallback& callback) {
87 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
88 callback.Run(SYNC_STATUS_OK, fileapi::FileSystemURL());
89 }
90
91 void FakeSyncWorker::SetRemoteChangeProcessor(
92 RemoteChangeProcessorOnWorker* remote_change_processor_on_worker) {
93 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
94 }
95
96 RemoteServiceState FakeSyncWorker::GetCurrentState() const {
97 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
98 return REMOTE_SERVICE_OK;
99 }
100
101 void FakeSyncWorker::GetOriginStatusMap(
102 const RemoteFileSyncService::StatusMapCallback& callback) {
103 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
104
105 scoped_ptr<RemoteFileSyncService::OriginStatusMap>
106 status_map(new RemoteFileSyncService::OriginStatusMap);
107 for (StatusMap::const_iterator itr = status_map_.begin();
108 itr != status_map_.end(); ++itr) {
109 (*status_map)[itr->first] = itr->second ? "Enabled" : "Disabled";
110 }
111 callback.Run(status_map.Pass());
112 }
113
114 scoped_ptr<base::ListValue> FakeSyncWorker::DumpFiles(const GURL& origin) {
115 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
116 return scoped_ptr<base::ListValue>();
117 }
118
119 scoped_ptr<base::ListValue> FakeSyncWorker::DumpDatabase() {
120 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
121 return scoped_ptr<base::ListValue>();
122 }
123
124 void FakeSyncWorker::SetSyncEnabled(bool enabled) {
125 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
126 sync_enabled_ = enabled;
127
128 if (enabled)
129 UpdateServiceState(REMOTE_SERVICE_OK, "Set FakeSyncWorker enabled.");
130 else
131 UpdateServiceState(REMOTE_SERVICE_DISABLED, "Disabled FakeSyncWorker.");
132 }
133
134 void FakeSyncWorker::PromoteDemotedChanges() {
135 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
136 FOR_EACH_OBSERVER(
137 Observer,
138 observers_,
139 OnPendingFileListUpdated(10));
140 }
141
142 void FakeSyncWorker::ApplyLocalChange(
143 const FileChange& local_change,
144 const base::FilePath& local_path,
145 const SyncFileMetadata& local_metadata,
146 const fileapi::FileSystemURL& url,
147 const SyncStatusCallback& callback) {
148 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
149 callback.Run(SYNC_STATUS_OK);
150 }
151
152 void FakeSyncWorker::OnNotificationReceived() {
153 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
154 UpdateServiceState(REMOTE_SERVICE_OK, "Got push notification for Drive.");
155 }
156
157 void FakeSyncWorker::OnReadyToSendRequests(const std::string& account_id) {
158 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
159 has_refresh_token_ = true;
160 UpdateServiceState(REMOTE_SERVICE_OK, "ReadyToSendRequests");
161 }
162
163 void FakeSyncWorker::OnRefreshTokenInvalid() {
164 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
165 has_refresh_token_ = false;
166 UpdateServiceState(REMOTE_SERVICE_OK, "RefreshTokenInvalid");
167 }
168
169 void FakeSyncWorker::OnNetworkChanged(
170 net::NetworkChangeNotifier::ConnectionType type) {
171 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
172 bool new_network_availability =
173 type != net::NetworkChangeNotifier::CONNECTION_NONE;
174 if (network_available_ && !new_network_availability) {
175 UpdateServiceState(REMOTE_SERVICE_TEMPORARY_UNAVAILABLE, "Disconnected");
176 } else if (!network_available_ && new_network_availability) {
177 UpdateServiceState(REMOTE_SERVICE_OK, "Connected");
178 }
179 network_available_ = new_network_availability;
180 }
181
182 drive::DriveServiceInterface* FakeSyncWorker::GetDriveService() {
183 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
184 return sync_engine_context_->GetDriveService();
185 }
186
187 drive::DriveUploaderInterface* FakeSyncWorker::GetDriveUploader() {
188 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
189 return sync_engine_context_->GetDriveUploader();
190 }
191
192 MetadataDatabase* FakeSyncWorker::GetMetadataDatabase() {
193 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
194 return sync_engine_context_->GetMetadataDatabase();
195 }
196
197 SyncTaskManager* FakeSyncWorker::GetSyncTaskManager() {
198 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
199 return NULL;
200 }
201
202 void FakeSyncWorker::DetachFromSequence() {
203 sequence_checker_.DetachFromSequence();
204 }
205
206 void FakeSyncWorker::AddObserver(Observer* observer) {
207 observers_.AddObserver(observer);
208 }
209
210 void FakeSyncWorker::UpdateServiceStateForTesting(
211 RemoteServiceState state,
212 const std::string& description,
213 const base::Closure& closure) {
214 UpdateServiceState(state, description);
215 closure.Run();
216 }
217
218 void FakeSyncWorker::SetHasRefreshToken(bool has_refresh_token) {
219 }
220
221 void FakeSyncWorker::UpdateServiceState(RemoteServiceState state,
222 const std::string& description) {
223 DCHECK(sequence_checker_.CalledOnValidSequencedThread());
224
225 FOR_EACH_OBSERVER(
226 Observer, observers_,
227 UpdateServiceState(state, description));
228 }
229
230
231 } // namespace drive_backend
232 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698