summaryrefslogtreecommitdiffstats
path: root/sync/tools
diff options
context:
space:
mode:
authormaniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-08 09:32:20 +0000
committermaniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-08 09:34:15 +0000
commite259b68b35dc28d6f18d0ff7fdba5b380f178f7d (patch)
tree2cc8aec41e7ffb2f490b4dd0017be46a99a16331 /sync/tools
parent19c64579a35585fbf0863e64322a2b6b3fa86444 (diff)
downloadchromium_src-e259b68b35dc28d6f18d0ff7fdba5b380f178f7d.zip
chromium_src-e259b68b35dc28d6f18d0ff7fdba5b380f178f7d.tar.gz
chromium_src-e259b68b35dc28d6f18d0ff7fdba5b380f178f7d.tar.bz2
Refactor SyncManager::Init to receive args via a struct.
SyncManager::Init is implemented in several places, takes a whole lot of args, and in the near future is going to get a few more. In some cases, many of the args are optional and it is tedious to pass a bunch of NULLs or empty strings. Use a struct instead of an arg list. BUG= Review URL: https://codereview.chromium.org/451743002 Cr-Commit-Position: refs/heads/master@{#288280} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288280 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/tools')
-rw-r--r--sync/tools/sync_client.cc37
1 files changed, 20 insertions, 17 deletions
diff --git a/sync/tools/sync_client.cc b/sync/tools/sync_client.cc
index 5ae60d1..e936f71 100644
--- a/sync/tools/sync_client.cc
+++ b/sync/tools/sync_client.cc
@@ -430,23 +430,26 @@ int SyncClientMain(int argc, char* argv[]) {
};
CancelationSignal scm_cancelation_signal;
- sync_manager->Init(database_dir.path(),
- WeakHandle<JsEventHandler>(js_event_handler.AsWeakPtr()),
- GURL(kSyncServiceURL),
- post_factory.Pass(),
- workers,
- extensions_activity,
- &change_delegate,
- credentials,
- invalidator_id,
- kRestoredKeyForBootstrapping,
- kRestoredKeystoreKeyForBootstrapping,
- new InternalComponentsFactoryImpl(factory_switches),
- &null_encryptor,
- scoped_ptr<UnrecoverableErrorHandler>(
- new LoggingUnrecoverableErrorHandler).Pass(),
- &LogUnrecoverableErrorContext,
- &scm_cancelation_signal);
+ SyncManager::InitArgs args;
+ args.database_location = database_dir.path();
+ args.event_handler = WeakHandle<JsEventHandler>(js_event_handler.AsWeakPtr());
+ args.service_url = GURL(kSyncServiceURL);
+ args.post_factory = post_factory.Pass();
+ args.workers = workers;
+ args.extensions_activity = extensions_activity;
+ args.change_delegate = &change_delegate;
+ args.credentials = credentials;
+ args.invalidator_client_id = invalidator_id;
+ args.restored_key_for_bootstrapping = kRestoredKeyForBootstrapping;
+ args.restored_keystore_key_for_bootstrapping =
+ kRestoredKeystoreKeyForBootstrapping;
+ args.internal_components_factory.reset(
+ new InternalComponentsFactoryImpl(factory_switches));
+ args.encryptor = &null_encryptor;
+ args.unrecoverable_error_handler.reset(new LoggingUnrecoverableErrorHandler);
+ args.report_unrecoverable_error_function = &LogUnrecoverableErrorContext;
+ args.cancelation_signal = &scm_cancelation_signal;
+ sync_manager->Init(&args);
// TODO(akalin): Avoid passing in model parameters multiple times by
// organizing handling of model types.
invalidator->UpdateCredentials(credentials.email, credentials.sync_token);