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

Unified Diff: sync/internal_api/non_blocking_type_processor.cc

Issue 249843002: Introduce NonBlockingDataTypeController (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix one nit Created 6 years, 8 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/non_blocking_type_processor.cc
diff --git a/sync/internal_api/non_blocking_type_processor.cc b/sync/internal_api/non_blocking_type_processor.cc
index 8fd0d2775de57c03af3bde4d6d4a3a6fbbc5007e..d426443a03c961d3824a18a4873e1b7c2ec66a93 100644
--- a/sync/internal_api/non_blocking_type_processor.cc
+++ b/sync/internal_api/non_blocking_type_processor.cc
@@ -11,14 +11,22 @@
namespace syncer {
NonBlockingTypeProcessor::NonBlockingTypeProcessor(ModelType type)
- : type_(type), enabled_(false), weak_ptr_factory_(this) {}
+ : type_(type),
+ is_preferred_(false),
+ is_connected_(false),
+ weak_ptr_factory_(this) {}
NonBlockingTypeProcessor::~NonBlockingTypeProcessor() {
}
-bool NonBlockingTypeProcessor::IsEnabled() const {
+bool NonBlockingTypeProcessor::IsPreferred() const {
DCHECK(CalledOnValidThread());
- return enabled_;
+ return is_preferred_;
+}
+
+bool NonBlockingTypeProcessor::IsConnected() const {
+ DCHECK(CalledOnValidThread());
+ return is_connected_;
}
ModelType NonBlockingTypeProcessor::GetModelType() const {
@@ -28,15 +36,19 @@ ModelType NonBlockingTypeProcessor::GetModelType() const {
void NonBlockingTypeProcessor::Enable(SyncCoreProxy* core_proxy) {
DCHECK(CalledOnValidThread());
- core_proxy->ConnectTypeToCore(
- GetModelType(),
- AsWeakPtr());
+ is_preferred_ = true;
+ core_proxy->ConnectTypeToCore(GetModelType(), AsWeakPtr());
}
void NonBlockingTypeProcessor::Disable() {
DCHECK(CalledOnValidThread());
- enabled_ = false;
- weak_ptr_factory_.InvalidateWeakPtrs();
+ is_preferred_ = false;
+ Disconnect();
+}
+
+void NonBlockingTypeProcessor::Disconnect() {
+ DCHECK(CalledOnValidThread());
+ is_connected_ = false;
core_ = base::WeakPtr<NonBlockingTypeProcessorCore>();
sync_thread_ = scoped_refptr<base::SequencedTaskRunner>();
}
@@ -50,7 +62,7 @@ void NonBlockingTypeProcessor::OnConnect(
base::WeakPtr<NonBlockingTypeProcessorCore> core,
scoped_refptr<base::SequencedTaskRunner> sync_thread) {
DCHECK(CalledOnValidThread());
- enabled_ = true;
+ is_connected_ = true;
core_ = core;
sync_thread_ = sync_thread;
}

Powered by Google App Engine
This is Rietveld 408576698