diff options
author | maniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-08 09:32:20 +0000 |
---|---|---|
committer | maniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-08-08 09:34:15 +0000 |
commit | e259b68b35dc28d6f18d0ff7fdba5b380f178f7d (patch) | |
tree | 2cc8aec41e7ffb2f490b4dd0017be46a99a16331 /sync/tools | |
parent | 19c64579a35585fbf0863e64322a2b6b3fa86444 (diff) | |
download | chromium_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.cc | 37 |
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); |