Index: sync/notifier/non_blocking_invalidation_notifier.cc |
=================================================================== |
--- sync/notifier/non_blocking_invalidation_notifier.cc (revision 150991) |
+++ sync/notifier/non_blocking_invalidation_notifier.cc (working copy) |
@@ -4,8 +4,6 @@ |
#include "sync/notifier/non_blocking_invalidation_notifier.h" |
-#include <cstddef> |
- |
#include "base/location.h" |
#include "base/logging.h" |
#include "base/memory/scoped_ptr.h" |
@@ -91,12 +89,12 @@ |
initial_invalidation_state, |
invalidation_state_tracker, |
client_info)); |
- invalidation_notifier_->RegisterHandler(this); |
} |
+ |
void NonBlockingInvalidationNotifier::Core::Teardown() { |
DCHECK(network_task_runner_->BelongsToCurrentThread()); |
- invalidation_notifier_->UnregisterHandler(this); |
+ invalidation_notifier_->UpdateRegisteredIds(this, ObjectIdSet()); |
invalidation_notifier_.reset(); |
network_task_runner_ = NULL; |
} |
@@ -185,33 +183,21 @@ |
} |
} |
-void NonBlockingInvalidationNotifier::RegisterHandler( |
- SyncNotifierObserver* handler) { |
- DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
- registrar_.RegisterHandler(handler); |
-} |
- |
void NonBlockingInvalidationNotifier::UpdateRegisteredIds( |
- SyncNotifierObserver* handler, |
- const ObjectIdSet& ids) { |
+ SyncNotifierObserver* handler, const ObjectIdSet& ids) { |
DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
- registrar_.UpdateRegisteredIds(handler, ids); |
+ const ObjectIdSet& all_registered_ids = |
+ helper_.UpdateRegisteredIds(handler, ids); |
if (!network_task_runner_->PostTask( |
FROM_HERE, |
base::Bind( |
&NonBlockingInvalidationNotifier::Core::UpdateRegisteredIds, |
core_.get(), |
- registrar_.GetAllRegisteredIds()))) { |
+ all_registered_ids))) { |
NOTREACHED(); |
} |
} |
-void NonBlockingInvalidationNotifier::UnregisterHandler( |
- SyncNotifierObserver* handler) { |
- DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
- registrar_.UnregisterHandler(handler); |
-} |
- |
void NonBlockingInvalidationNotifier::SetUniqueId( |
const std::string& unique_id) { |
DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
@@ -255,20 +241,20 @@ |
void NonBlockingInvalidationNotifier::OnNotificationsEnabled() { |
DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
- registrar_.EmitOnNotificationsEnabled(); |
+ helper_.EmitOnNotificationsEnabled(); |
} |
void NonBlockingInvalidationNotifier::OnNotificationsDisabled( |
NotificationsDisabledReason reason) { |
DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
- registrar_.EmitOnNotificationsDisabled(reason); |
+ helper_.EmitOnNotificationsDisabled(reason); |
} |
void NonBlockingInvalidationNotifier::OnIncomingNotification( |
const ObjectIdPayloadMap& id_payloads, |
IncomingNotificationSource source) { |
DCHECK(parent_task_runner_->BelongsToCurrentThread()); |
- registrar_.DispatchInvalidationsToHandlers(id_payloads, source); |
+ helper_.DispatchInvalidationsToHandlers(id_payloads, source); |
} |
} // namespace syncer |