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

Side by Side Diff: sync/internal_api/public/test/fake_sync_manager.h

Issue 10824161: [Sync] Avoid unregistering object IDs on shutdown (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Work around brittle unit test Created 8 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
« no previous file with comments | « sync/internal_api/public/sync_manager.h ('k') | sync/internal_api/sync_manager_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 SYNC_INTERNAL_API_PUBLIC_TEST_FAKE_SYNC_MANAGER_H_ 5 #ifndef SYNC_INTERNAL_API_PUBLIC_TEST_FAKE_SYNC_MANAGER_H_
6 #define SYNC_INTERNAL_API_PUBLIC_TEST_FAKE_SYNC_MANAGER_H_ 6 #define SYNC_INTERNAL_API_PUBLIC_TEST_FAKE_SYNC_MANAGER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/observer_list.h" 11 #include "base/observer_list.h"
12 #include "sync/internal_api/public/sync_manager.h" 12 #include "sync/internal_api/public/sync_manager.h"
13 #include "sync/notifier/sync_notifier_helper.h" 13 #include "sync/notifier/sync_notifier_registrar.h"
14 14
15 namespace base { 15 namespace base {
16 class SequencedTaskRunner; 16 class SequencedTaskRunner;
17 } 17 }
18 18
19 namespace syncer { 19 namespace syncer {
20 20
21 class FakeSyncManager : public SyncManager { 21 class FakeSyncManager : public SyncManager {
22 public: 22 public:
23 explicit FakeSyncManager(); 23 // |initial_sync_ended_types|: The set of types that have initial_sync_ended
24 // set to true. This value will be used by InitialSyncEndedTypes() until the
25 // next configuration is performed.
26 //
27 // |progress_marker_types|: The set of types that have valid progress
28 // markers. This will be used by GetTypesWithEmptyProgressMarkerToken() until
29 // the next configuration is performed.
30 //
31 // |configure_fail_types|: The set of types that will fail
32 // configuration. Once ConfigureSyncer is called, the
33 // |initial_sync_ended_types_| and |progress_marker_types_| will be updated
34 // to include those types that didn't fail.
35 FakeSyncManager(ModelTypeSet initial_sync_ended_types,
36 ModelTypeSet progress_marker_types,
37 ModelTypeSet configure_fail_types);
24 virtual ~FakeSyncManager(); 38 virtual ~FakeSyncManager();
25 39
26 // The set of types that have initial_sync_ended set to true. This value will
27 // be used by InitialSyncEndedTypes() until the next configuration is
28 // performed.
29 void set_initial_sync_ended_types(ModelTypeSet types);
30
31 // The set of types that have valid progress markers. This will be used by
32 // GetTypesWithEmptyProgressMarkerToken() until the next configuration is
33 // performed.
34 void set_progress_marker_types(ModelTypeSet types);
35
36 // The set of types that will fail configuration. Once ConfigureSyncer is
37 // called, the |initial_sync_ended_types_| and
38 // |progress_marker_types_| will be updated to include those types
39 // that didn't fail.
40 void set_configure_fail_types(ModelTypeSet types);
41
42 // Returns those types that have been cleaned (purged from the directory) 40 // Returns those types that have been cleaned (purged from the directory)
43 // since the last call to GetAndResetCleanedTypes(), or since startup if never 41 // since the last call to GetAndResetCleanedTypes(), or since startup if never
44 // called. 42 // called.
45 ModelTypeSet GetAndResetCleanedTypes(); 43 ModelTypeSet GetAndResetCleanedTypes();
46 44
47 // Returns those types that have been downloaded since the last call to 45 // Returns those types that have been downloaded since the last call to
48 // GetAndResetDownloadedTypes(), or since startup if never called. 46 // GetAndResetDownloadedTypes(), or since startup if never called.
49 ModelTypeSet GetAndResetDownloadedTypes(); 47 ModelTypeSet GetAndResetDownloadedTypes();
50 48
51 // Returns those types that have been marked as enabled since the 49 // Returns those types that have been marked as enabled since the
52 // last call to GetAndResetEnabledTypes(), or since startup if never 50 // last call to GetAndResetEnabledTypes(), or since startup if never
53 // called. 51 // called.
54 ModelTypeSet GetAndResetEnabledTypes(); 52 ModelTypeSet GetAndResetEnabledTypes();
55 53
56 // Posts a method to invalidate the given IDs on the sync thread. 54 // Posts a method to invalidate the given IDs on the sync thread.
57 void Invalidate(const ObjectIdPayloadMap& id_payloads, 55 void Invalidate(const ObjectIdPayloadMap& id_payloads,
58 IncomingNotificationSource source); 56 IncomingNotificationSource source);
59 57
60 // Posts a method to enable notifications on the sync thread. 58 // Posts a method to enable notifications on the sync thread.
61 void EnableNotifications(); 59 void EnableNotifications();
62 60
63 // Posts a method to disable notifications on the sync thread. 61 // Posts a method to disable notifications on the sync thread.
64 void DisableNotifications(NotificationsDisabledReason reason); 62 void DisableNotifications(NotificationsDisabledReason reason);
65 63
64 // Block until the sync thread has finished processing any pending messages.
65 void WaitForSyncThread();
66
66 // SyncManager implementation. 67 // SyncManager implementation.
67 // Note: we treat whatever message loop this is called from as the sync 68 // Note: we treat whatever message loop this is called from as the sync
68 // loop for purposes of callbacks. 69 // loop for purposes of callbacks.
69 virtual void Init( 70 virtual void Init(
70 const FilePath& database_location, 71 const FilePath& database_location,
71 const WeakHandle<JsEventHandler>& event_handler, 72 const WeakHandle<JsEventHandler>& event_handler,
72 const std::string& sync_server_and_path, 73 const std::string& sync_server_and_path,
73 int sync_server_port, 74 int sync_server_port,
74 bool use_ssl, 75 bool use_ssl,
75 const scoped_refptr<base::TaskRunner>& blocking_task_runner, 76 const scoped_refptr<base::TaskRunner>& blocking_task_runner,
(...skipping 11 matching lines...) Expand all
87 UnrecoverableErrorHandler* unrecoverable_error_handler, 88 UnrecoverableErrorHandler* unrecoverable_error_handler,
88 ReportUnrecoverableErrorFunction 89 ReportUnrecoverableErrorFunction
89 report_unrecoverable_error_function) OVERRIDE; 90 report_unrecoverable_error_function) OVERRIDE;
90 virtual void ThrowUnrecoverableError() OVERRIDE; 91 virtual void ThrowUnrecoverableError() OVERRIDE;
91 virtual ModelTypeSet InitialSyncEndedTypes() OVERRIDE; 92 virtual ModelTypeSet InitialSyncEndedTypes() OVERRIDE;
92 virtual ModelTypeSet GetTypesWithEmptyProgressMarkerToken( 93 virtual ModelTypeSet GetTypesWithEmptyProgressMarkerToken(
93 ModelTypeSet types) OVERRIDE; 94 ModelTypeSet types) OVERRIDE;
94 virtual bool PurgePartiallySyncedTypes() OVERRIDE; 95 virtual bool PurgePartiallySyncedTypes() OVERRIDE;
95 virtual void UpdateCredentials(const SyncCredentials& credentials) OVERRIDE; 96 virtual void UpdateCredentials(const SyncCredentials& credentials) OVERRIDE;
96 virtual void UpdateEnabledTypes(const ModelTypeSet& types) OVERRIDE; 97 virtual void UpdateEnabledTypes(const ModelTypeSet& types) OVERRIDE;
98 virtual void RegisterInvalidationHandler(
99 SyncNotifierObserver* handler) OVERRIDE;
97 virtual void UpdateRegisteredInvalidationIds( 100 virtual void UpdateRegisteredInvalidationIds(
98 SyncNotifierObserver* handler, 101 SyncNotifierObserver* handler,
99 const ObjectIdSet& ids) OVERRIDE; 102 const ObjectIdSet& ids) OVERRIDE;
103 virtual void UnregisterInvalidationHandler(
104 SyncNotifierObserver* handler) OVERRIDE;
100 virtual void StartSyncingNormally( 105 virtual void StartSyncingNormally(
101 const ModelSafeRoutingInfo& routing_info) OVERRIDE; 106 const ModelSafeRoutingInfo& routing_info) OVERRIDE;
102 virtual void SetEncryptionPassphrase(const std::string& passphrase, 107 virtual void SetEncryptionPassphrase(const std::string& passphrase,
103 bool is_explicit) OVERRIDE; 108 bool is_explicit) OVERRIDE;
104 virtual void SetDecryptionPassphrase(const std::string& passphrase) OVERRIDE; 109 virtual void SetDecryptionPassphrase(const std::string& passphrase) OVERRIDE;
105 virtual void ConfigureSyncer( 110 virtual void ConfigureSyncer(
106 ConfigureReason reason, 111 ConfigureReason reason,
107 const ModelTypeSet& types_to_config, 112 const ModelTypeSet& types_to_config,
108 const ModelSafeRoutingInfo& new_routing_info, 113 const ModelSafeRoutingInfo& new_routing_info,
109 const base::Closure& ready_task, 114 const base::Closure& ready_task,
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // have their progress markers or initial_sync_ended bits set. 148 // have their progress markers or initial_sync_ended bits set.
144 ModelTypeSet configure_fail_types_; 149 ModelTypeSet configure_fail_types_;
145 // The set of types that have been cleaned up. 150 // The set of types that have been cleaned up.
146 ModelTypeSet cleaned_types_; 151 ModelTypeSet cleaned_types_;
147 // The set of types that have been downloaded. 152 // The set of types that have been downloaded.
148 ModelTypeSet downloaded_types_; 153 ModelTypeSet downloaded_types_;
149 // The set of types that have been enabled. 154 // The set of types that have been enabled.
150 ModelTypeSet enabled_types_; 155 ModelTypeSet enabled_types_;
151 156
152 // Faked notifier state. 157 // Faked notifier state.
153 SyncNotifierHelper notifier_helper_; 158 SyncNotifierRegistrar registrar_;
154 159
155 DISALLOW_COPY_AND_ASSIGN(FakeSyncManager); 160 DISALLOW_COPY_AND_ASSIGN(FakeSyncManager);
156 }; 161 };
157 162
158 } // namespace syncer 163 } // namespace syncer
159 164
160 #endif // SYNC_INTERNAL_API_PUBLIC_TEST_FAKE_SYNC_MANAGER_H_ 165 #endif // SYNC_INTERNAL_API_PUBLIC_TEST_FAKE_SYNC_MANAGER_H_
OLDNEW
« no previous file with comments | « sync/internal_api/public/sync_manager.h ('k') | sync/internal_api/sync_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698