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

Unified Diff: sync/internal_api/sync_manager_impl.cc

Issue 451743002: Pass args to SyncManager::Init via a struct. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use scoped_ptr instead of raw pointer. 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/internal_api/sync_manager_impl.h ('k') | sync/internal_api/sync_manager_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/internal_api/sync_manager_impl.cc
diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
index ef614cdc05a97ff6c4c8b71b59735b97a832b56e..30bbafd2b4f5c72ac351eb3f595e6fdf1ea5330e 100644
--- a/sync/internal_api/sync_manager_impl.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -303,53 +303,38 @@ void SyncManagerImpl::ConfigureSyncer(
scheduler_->ScheduleConfiguration(params);
}
-void SyncManagerImpl::Init(
- const base::FilePath& database_location,
- const WeakHandle<JsEventHandler>& event_handler,
- const GURL& service_url,
- scoped_ptr<HttpPostProviderFactory> post_factory,
- const std::vector<scoped_refptr<ModelSafeWorker> >& workers,
- ExtensionsActivity* extensions_activity,
- SyncManager::ChangeDelegate* change_delegate,
- const SyncCredentials& credentials,
- const std::string& invalidator_client_id,
- const std::string& restored_key_for_bootstrapping,
- const std::string& restored_keystore_key_for_bootstrapping,
- InternalComponentsFactory* internal_components_factory,
- Encryptor* encryptor,
- scoped_ptr<UnrecoverableErrorHandler> unrecoverable_error_handler,
- ReportUnrecoverableErrorFunction report_unrecoverable_error_function,
- CancelationSignal* cancelation_signal) {
+void SyncManagerImpl::Init(InitArgs* args) {
CHECK(!initialized_);
DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK(post_factory.get());
- DCHECK(!credentials.email.empty());
- DCHECK(!credentials.sync_token.empty());
- DCHECK(!credentials.scope_set.empty());
- DCHECK(cancelation_signal);
+ DCHECK(args->post_factory.get());
+ DCHECK(!args->credentials.email.empty());
+ DCHECK(!args->credentials.sync_token.empty());
+ DCHECK(!args->credentials.scope_set.empty());
+ DCHECK(args->cancelation_signal);
DVLOG(1) << "SyncManager starting Init...";
weak_handle_this_ = MakeWeakHandle(weak_ptr_factory_.GetWeakPtr());
- change_delegate_ = change_delegate;
+ change_delegate_ = args->change_delegate;
AddObserver(&js_sync_manager_observer_);
- SetJsEventHandler(event_handler);
+ SetJsEventHandler(args->event_handler);
AddObserver(&debug_info_event_listener_);
- database_path_ = database_location.Append(
+ database_path_ = args->database_location.Append(
syncable::Directory::kSyncDatabaseFilename);
- unrecoverable_error_handler_ = unrecoverable_error_handler.Pass();
- report_unrecoverable_error_function_ = report_unrecoverable_error_function;
+ unrecoverable_error_handler_ = args->unrecoverable_error_handler.Pass();
+ report_unrecoverable_error_function_ =
+ args->report_unrecoverable_error_function;
allstatus_.SetHasKeystoreKey(
- !restored_keystore_key_for_bootstrapping.empty());
+ !args->restored_keystore_key_for_bootstrapping.empty());
sync_encryption_handler_.reset(new SyncEncryptionHandlerImpl(
&share_,
- encryptor,
- restored_key_for_bootstrapping,
- restored_keystore_key_for_bootstrapping));
+ args->encryptor,
+ args->restored_key_for_bootstrapping,
+ args->restored_keystore_key_for_bootstrapping));
sync_encryption_handler_->AddObserver(this);
sync_encryption_handler_->AddObserver(&debug_info_event_listener_);
sync_encryption_handler_->AddObserver(&js_sync_encryption_handler_observer_);
@@ -358,8 +343,9 @@ void SyncManagerImpl::Init(
DCHECK(absolute_db_path.IsAbsolute());
scoped_ptr<syncable::DirectoryBackingStore> backing_store =
- internal_components_factory->BuildDirectoryBackingStore(
- credentials.email, absolute_db_path).Pass();
+ args->internal_components_factory->BuildDirectoryBackingStore(
+ args->credentials.email,
+ absolute_db_path).Pass();
DCHECK(backing_store.get());
share_.directory.reset(
@@ -369,13 +355,13 @@ void SyncManagerImpl::Init(
report_unrecoverable_error_function_,
sync_encryption_handler_.get(),
sync_encryption_handler_->GetCryptographerUnsafe()));
- share_.sync_credentials = credentials;
+ share_.sync_credentials = args->credentials;
// UserShare is accessible to a lot of code that doesn't need access to the
// sync token so clear sync_token from the UserShare.
share_.sync_credentials.sync_token = "";
- const std::string& username = credentials.email;
+ const std::string& username = args->credentials.email;
DVLOG(1) << "Username: " << username;
if (!OpenDirectory(username)) {
NotifyInitializationFailure();
@@ -384,11 +370,11 @@ void SyncManagerImpl::Init(
}
connection_manager_.reset(new SyncAPIServerConnectionManager(
- service_url.host() + service_url.path(),
- service_url.EffectiveIntPort(),
- service_url.SchemeIsSecure(),
- post_factory.release(),
- cancelation_signal));
+ args->service_url.host() + args->service_url.path(),
+ args->service_url.EffectiveIntPort(),
+ args->service_url.SchemeIsSecure(),
+ args->post_factory.release(),
+ args->cancelation_signal));
connection_manager_->set_client_id(directory()->cache_guid());
connection_manager_->AddListener(this);
@@ -396,10 +382,11 @@ void SyncManagerImpl::Init(
DVLOG(1) << "Setting sync client ID: " << sync_id;
allstatus_.SetSyncId(sync_id);
- DVLOG(1) << "Setting invalidator client ID: " << invalidator_client_id;
- allstatus_.SetInvalidatorClientId(invalidator_client_id);
+ DVLOG(1) << "Setting invalidator client ID: " << args->invalidator_client_id;
+ allstatus_.SetInvalidatorClientId(args->invalidator_client_id);
- model_type_registry_.reset(new ModelTypeRegistry(workers, directory(), this));
+ model_type_registry_.reset(
+ new ModelTypeRegistry(args->workers, directory(), this));
// Bind the SyncContext WeakPtr to this thread. This helps us crash earlier
// if the pointer is misused in debug mode.
@@ -414,17 +401,19 @@ void SyncManagerImpl::Init(
std::vector<SyncEngineEventListener*> listeners;
listeners.push_back(&allstatus_);
listeners.push_back(this);
- session_context_ = internal_components_factory->BuildContext(
- connection_manager_.get(),
- directory(),
- extensions_activity,
- listeners,
- &debug_info_event_listener_,
- model_type_registry_.get(),
- invalidator_client_id).Pass();
- session_context_->set_account_name(credentials.email);
- scheduler_ = internal_components_factory->BuildScheduler(
- name_, session_context_.get(), cancelation_signal).Pass();
+ session_context_ =
+ args->internal_components_factory->BuildContext(
+ connection_manager_.get(),
+ directory(),
+ args->extensions_activity,
+ listeners,
+ &debug_info_event_listener_,
+ model_type_registry_.get(),
+ args->invalidator_client_id)
+ .Pass();
+ session_context_->set_account_name(args->credentials.email);
+ scheduler_ = args->internal_components_factory->BuildScheduler(
+ name_, session_context_.get(), args->cancelation_signal).Pass();
scheduler_->Start(SyncScheduler::CONFIGURATION_MODE);
@@ -434,7 +423,7 @@ void SyncManagerImpl::Init(
net::NetworkChangeNotifier::AddConnectionTypeObserver(this);
observing_network_connectivity_changes_ = true;
- UpdateCredentials(credentials);
+ UpdateCredentials(args->credentials);
NotifyInitializationSuccess();
}
« no previous file with comments | « sync/internal_api/sync_manager_impl.h ('k') | sync/internal_api/sync_manager_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698