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

Side by Side Diff: chrome/browser/sync/profile_sync_service_harness.h

Issue 10197004: [Sync] Convert SyncSessionSnapshot to a copy-able class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments. Created 8 years, 8 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_HARNESS_H_ 5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_HARNESS_H_
6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_HARNESS_H_ 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_HARNESS_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/basictypes.h" 12 #include "base/basictypes.h"
13 #include "base/compiler_specific.h" 13 #include "base/compiler_specific.h"
14 #include "chrome/browser/sync/backend_migrator.h" 14 #include "chrome/browser/sync/backend_migrator.h"
15 #include "chrome/browser/sync/profile_sync_service.h" 15 #include "chrome/browser/sync/profile_sync_service.h"
16 #include "chrome/browser/sync/profile_sync_service_observer.h" 16 #include "chrome/browser/sync/profile_sync_service_observer.h"
17 #include "chrome/browser/sync/retry_verifier.h" 17 #include "chrome/browser/sync/retry_verifier.h"
18 #include "sync/syncable/model_type.h" 18 #include "sync/syncable/model_type.h"
19 19
20 class Profile; 20 class Profile;
21 21
22 namespace browser_sync { 22 namespace browser_sync {
23 namespace sessions { 23 namespace sessions {
24 struct SyncSessionSnapshot; 24 class SyncSessionSnapshot;
25 } 25 }
26 } 26 }
27 27
28 // An instance of this class is basically our notion of a "sync client" for 28 // An instance of this class is basically our notion of a "sync client" for
29 // automation purposes. It harnesses the ProfileSyncService member of the 29 // automation purposes. It harnesses the ProfileSyncService member of the
30 // profile passed to it on construction and automates certain things like setup 30 // profile passed to it on construction and automates certain things like setup
31 // and authentication. It provides ways to "wait" adequate periods of time for 31 // and authentication. It provides ways to "wait" adequate periods of time for
32 // several clients to get to the same state. 32 // several clients to get to the same state.
33 class ProfileSyncServiceHarness 33 class ProfileSyncServiceHarness
34 : public ProfileSyncServiceObserver, 34 : public ProfileSyncServiceObserver,
35 public browser_sync::MigrationObserver { 35 public browser_sync::MigrationObserver {
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 // Disables sync for a particular sync datatype. Returns true on success. 154 // Disables sync for a particular sync datatype. Returns true on success.
155 bool DisableSyncForDatatype(syncable::ModelType datatype); 155 bool DisableSyncForDatatype(syncable::ModelType datatype);
156 156
157 // Enables sync for all sync datatypes. Returns true on success. 157 // Enables sync for all sync datatypes. Returns true on success.
158 bool EnableSyncForAllDatatypes(); 158 bool EnableSyncForAllDatatypes();
159 159
160 // Disables sync for all sync datatypes. Returns true on success. 160 // Disables sync for all sync datatypes. Returns true on success.
161 bool DisableSyncForAllDatatypes(); 161 bool DisableSyncForAllDatatypes();
162 162
163 // Returns a snapshot of the current sync session. 163 // Returns a snapshot of the current sync session.
164 const browser_sync::sessions::SyncSessionSnapshot* 164 browser_sync::sessions::SyncSessionSnapshot GetLastSessionSnapshot() const;
165 GetLastSessionSnapshot() const;
166 165
167 // Encrypt the datatype |type|. This method will block while the sync backend 166 // Encrypt the datatype |type|. This method will block while the sync backend
168 // host performs the encryption or a timeout is reached. 167 // host performs the encryption or a timeout is reached.
169 // PostCondition: 168 // PostCondition:
170 // returns: True if |type| was encrypted and we are fully synced. 169 // returns: True if |type| was encrypted and we are fully synced.
171 // False if we timed out. 170 // False if we timed out.
172 bool EnableEncryptionForType(syncable::ModelType type); 171 bool EnableEncryptionForType(syncable::ModelType type);
173 172
174 // Wait until |type| is encrypted or we time out. 173 // Wait until |type| is encrypted or we time out.
175 // PostCondition: 174 // PostCondition:
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 282
284 // Finite state machine for controlling state. Returns true only if a state 283 // Finite state machine for controlling state. Returns true only if a state
285 // change has taken place. 284 // change has taken place.
286 bool RunStateChangeMachine(); 285 bool RunStateChangeMachine();
287 286
288 // Returns true if a status change took place, false on timeout. 287 // Returns true if a status change took place, false on timeout.
289 bool AwaitStatusChangeWithTimeout(int timeout_milliseconds, 288 bool AwaitStatusChangeWithTimeout(int timeout_milliseconds,
290 const std::string& reason); 289 const std::string& reason);
291 290
292 // A helper for implementing IsDataSynced() and IsFullySynced(). 291 // A helper for implementing IsDataSynced() and IsFullySynced().
293 bool IsDataSyncedImpl(const browser_sync::sessions::SyncSessionSnapshot*); 292 bool IsDataSyncedImpl(
293 const browser_sync::sessions::SyncSessionSnapshot& snapshot);
294 294
295 // Returns true if the sync client has no unsynced items. 295 // Returns true if the sync client has no unsynced items.
296 bool IsDataSynced(); 296 bool IsDataSynced();
297 297
298 // Returns true if the sync client has no unsynced items and its progress 298 // Returns true if the sync client has no unsynced items and its progress
299 // markers are believed to be up to date. 299 // markers are believed to be up to date.
300 // 300 //
301 // Although we can't detect when commits from other clients invalidate our 301 // Although we can't detect when commits from other clients invalidate our
302 // local progress markers, we do know when our own commits have invalidated 302 // local progress markers, we do know when our own commits have invalidated
303 // our timestmaps. This check returns true when this client has, to the best 303 // our timestmaps. This check returns true when this client has, to the best
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 const std::string profile_debug_name_; 356 const std::string profile_debug_name_;
357 357
358 // Keeps track of the number of attempts at exponential backoff and its 358 // Keeps track of the number of attempts at exponential backoff and its
359 // related bookkeeping information for verification. 359 // related bookkeeping information for verification.
360 browser_sync::RetryVerifier retry_verifier_; 360 browser_sync::RetryVerifier retry_verifier_;
361 361
362 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceHarness); 362 DISALLOW_COPY_AND_ASSIGN(ProfileSyncServiceHarness);
363 }; 363 };
364 364
365 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_HARNESS_H_ 365 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_HARNESS_H_
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.cc ('k') | chrome/browser/sync/profile_sync_service_harness.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698