| Index: sync/internal_api/sync_manager.h
|
| diff --git a/sync/internal_api/sync_manager.h b/sync/internal_api/sync_manager.h
|
| index 04594fd75de5f7182a3e7c4ab9838ad1a54c0b64..04181feaa1e33185ac19774baaa519eb6f6b29e3 100644
|
| --- a/sync/internal_api/sync_manager.h
|
| +++ b/sync/internal_api/sync_manager.h
|
| @@ -26,11 +26,13 @@
|
| #include "sync/util/weak_handle.h"
|
|
|
| namespace browser_sync {
|
| +struct ConfigurationParams;
|
| class Encryptor;
|
| struct Experiments;
|
| class ExtensionsActivityMonitor;
|
| class JsBackend;
|
| class JsEventHandler;
|
| +class SyncScheduler;
|
|
|
| namespace sessions {
|
| class SyncSessionSnapshot;
|
| @@ -431,24 +433,24 @@ class SyncManager {
|
| // error to call this when we don't have pending keys.
|
| void SetDecryptionPassphrase(const std::string& passphrase);
|
|
|
| - // Puts the SyncScheduler into a mode where no normal nudge or poll traffic
|
| - // will occur, but calls to RequestConfig will be supported. If |callback|
|
| - // is provided, it will be invoked (from the internal SyncScheduler) when
|
| - // the thread has changed to configuration mode.
|
| - void StartConfigurationMode(const base::Closure& callback);
|
| -
|
| - // Switches the mode of operation to CONFIGURATION_MODE and
|
| - // schedules a config task to fetch updates for |types|.
|
| - void RequestConfig(const browser_sync::ModelSafeRoutingInfo& routing_info,
|
| - const syncable::ModelTypeSet& types,
|
| - sync_api::ConfigureReason reason);
|
| -
|
| - void RequestCleanupDisabledTypes(
|
| - const browser_sync::ModelSafeRoutingInfo& routing_info);
|
| -
|
| // Request a clearing of all data on the server
|
| void RequestClearServerData();
|
|
|
| + // Switches the mode of operation to CONFIGURATION_MODE and performs
|
| + // any configuration tasks needed as determined by the params. Once complete,
|
| + // syncer will remain in CONFIGURATION_MODE until StartSyncingNormally is
|
| + // called.
|
| + // |ready_task| is invoked when the configuration completes.
|
| + // |retry_task| is invoked if the configuration job could not immediately
|
| + // execute. |ready_task| will still be called when it eventually
|
| + // does finish.
|
| + void ConfigureSyncer(
|
| + ConfigureReason reason,
|
| + const syncable::ModelTypeSet& types_to_config,
|
| + const browser_sync::ModelSafeRoutingInfo& new_routing_info,
|
| + const base::Closure& ready_task,
|
| + const base::Closure& retry_task);
|
| +
|
| // Adds a listener to be notified of sync events.
|
| // NOTE: It is OK (in fact, it's probably a good idea) to call this before
|
| // having received OnInitializationCompleted.
|
| @@ -543,11 +545,17 @@ class SyncManager {
|
| static const FilePath::CharType kSyncDatabaseFilename[];
|
|
|
| private:
|
| + friend class SyncManagerTest;
|
| FRIEND_TEST_ALL_PREFIXES(SyncManagerTest, NudgeDelayTest);
|
|
|
| // For unit tests.
|
| base::TimeDelta GetNudgeDelayTimeDelta(const syncable::ModelType& model_type);
|
|
|
| + // Set the internal scheduler for testing purposes.
|
| + // TODO(sync): Use dependency injection instead. crbug.com/133061
|
| + void SetSyncSchedulerForTest(
|
| + scoped_ptr<browser_sync::SyncScheduler> scheduler);
|
| +
|
| base::ThreadChecker thread_checker_;
|
|
|
| // An opaque pointer to the nested private class.
|
|
|