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

Unified Diff: sync/internal_api/sync_manager_impl.cc

Issue 10704214: [Sync] Refactor sync manager into interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address Comments Created 8 years, 5 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
Index: sync/internal_api/sync_manager_impl.cc
diff --git a/sync/internal_api/sync_manager.cc b/sync/internal_api/sync_manager_impl.cc
similarity index 91%
rename from sync/internal_api/sync_manager.cc
rename to sync/internal_api/sync_manager_impl.cc
index e8ba9dd45dcadeb6335191a7f8cb8a61723361e8..107ed606e743b2bdbd91d550541e84f238a5b35f 100644
--- a/sync/internal_api/sync_manager.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "sync/internal_api/public/sync_manager.h"
+#include "sync/internal_api/sync_manager_impl.h"
#include <string>
@@ -32,6 +32,7 @@
#include "sync/internal_api/public/base_node.h"
#include "sync/internal_api/public/configure_reason.h"
#include "sync/internal_api/public/engine/polling_constants.h"
+#include "sync/internal_api/public/http_post_provider_factory.h"
#include "sync/internal_api/public/read_node.h"
#include "sync/internal_api/public/read_transaction.h"
#include "sync/internal_api/public/user_share.h"
@@ -67,6 +68,8 @@ using sync_pb::GetUpdatesCallerInfo;
namespace {
// Delays for syncer nudges.
+static const int kDefaultNudgeDelayMilliseconds = 200;
+static const int kPreferencesNudgeDelayMilliseconds = 2000;
static const int kSyncRefreshDelayMsec = 500;
static const int kSyncSchedulerDelayMsec = 250;
@@ -100,16 +103,13 @@ using sessions::SyncSessionContext;
using syncable::ImmutableWriteTransactionInfo;
using syncable::SPECIFICS;
-const int SyncManager::kDefaultNudgeDelayMilliseconds = 200;
-const int SyncManager::kPreferencesNudgeDelayMilliseconds = 2000;
-
// Maximum count and size for traffic recorder.
const unsigned int kMaxMessagesToRecord = 10;
const unsigned int kMaxMessageSizeToRecord = 5 * 1024;
//////////////////////////////////////////////////////////////////////////
-// SyncManager's implementation: SyncManager::SyncInternal
-class SyncManager::SyncInternal
+// SyncManagerImpl's implementation: SyncManagerImpl::SyncInternal
+class SyncManagerImpl::SyncInternal
: public net::NetworkChangeNotifier::IPAddressObserver,
public syncer::Cryptographer::Observer,
public syncer::SyncNotifierObserver,
@@ -142,28 +142,28 @@ class SyncManager::SyncInternal
// Bind message handlers.
BindJsMessageHandler(
"getNotificationState",
- &SyncManager::SyncInternal::GetNotificationState);
+ &SyncManagerImpl::SyncInternal::GetNotificationState);
BindJsMessageHandler(
"getNotificationInfo",
- &SyncManager::SyncInternal::GetNotificationInfo);
+ &SyncManagerImpl::SyncInternal::GetNotificationInfo);
BindJsMessageHandler(
"getRootNodeDetails",
- &SyncManager::SyncInternal::GetRootNodeDetails);
+ &SyncManagerImpl::SyncInternal::GetRootNodeDetails);
BindJsMessageHandler(
"getNodeSummariesById",
- &SyncManager::SyncInternal::GetNodeSummariesById);
+ &SyncManagerImpl::SyncInternal::GetNodeSummariesById);
BindJsMessageHandler(
"getNodeDetailsById",
- &SyncManager::SyncInternal::GetNodeDetailsById);
+ &SyncManagerImpl::SyncInternal::GetNodeDetailsById);
BindJsMessageHandler(
"getAllNodes",
- &SyncManager::SyncInternal::GetAllNodes);
+ &SyncManagerImpl::SyncInternal::GetAllNodes);
BindJsMessageHandler(
"getChildNodeIds",
- &SyncManager::SyncInternal::GetChildNodeIds);
+ &SyncManagerImpl::SyncInternal::GetChildNodeIds);
BindJsMessageHandler(
"getClientServerTraffic",
- &SyncManager::SyncInternal::GetClientServerTraffic);
+ &SyncManagerImpl::SyncInternal::GetClientServerTraffic);
}
virtual ~SyncInternal() {
@@ -176,16 +176,16 @@ class SyncManager::SyncInternal
int port,
bool use_ssl,
const scoped_refptr<base::TaskRunner>& blocking_task_runner,
- HttpPostProviderFactory* post_factory,
+ scoped_ptr<HttpPostProviderFactory> post_factory,
const syncer::ModelSafeRoutingInfo& model_safe_routing_info,
const std::vector<syncer::ModelSafeWorker*>& workers,
syncer::ExtensionsActivityMonitor*
extensions_activity_monitor,
- ChangeDelegate* change_delegate,
+ SyncManager::ChangeDelegate* change_delegate,
const SyncCredentials& credentials,
- syncer::SyncNotifier* sync_notifier,
+ scoped_ptr<syncer::SyncNotifier> sync_notifier,
const std::string& restored_key_for_bootstrapping,
- TestingMode testing_mode,
+ SyncManager::TestingMode testing_mode,
Encryptor* encryptor,
UnrecoverableErrorHandler* unrecoverable_error_handler,
ReportUnrecoverableErrorFunction
@@ -418,7 +418,8 @@ class SyncManager::SyncInternal
typedef std::map<syncer::ModelType, NotificationInfo> NotificationInfoMap;
typedef JsArgList
- (SyncManager::SyncInternal::*UnboundJsMessageHandler)(const JsArgList&);
+ (SyncManagerImpl::SyncInternal::*UnboundJsMessageHandler)(
+ const JsArgList&);
typedef base::Callback<JsArgList(const JsArgList&)> JsMessageHandler;
typedef std::map<std::string, JsMessageHandler> JsMessageHandlerMap;
@@ -591,7 +592,7 @@ class SyncManager::SyncInternal
// Can be used to disable communication with the server and the use of an
// on-disk file for maintaining syncer state.
// TODO(117836): Clean up implementation of SyncManager unit tests.
- TestingMode testing_mode_;
+ SyncManager::TestingMode testing_mode_;
bool observing_ip_address_changes_;
@@ -628,7 +629,7 @@ class SyncManager::SyncInternal
class NudgeStrategy {
public:
static TimeDelta GetNudgeDelayTimeDelta(const ModelType& model_type,
- SyncManager::SyncInternal* core) {
+ SyncManagerImpl::SyncInternal* core) {
NudgeDelayStrategy delay_type = GetNudgeDelayStrategy(model_type);
return GetNudgeDelayTimeDeltaFromType(delay_type,
model_type,
@@ -665,14 +666,14 @@ class NudgeStrategy {
static TimeDelta GetNudgeDelayTimeDeltaFromType(
const NudgeDelayStrategy& delay_type, const ModelType& model_type,
- const SyncManager::SyncInternal* core) {
+ const SyncManagerImpl::SyncInternal* core) {
CHECK(core);
TimeDelta delay = TimeDelta::FromMilliseconds(
- SyncManager::kDefaultNudgeDelayMilliseconds);
+ kDefaultNudgeDelayMilliseconds);
switch (delay_type) {
case IMMEDIATE:
delay = TimeDelta::FromMilliseconds(
- SyncManager::kDefaultNudgeDelayMilliseconds);
+ kDefaultNudgeDelayMilliseconds);
break;
case ACCOMPANY_ONLY:
delay = TimeDelta::FromSeconds(
@@ -682,7 +683,7 @@ class NudgeStrategy {
switch (model_type) {
case syncer::PREFERENCES:
delay = TimeDelta::FromMilliseconds(
- SyncManager::kPreferencesNudgeDelayMilliseconds);
+ kPreferencesNudgeDelayMilliseconds);
break;
case syncer::SESSIONS:
delay = core->scheduler()->sessions_commit_delay();
@@ -698,36 +699,30 @@ class NudgeStrategy {
}
};
-SyncManager::ChangeDelegate::~ChangeDelegate() {}
-
-SyncManager::ChangeObserver::~ChangeObserver() {}
-
-SyncManager::Observer::~Observer() {}
-
-SyncManager::SyncManager(const std::string& name)
+SyncManagerImpl::SyncManagerImpl(const std::string& name)
: data_(new SyncInternal(name)) {}
-bool SyncManager::Init(
+bool SyncManagerImpl::Init(
const FilePath& database_location,
const WeakHandle<JsEventHandler>& event_handler,
const std::string& sync_server_and_path,
int sync_server_port,
bool use_ssl,
const scoped_refptr<base::TaskRunner>& blocking_task_runner,
- HttpPostProviderFactory* post_factory,
+ scoped_ptr<HttpPostProviderFactory> post_factory,
const syncer::ModelSafeRoutingInfo& model_safe_routing_info,
const std::vector<syncer::ModelSafeWorker*>& workers,
syncer::ExtensionsActivityMonitor* extensions_activity_monitor,
- ChangeDelegate* change_delegate,
+ SyncManager::ChangeDelegate* change_delegate,
const SyncCredentials& credentials,
- syncer::SyncNotifier* sync_notifier,
+ scoped_ptr<syncer::SyncNotifier> sync_notifier,
const std::string& restored_key_for_bootstrapping,
- TestingMode testing_mode,
+ SyncManager::TestingMode testing_mode,
Encryptor* encryptor,
UnrecoverableErrorHandler* unrecoverable_error_handler,
ReportUnrecoverableErrorFunction report_unrecoverable_error_function) {
DCHECK(thread_checker_.CalledOnValidThread());
- DCHECK(post_factory);
+ DCHECK(post_factory.get());
DVLOG(1) << "SyncManager starting Init...";
std::string server_string(sync_server_and_path);
return data_->Init(database_location,
@@ -736,13 +731,13 @@ bool SyncManager::Init(
sync_server_port,
use_ssl,
blocking_task_runner,
- post_factory,
+ post_factory.Pass(),
model_safe_routing_info,
workers,
extensions_activity_monitor,
change_delegate,
credentials,
- sync_notifier,
+ sync_notifier.Pass(),
restored_key_for_bootstrapping,
testing_mode,
encryptor,
@@ -750,54 +745,54 @@ bool SyncManager::Init(
report_unrecoverable_error_function);
}
-void SyncManager::UpdateCredentials(const SyncCredentials& credentials) {
+void SyncManagerImpl::UpdateCredentials(const SyncCredentials& credentials) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->UpdateCredentials(credentials);
}
-void SyncManager::UpdateEnabledTypes(const ModelTypeSet& enabled_types) {
+void SyncManagerImpl::UpdateEnabledTypes(const ModelTypeSet& enabled_types) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->UpdateEnabledTypes(enabled_types);
}
-void SyncManager::ThrowUnrecoverableError() {
+void SyncManagerImpl::ThrowUnrecoverableError() {
DCHECK(thread_checker_.CalledOnValidThread());
ReadTransaction trans(FROM_HERE, GetUserShare());
trans.GetWrappedTrans()->OnUnrecoverableError(
FROM_HERE, "Simulating unrecoverable error for testing purposes.");
}
-syncer::ModelTypeSet SyncManager::InitialSyncEndedTypes() {
+syncer::ModelTypeSet SyncManagerImpl::InitialSyncEndedTypes() {
return data_->InitialSyncEndedTypes();
}
-syncer::ModelTypeSet SyncManager::GetTypesWithEmptyProgressMarkerToken(
+syncer::ModelTypeSet SyncManagerImpl::GetTypesWithEmptyProgressMarkerToken(
syncer::ModelTypeSet types) {
return data_->GetTypesWithEmptyProgressMarkerToken(types);
}
-bool SyncManager::PurgePartiallySyncedTypes() {
+bool SyncManagerImpl::PurgePartiallySyncedTypes() {
return data_->PurgePartiallySyncedTypes();
}
-void SyncManager::StartSyncingNormally(
+void SyncManagerImpl::StartSyncingNormally(
const syncer::ModelSafeRoutingInfo& routing_info) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->StartSyncingNormally(routing_info);
}
-void SyncManager::SetEncryptionPassphrase(const std::string& passphrase,
+void SyncManagerImpl::SetEncryptionPassphrase(const std::string& passphrase,
bool is_explicit) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->SetEncryptionPassphrase(passphrase, is_explicit);
}
-void SyncManager::SetDecryptionPassphrase(const std::string& passphrase) {
+void SyncManagerImpl::SetDecryptionPassphrase(const std::string& passphrase) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->SetDecryptionPassphrase(passphrase);
}
-void SyncManager::EnableEncryptEverything() {
+void SyncManagerImpl::EnableEncryptEverything() {
DCHECK(thread_checker_.CalledOnValidThread());
{
// Update the cryptographer to know we're now encrypting everything.
@@ -815,16 +810,16 @@ void SyncManager::EnableEncryptEverything() {
data_->RefreshEncryption();
}
-bool SyncManager::EncryptEverythingEnabledForTest() const {
+bool SyncManagerImpl::EncryptEverythingEnabledForTest() const {
ReadTransaction trans(FROM_HERE, GetUserShare());
return trans.GetCryptographer()->encrypt_everything();
}
-bool SyncManager::IsUsingExplicitPassphrase() {
+bool SyncManagerImpl::IsUsingExplicitPassphrase() {
return data_ && data_->IsUsingExplicitPassphrase();
}
-void SyncManager::ConfigureSyncer(
+void SyncManagerImpl::ConfigureSyncer(
ConfigureReason reason,
const syncer::ModelTypeSet& types_to_config,
const syncer::ModelSafeRoutingInfo& new_routing_info,
@@ -847,7 +842,7 @@ void SyncManager::ConfigureSyncer(
if (!data_->scheduler()) {
LOG(INFO)
- << "SyncManager::ConfigureSyncer: could not configure because "
+ << "SyncManagerImpl::ConfigureSyncer: could not configure because "
<< "scheduler is null";
params.ready_task.Run();
return;
@@ -859,22 +854,22 @@ void SyncManager::ConfigureSyncer(
}
-bool SyncManager::SyncInternal::Init(
+bool SyncManagerImpl::SyncInternal::Init(
const FilePath& database_location,
const WeakHandle<JsEventHandler>& event_handler,
const std::string& sync_server_and_path,
int port,
bool use_ssl,
const scoped_refptr<base::TaskRunner>& blocking_task_runner,
- HttpPostProviderFactory* post_factory,
+ scoped_ptr<HttpPostProviderFactory> post_factory,
const syncer::ModelSafeRoutingInfo& model_safe_routing_info,
const std::vector<syncer::ModelSafeWorker*>& workers,
syncer::ExtensionsActivityMonitor* extensions_activity_monitor,
- ChangeDelegate* change_delegate,
+ SyncManager::ChangeDelegate* change_delegate,
const SyncCredentials& credentials,
- syncer::SyncNotifier* sync_notifier,
+ scoped_ptr<syncer::SyncNotifier> sync_notifier,
const std::string& restored_key_for_bootstrapping,
- TestingMode testing_mode,
+ SyncManager::TestingMode testing_mode,
Encryptor* encryptor,
UnrecoverableErrorHandler* unrecoverable_error_handler,
ReportUnrecoverableErrorFunction report_unrecoverable_error_function) {
@@ -891,7 +886,7 @@ bool SyncManager::SyncInternal::Init(
change_delegate_ = change_delegate;
testing_mode_ = testing_mode;
- sync_notifier_.reset(sync_notifier);
+ sync_notifier_ = sync_notifier.Pass();
AddObserver(&js_sync_manager_observer_);
SetJsEventHandler(event_handler);
@@ -925,7 +920,7 @@ bool SyncManager::SyncInternal::Init(
backing_store));
connection_manager_.reset(new SyncAPIServerConnectionManager(
- sync_server_and_path, port, use_ssl, post_factory));
+ sync_server_and_path, port, use_ssl, post_factory.release()));
net::NetworkChangeNotifier::AddIPAddressObserver(this);
observing_ip_address_changes_ = true;
@@ -1003,20 +998,20 @@ bool SyncManager::SyncInternal::Init(
return success;
}
-void SyncManager::SyncInternal::UpdateCryptographerAndNigori(
+void SyncManagerImpl::SyncInternal::UpdateCryptographerAndNigori(
const std::string& chrome_version,
const base::Closure& done_callback) {
DCHECK(initialized_);
syncer::GetSessionName(
blocking_task_runner_,
base::Bind(
- &SyncManager::SyncInternal::UpdateCryptographerAndNigoriCallback,
+ &SyncManagerImpl::SyncInternal::UpdateCryptographerAndNigoriCallback,
weak_ptr_factory_.GetWeakPtr(),
chrome_version,
done_callback));
}
-void SyncManager::SyncInternal::UpdateNigoriEncryptionState(
+void SyncManagerImpl::SyncInternal::UpdateNigoriEncryptionState(
Cryptographer* cryptographer,
WriteNode* nigori_node) {
DCHECK(nigori_node);
@@ -1050,7 +1045,7 @@ void SyncManager::SyncInternal::UpdateNigoriEncryptionState(
nigori_node->SetNigoriSpecifics(nigori);
}
-void SyncManager::SyncInternal::UpdateCryptographerAndNigoriCallback(
+void SyncManagerImpl::SyncInternal::UpdateCryptographerAndNigoriCallback(
const std::string& chrome_version,
const base::Closure& done_callback,
const std::string& session_name) {
@@ -1131,7 +1126,7 @@ void SyncManager::SyncInternal::UpdateCryptographerAndNigoriCallback(
done_callback.Run();
}
-void SyncManager::SyncInternal::NotifyCryptographerState(
+void SyncManagerImpl::SyncInternal::NotifyCryptographerState(
Cryptographer * cryptographer) {
// TODO(lipalani): Explore the possibility of hooking this up to
// SyncManager::Observer and making |AllStatus| a listener for that.
@@ -1142,7 +1137,7 @@ void SyncManager::SyncInternal::NotifyCryptographerState(
cryptographer->has_pending_keys());
}
-void SyncManager::SyncInternal::StartSyncingNormally(
+void SyncManagerImpl::SyncInternal::StartSyncingNormally(
const syncer::ModelSafeRoutingInfo& routing_info) {
// Start the sync scheduler.
if (scheduler()) { // NULL during certain unittests.
@@ -1155,7 +1150,7 @@ void SyncManager::SyncInternal::StartSyncingNormally(
}
}
-bool SyncManager::SyncInternal::OpenDirectory() {
+bool SyncManagerImpl::SyncInternal::OpenDirectory() {
DCHECK(!initialized_) << "Should only happen once";
// Set before Open().
@@ -1176,7 +1171,7 @@ bool SyncManager::SyncInternal::OpenDirectory() {
return true;
}
-bool SyncManager::SyncInternal::SignIn(const SyncCredentials& credentials) {
+bool SyncManagerImpl::SyncInternal::SignIn(const SyncCredentials& credentials) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK(share_.name.empty());
share_.name = credentials.email;
@@ -1205,7 +1200,7 @@ bool SyncManager::SyncInternal::SignIn(const SyncCredentials& credentials) {
return true;
}
-bool SyncManager::SyncInternal::PurgePartiallySyncedTypes() {
+bool SyncManagerImpl::SyncInternal::PurgePartiallySyncedTypes() {
syncer::ModelTypeSet partially_synced_types =
syncer::ModelTypeSet::All();
partially_synced_types.RemoveAll(InitialSyncEndedTypes());
@@ -1219,7 +1214,7 @@ bool SyncManager::SyncInternal::PurgePartiallySyncedTypes() {
return directory()->PurgeEntriesWithTypeIn(partially_synced_types);
}
-void SyncManager::SyncInternal::UpdateCredentials(
+void SyncManagerImpl::SyncInternal::UpdateCredentials(
const SyncCredentials& credentials) {
DCHECK(thread_checker_.CalledOnValidThread());
DCHECK_EQ(credentials.email, share_.name);
@@ -1236,13 +1231,13 @@ void SyncManager::SyncInternal::UpdateCredentials(
}
}
-void SyncManager::SyncInternal::UpdateEnabledTypes(
+void SyncManagerImpl::SyncInternal::UpdateEnabledTypes(
const ModelTypeSet& enabled_types) {
DCHECK(thread_checker_.CalledOnValidThread());
sync_notifier_->UpdateEnabledTypes(enabled_types);
}
-void SyncManager::SyncInternal::SetEncryptionPassphrase(
+void SyncManagerImpl::SyncInternal::SetEncryptionPassphrase(
const std::string& passphrase,
bool is_explicit) {
// We do not accept empty passphrases.
@@ -1357,7 +1352,7 @@ void SyncManager::SyncInternal::SetEncryptionPassphrase(
success, bootstrap_token, is_explicit, &trans, &node);
}
-void SyncManager::SyncInternal::SetDecryptionPassphrase(
+void SyncManagerImpl::SyncInternal::SetDecryptionPassphrase(
const std::string& passphrase) {
// We do not accept empty passphrases.
if (passphrase.empty()) {
@@ -1499,7 +1494,7 @@ void SyncManager::SyncInternal::SetDecryptionPassphrase(
&node);
}
-void SyncManager::SyncInternal::FinishSetPassphrase(
+void SyncManagerImpl::SyncInternal::FinishSetPassphrase(
bool success,
const std::string& bootstrap_token,
bool is_explicit,
@@ -1556,7 +1551,7 @@ void SyncManager::SyncInternal::FinishSetPassphrase(
ReEncryptEverything(trans);
}
-bool SyncManager::SyncInternal::IsUsingExplicitPassphrase() {
+bool SyncManagerImpl::SyncInternal::IsUsingExplicitPassphrase() {
ReadTransaction trans(FROM_HERE, &share_);
ReadNode node(&trans);
if (node.InitByTagLookup(kNigoriTag) != syncer::BaseNode::INIT_OK) {
@@ -1568,7 +1563,7 @@ bool SyncManager::SyncInternal::IsUsingExplicitPassphrase() {
return node.GetNigoriSpecifics().using_explicit_passphrase();
}
-void SyncManager::SyncInternal::RefreshEncryption() {
+void SyncManagerImpl::SyncInternal::RefreshEncryption() {
DCHECK(initialized_);
WriteTransaction trans(FROM_HERE, GetUserShare());
@@ -1608,7 +1603,8 @@ void SyncManager::SyncInternal::RefreshEncryption() {
// which data for some or all types is not currently available. In that case,
// the lookup of the root node will fail and we will skip encryption for that
// type.
-void SyncManager::SyncInternal::ReEncryptEverything(WriteTransaction* trans) {
+void SyncManagerImpl::SyncInternal::ReEncryptEverything(
+ WriteTransaction* trans) {
Cryptographer* cryptographer = trans->GetCryptographer();
if (!cryptographer || !cryptographer->is_ready())
return;
@@ -1669,29 +1665,30 @@ void SyncManager::SyncInternal::ReEncryptEverything(WriteTransaction* trans) {
}
// NOTE: We notify from within a transaction.
- FOR_EACH_OBSERVER(SyncManager::Observer, observers_, OnEncryptionComplete());
+ FOR_EACH_OBSERVER(SyncManager::Observer, observers_,
+ OnEncryptionComplete());
}
-SyncManager::~SyncManager() {
+SyncManagerImpl::~SyncManagerImpl() {
DCHECK(thread_checker_.CalledOnValidThread());
delete data_;
}
-void SyncManager::AddObserver(Observer* observer) {
+void SyncManagerImpl::AddObserver(SyncManager::Observer* observer) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->AddObserver(observer);
}
-void SyncManager::RemoveObserver(Observer* observer) {
+void SyncManagerImpl::RemoveObserver(SyncManager::Observer* observer) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->RemoveObserver(observer);
}
-void SyncManager::StopSyncingForShutdown(const base::Closure& callback) {
+void SyncManagerImpl::StopSyncingForShutdown(const base::Closure& callback) {
data_->StopSyncingForShutdown(callback);
}
-void SyncManager::SyncInternal::StopSyncingForShutdown(
+void SyncManagerImpl::SyncInternal::StopSyncingForShutdown(
const base::Closure& callback) {
DVLOG(2) << "StopSyncingForShutdown";
if (scheduler()) // May be null in tests.
@@ -1703,12 +1700,12 @@ void SyncManager::SyncInternal::StopSyncingForShutdown(
connection_manager_->TerminateAllIO();
}
-void SyncManager::ShutdownOnSyncThread() {
+void SyncManagerImpl::ShutdownOnSyncThread() {
DCHECK(thread_checker_.CalledOnValidThread());
data_->ShutdownOnSyncThread();
}
-void SyncManager::SyncInternal::ShutdownOnSyncThread() {
+void SyncManagerImpl::SyncInternal::ShutdownOnSyncThread() {
DCHECK(thread_checker_.CalledOnValidThread());
// Prevent any in-flight method calls from running. Also
@@ -1759,7 +1756,7 @@ void SyncManager::SyncInternal::ShutdownOnSyncThread() {
weak_handle_this_.Reset();
}
-void SyncManager::SyncInternal::OnIPAddressChanged() {
+void SyncManagerImpl::SyncInternal::OnIPAddressChanged() {
DVLOG(1) << "IP address change detected";
if (!observing_ip_address_changes_) {
DVLOG(1) << "IP address change dropped.";
@@ -1769,13 +1766,13 @@ void SyncManager::SyncInternal::OnIPAddressChanged() {
OnIPAddressChangedImpl();
}
-void SyncManager::SyncInternal::OnIPAddressChangedImpl() {
+void SyncManagerImpl::SyncInternal::OnIPAddressChangedImpl() {
DCHECK(thread_checker_.CalledOnValidThread());
if (scheduler())
scheduler()->OnConnectionStatusChange();
}
-void SyncManager::SyncInternal::OnServerConnectionEvent(
+void SyncManagerImpl::SyncInternal::OnServerConnectionEvent(
const ServerConnectionEvent& event) {
DCHECK(thread_checker_.CalledOnValidThread());
if (event.connection_code ==
@@ -1797,7 +1794,7 @@ void SyncManager::SyncInternal::OnServerConnectionEvent(
}
}
-void SyncManager::SyncInternal::HandleTransactionCompleteChangeEvent(
+void SyncManagerImpl::SyncInternal::HandleTransactionCompleteChangeEvent(
ModelTypeSet models_with_changes) {
// This notification happens immediately after the transaction mutex is
// released. This allows work to be performed without blocking other threads
@@ -1810,12 +1807,14 @@ void SyncManager::SyncInternal::HandleTransactionCompleteChangeEvent(
it.Good(); it.Inc()) {
change_delegate_->OnChangesComplete(it.Get());
change_observer_.Call(
- FROM_HERE, &SyncManager::ChangeObserver::OnChangesComplete, it.Get());
+ FROM_HERE,
+ &SyncManager::ChangeObserver::OnChangesComplete,
+ it.Get());
}
}
ModelTypeSet
- SyncManager::SyncInternal::HandleTransactionEndingChangeEvent(
+ SyncManagerImpl::SyncInternal::HandleTransactionEndingChangeEvent(
const ImmutableWriteTransactionInfo& write_transaction_info,
syncable::BaseTransaction* trans) {
// This notification happens immediately before a syncable WriteTransaction
@@ -1855,7 +1854,8 @@ ModelTypeSet
return models_with_changes;
}
-void SyncManager::SyncInternal::HandleCalculateChangesChangeEventFromSyncApi(
+void SyncManagerImpl::SyncInternal::
+ HandleCalculateChangesChangeEventFromSyncApi(
const ImmutableWriteTransactionInfo& write_transaction_info,
syncable::BaseTransaction* trans) {
if (!scheduler()) {
@@ -1904,7 +1904,7 @@ void SyncManager::SyncInternal::HandleCalculateChangesChangeEventFromSyncApi(
}
}
-void SyncManager::SyncInternal::SetExtraChangeRecordData(int64 id,
+void SyncManagerImpl::SyncInternal::SetExtraChangeRecordData(int64 id,
syncer::ModelType type, ChangeReorderBuffer* buffer,
Cryptographer* cryptographer, const syncable::EntryKernel& original,
bool existed_before, bool exists_now) {
@@ -1934,7 +1934,7 @@ void SyncManager::SyncInternal::SetExtraChangeRecordData(int64 id,
}
}
-void SyncManager::SyncInternal::HandleCalculateChangesChangeEventFromSyncer(
+void SyncManagerImpl::SyncInternal::HandleCalculateChangesChangeEventFromSyncer(
const ImmutableWriteTransactionInfo& write_transaction_info,
syncable::BaseTransaction* trans) {
// We only expect one notification per sync step, so change_buffers_ should
@@ -1973,11 +1973,11 @@ void SyncManager::SyncInternal::HandleCalculateChangesChangeEventFromSyncer(
}
}
-SyncStatus SyncManager::SyncInternal::GetStatus() {
+SyncStatus SyncManagerImpl::SyncInternal::GetStatus() {
return allstatus_.status();
}
-void SyncManager::SyncInternal::RequestNudge(
+void SyncManagerImpl::SyncInternal::RequestNudge(
const tracked_objects::Location& location) {
if (scheduler()) {
scheduler()->ScheduleNudgeAsync(
@@ -1986,12 +1986,12 @@ void SyncManager::SyncInternal::RequestNudge(
}
}
-TimeDelta SyncManager::SyncInternal::GetNudgeDelayTimeDelta(
+TimeDelta SyncManagerImpl::SyncInternal::GetNudgeDelayTimeDelta(
const ModelType& model_type) {
return NudgeStrategy::GetNudgeDelayTimeDelta(model_type, this);
}
-void SyncManager::SyncInternal::RequestNudgeForDataTypes(
+void SyncManagerImpl::SyncInternal::RequestNudgeForDataTypes(
const tracked_objects::Location& nudge_location,
ModelTypeSet types) {
if (!scheduler()) {
@@ -2011,7 +2011,7 @@ void SyncManager::SyncInternal::RequestNudgeForDataTypes(
nudge_location);
}
-void SyncManager::SyncInternal::OnSyncEngineEvent(
+void SyncManagerImpl::SyncInternal::OnSyncEngineEvent(
const SyncEngineEvent& event) {
DCHECK(thread_checker_.CalledOnValidThread());
// Only send an event if this is due to a cycle ending and this cycle
@@ -2110,14 +2110,14 @@ void SyncManager::SyncInternal::OnSyncEngineEvent(
}
-void SyncManager::SyncInternal::SetJsEventHandler(
+void SyncManagerImpl::SyncInternal::SetJsEventHandler(
const WeakHandle<JsEventHandler>& event_handler) {
js_event_handler_ = event_handler;
js_sync_manager_observer_.SetJsEventHandler(js_event_handler_);
js_mutation_event_observer_.SetJsEventHandler(js_event_handler_);
}
-void SyncManager::SyncInternal::ProcessJsMessage(
+void SyncManagerImpl::SyncInternal::ProcessJsMessage(
const std::string& name, const JsArgList& args,
const WeakHandle<JsReplyHandler>& reply_handler) {
if (!initialized_) {
@@ -2143,14 +2143,14 @@ void SyncManager::SyncInternal::ProcessJsMessage(
name, js_message_handler.Run(args));
}
-void SyncManager::SyncInternal::BindJsMessageHandler(
+void SyncManagerImpl::SyncInternal::BindJsMessageHandler(
const std::string& name,
UnboundJsMessageHandler unbound_message_handler) {
js_message_handlers_[name] =
base::Bind(unbound_message_handler, base::Unretained(this));
}
-DictionaryValue* SyncManager::SyncInternal::NotificationInfoToValue(
+DictionaryValue* SyncManagerImpl::SyncInternal::NotificationInfoToValue(
const NotificationInfoMap& notification_info) {
DictionaryValue* value = new DictionaryValue();
@@ -2164,7 +2164,7 @@ DictionaryValue* SyncManager::SyncInternal::NotificationInfoToValue(
return value;
}
-JsArgList SyncManager::SyncInternal::GetNotificationState(
+JsArgList SyncManagerImpl::SyncInternal::GetNotificationState(
const JsArgList& args) {
bool notifications_enabled = allstatus_.status().notifications_enabled;
ListValue return_args;
@@ -2172,14 +2172,14 @@ JsArgList SyncManager::SyncInternal::GetNotificationState(
return JsArgList(&return_args);
}
-JsArgList SyncManager::SyncInternal::GetNotificationInfo(
+JsArgList SyncManagerImpl::SyncInternal::GetNotificationInfo(
const JsArgList& args) {
ListValue return_args;
return_args.Append(NotificationInfoToValue(notification_info_map_));
return JsArgList(&return_args);
}
-JsArgList SyncManager::SyncInternal::GetRootNodeDetails(
+JsArgList SyncManagerImpl::SyncInternal::GetRootNodeDetails(
const JsArgList& args) {
ReadTransaction trans(FROM_HERE, GetUserShare());
ReadNode root(&trans);
@@ -2189,7 +2189,7 @@ JsArgList SyncManager::SyncInternal::GetRootNodeDetails(
return JsArgList(&return_args);
}
-JsArgList SyncManager::SyncInternal::GetClientServerTraffic(
+JsArgList SyncManagerImpl::SyncInternal::GetClientServerTraffic(
const JsArgList& args) {
ListValue return_args;
ListValue* value = traffic_recorder_.ToValue();
@@ -2240,17 +2240,17 @@ JsArgList GetNodeInfoById(const JsArgList& args,
} // namespace
-JsArgList SyncManager::SyncInternal::GetNodeSummariesById(
+JsArgList SyncManagerImpl::SyncInternal::GetNodeSummariesById(
const JsArgList& args) {
return GetNodeInfoById(args, GetUserShare(), &BaseNode::GetSummaryAsValue);
}
-JsArgList SyncManager::SyncInternal::GetNodeDetailsById(
+JsArgList SyncManagerImpl::SyncInternal::GetNodeDetailsById(
const JsArgList& args) {
return GetNodeInfoById(args, GetUserShare(), &BaseNode::GetDetailsAsValue);
}
-JsArgList SyncManager::SyncInternal::GetAllNodes(
+JsArgList SyncManagerImpl::SyncInternal::GetAllNodes(
const JsArgList& args) {
ListValue return_args;
ListValue* result = new ListValue();
@@ -2269,7 +2269,7 @@ JsArgList SyncManager::SyncInternal::GetAllNodes(
return JsArgList(&return_args);
}
-JsArgList SyncManager::SyncInternal::GetChildNodeIds(
+JsArgList SyncManagerImpl::SyncInternal::GetChildNodeIds(
const JsArgList& args) {
ListValue return_args;
ListValue* child_ids = new ListValue();
@@ -2289,7 +2289,7 @@ JsArgList SyncManager::SyncInternal::GetChildNodeIds(
return JsArgList(&return_args);
}
-void SyncManager::SyncInternal::OnEncryptedTypesChanged(
+void SyncManagerImpl::SyncInternal::OnEncryptedTypesChanged(
syncer::ModelTypeSet encrypted_types,
bool encrypt_everything) {
// NOTE: We're in a transaction.
@@ -2298,7 +2298,7 @@ void SyncManager::SyncInternal::OnEncryptedTypesChanged(
OnEncryptedTypesChanged(encrypted_types, encrypt_everything));
}
-void SyncManager::SyncInternal::UpdateNotificationInfo(
+void SyncManagerImpl::SyncInternal::UpdateNotificationInfo(
const syncer::ModelTypePayloadMap& type_payloads) {
for (syncer::ModelTypePayloadMap::const_iterator it = type_payloads.begin();
it != type_payloads.end(); ++it) {
@@ -2308,7 +2308,7 @@ void SyncManager::SyncInternal::UpdateNotificationInfo(
}
}
-void SyncManager::SyncInternal::OnNotificationsEnabled() {
+void SyncManagerImpl::SyncInternal::OnNotificationsEnabled() {
DVLOG(1) << "Notifications enabled";
allstatus_.SetNotificationsEnabled(true);
if (scheduler()) {
@@ -2326,7 +2326,7 @@ void SyncManager::SyncInternal::OnNotificationsEnabled() {
}
}
-void SyncManager::SyncInternal::OnNotificationsDisabled(
+void SyncManagerImpl::SyncInternal::OnNotificationsDisabled(
syncer::NotificationsDisabledReason reason) {
DVLOG(1) << "Notifications disabled with reason "
<< syncer::NotificationsDisabledReasonToString(reason);
@@ -2346,7 +2346,7 @@ void SyncManager::SyncInternal::OnNotificationsDisabled(
// error.
}
-void SyncManager::SyncInternal::OnIncomingNotification(
+void SyncManagerImpl::SyncInternal::OnIncomingNotification(
const syncer::ModelTypePayloadMap& type_payloads,
syncer::IncomingNotificationSource source) {
DCHECK(thread_checker_.CalledOnValidThread());
@@ -2391,39 +2391,39 @@ void SyncManager::SyncInternal::OnIncomingNotification(
}
}
-void SyncManager::SyncInternal::AddObserver(
+void SyncManagerImpl::SyncInternal::AddObserver(
SyncManager::Observer* observer) {
observers_.AddObserver(observer);
}
-void SyncManager::SyncInternal::RemoveObserver(
+void SyncManagerImpl::SyncInternal::RemoveObserver(
SyncManager::Observer* observer) {
observers_.RemoveObserver(observer);
}
-void SyncManager::SyncInternal::SetSyncSchedulerForTest(
+void SyncManagerImpl::SyncInternal::SetSyncSchedulerForTest(
scoped_ptr<SyncScheduler> sync_scheduler) {
scheduler_ = sync_scheduler.Pass();
}
-SyncStatus SyncManager::GetDetailedStatus() const {
+SyncStatus SyncManagerImpl::GetDetailedStatus() const {
return data_->GetStatus();
}
-void SyncManager::SaveChanges() {
+void SyncManagerImpl::SaveChanges() {
DCHECK(thread_checker_.CalledOnValidThread());
data_->SaveChanges();
}
-void SyncManager::SyncInternal::SaveChanges() {
+void SyncManagerImpl::SyncInternal::SaveChanges() {
directory()->SaveChanges();
}
-UserShare* SyncManager::GetUserShare() const {
+UserShare* SyncManagerImpl::GetUserShare() const {
return data_->GetUserShare();
}
-void SyncManager::RefreshNigori(const std::string& chrome_version,
+void SyncManagerImpl::RefreshNigori(const std::string& chrome_version,
const base::Closure& done_callback) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->UpdateCryptographerAndNigori(
@@ -2431,22 +2431,23 @@ void SyncManager::RefreshNigori(const std::string& chrome_version,
done_callback);
}
-TimeDelta SyncManager::GetNudgeDelayTimeDelta(
+TimeDelta SyncManagerImpl::GetNudgeDelayTimeDelta(
const ModelType& model_type) {
return data_->GetNudgeDelayTimeDelta(model_type);
}
-void SyncManager::SetSyncSchedulerForTest(scoped_ptr<SyncScheduler> scheduler) {
+void SyncManagerImpl::SetSyncSchedulerForTest(
+ scoped_ptr<SyncScheduler> scheduler) {
data_->SetSyncSchedulerForTest(scheduler.Pass());
}
-syncer::ModelTypeSet SyncManager::GetEncryptedDataTypesForTest() const {
+syncer::ModelTypeSet SyncManagerImpl::GetEncryptedDataTypesForTest() const {
ReadTransaction trans(FROM_HERE, GetUserShare());
return GetEncryptedTypes(&trans);
}
-bool SyncManager::ReceivedExperiment(syncer::Experiments* experiments)
- const {
+bool SyncManagerImpl::ReceivedExperiment(
+ syncer::Experiments* experiments) const {
ReadTransaction trans(FROM_HERE, GetUserShare());
ReadNode node(&trans);
if (node.InitByTagLookup(kNigoriTag) != syncer::BaseNode::INIT_OK) {
@@ -2461,23 +2462,23 @@ bool SyncManager::ReceivedExperiment(syncer::Experiments* experiments)
return found_experiment;
}
-bool SyncManager::HasUnsyncedItems() const {
+bool SyncManagerImpl::HasUnsyncedItems() const {
syncer::ReadTransaction trans(FROM_HERE, GetUserShare());
return (trans.GetWrappedTrans()->directory()->unsynced_entity_count() != 0);
}
-void SyncManager::SimulateEnableNotificationsForTest() {
+void SyncManagerImpl::SimulateEnableNotificationsForTest() {
DCHECK(thread_checker_.CalledOnValidThread());
data_->OnNotificationsEnabled();
}
-void SyncManager::SimulateDisableNotificationsForTest(int reason) {
+void SyncManagerImpl::SimulateDisableNotificationsForTest(int reason) {
DCHECK(thread_checker_.CalledOnValidThread());
data_->OnNotificationsDisabled(
static_cast<syncer::NotificationsDisabledReason>(reason));
}
-void SyncManager::TriggerOnIncomingNotificationForTest(
+void SyncManagerImpl::TriggerOnIncomingNotificationForTest(
ModelTypeSet model_types) {
DCHECK(thread_checker_.CalledOnValidThread());
syncer::ModelTypePayloadMap model_types_with_payloads =
@@ -2488,45 +2489,14 @@ void SyncManager::TriggerOnIncomingNotificationForTest(
syncer::REMOTE_NOTIFICATION);
}
-const char* ConnectionStatusToString(ConnectionStatus status) {
- switch (status) {
- case CONNECTION_OK:
- return "CONNECTION_OK";
- case CONNECTION_AUTH_ERROR:
- return "CONNECTION_AUTH_ERROR";
- case CONNECTION_SERVER_ERROR:
- return "CONNECTION_SERVER_ERROR";
- default:
- NOTREACHED();
- return "INVALID_CONNECTION_STATUS";
- }
+// static.
+int SyncManagerImpl::GetDefaultNudgeDelay() {
+ return kDefaultNudgeDelayMilliseconds;
}
-// Helper function that converts a PassphraseRequiredReason value to a string.
-const char* PassphraseRequiredReasonToString(
- PassphraseRequiredReason reason) {
- switch (reason) {
- case REASON_PASSPHRASE_NOT_REQUIRED:
- return "REASON_PASSPHRASE_NOT_REQUIRED";
- case REASON_ENCRYPTION:
- return "REASON_ENCRYPTION";
- case REASON_DECRYPTION:
- return "REASON_DECRYPTION";
- default:
- NOTREACHED();
- return "INVALID_REASON";
- }
-}
-
-// Helper function to determine if initial sync had ended for types.
-bool InitialSyncEndedForTypes(syncer::ModelTypeSet types,
- syncer::UserShare* share) {
- for (syncer::ModelTypeSet::Iterator i = types.First();
- i.Good(); i.Inc()) {
- if (!share->directory->initial_sync_ended_for_type(i.Get()))
- return false;
- }
- return true;
+// static.
+int SyncManagerImpl::GetPreferencesNudgeDelay() {
+ return kPreferencesNudgeDelayMilliseconds;
}
} // namespace syncer

Powered by Google App Engine
This is Rietveld 408576698