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

Side by Side Diff: chrome/browser/sync/test/integration/migration_watcher.h

Issue 490643004: sync: Refactor migration integration tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 #ifndef CHROME_BROWSER_SYNC_TEST_INTEGRATION_MIGRATION_WATCHER_H_
6 #define CHROME_BROWSER_SYNC_TEST_INTEGRATION_MIGRATION_WATCHER_H_
7
8 #include "base/macros.h"
9 #include "chrome/browser/sync/backend_migrator.h"
10 #include "sync/internal_api/public/base/model_type.h"
11
12 class ProfileSyncServiceHarness;
13 class MigrationWaiter;
14
15 // Helper class to observe and record migration state.
16 class MigrationWatcher : public browser_sync::MigrationObserver {
17 public:
18 explicit MigrationWatcher(ProfileSyncServiceHarness* harness);
19 virtual ~MigrationWatcher();
20
21 // Returns true if the observed profile has a migration in progress.
22 bool HasPendingBackendMigration() const;
23
24 // Returns the set of types this class has observed being migrated.
25 syncer::ModelTypeSet GetMigratedTypes() const;
26
27 // Implementation of browser_sync::MigrationObserver.
28 virtual void OnMigrationStateChange() OVERRIDE;
29
30 // Registers the |waiter| to receive callbacks on migration state change.
31 void set_migration_waiter(MigrationWaiter* waiter);
32
33 // Unregisters the current MigrationWaiter, if any.
34 void clear_migration_waiter();
35
36 private:
37 // The ProfileSyncServiceHarness to watch.
38 ProfileSyncServiceHarness* harness_;
Nicolas Zea 2014/08/20 22:24:10 nit: make these three const?
rlarocque 2014/08/21 00:41:20 pending_types_, migrated_types_, and MigrationWait
39
40 // The set of data types currently undergoing migration.
41 syncer::ModelTypeSet pending_types_;
42
43 // The set of data types for which migration is complete. Accumulated by
44 // successive calls to OnMigrationStateChanged.
45 syncer::ModelTypeSet migrated_types_;
46
47 // The MigrationWatier that is waiting for this migration to complete.
48 MigrationWaiter* migration_waiter_;
49
50 DISALLOW_COPY_AND_ASSIGN(MigrationWatcher);
51 };
52
53 #endif // CHROME_BROWSER_SYNC_TEST_INTEGRATION_MIGRATION_WATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698