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

Unified Diff: components/gcm_driver/gcm_driver_desktop.cc

Issue 515763002: [GCM] Extracting GCMConnectionObserver from GCMAppHandler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Finishing the CL on a box that compiles much faster... 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
Index: components/gcm_driver/gcm_driver_desktop.cc
diff --git a/components/gcm_driver/gcm_driver_desktop.cc b/components/gcm_driver/gcm_driver_desktop.cc
index 1303152f20aa0b5342f804da7b576483127abcc3..001b0183f8304cc051177294ebb8e14dfa020877 100644
--- a/components/gcm_driver/gcm_driver_desktop.cc
+++ b/components/gcm_driver/gcm_driver_desktop.cc
@@ -22,13 +22,6 @@
namespace gcm {
-namespace {
-
-// Empty string is reserved for the default app handler.
-const char kDefaultAppHandler[] = "";
-
-} // namespace
-
// Helper class to save tasks to run until we're ready to execute them.
class GCMDriverDesktop::DelayedTaskController {
public:
@@ -463,6 +456,15 @@ void GCMDriverDesktop::RemoveAppHandler(const std::string& app_id) {
Stop();
}
+void GCMDriverDesktop::AddConnectionObserver(GCMConnectionObserver* observer) {
+ connection_observer_list_.AddObserver(observer);
+}
+
+void GCMDriverDesktop::RemoveConnectionObserver(
+ GCMConnectionObserver* observer) {
+ connection_observer_list_.RemoveObserver(observer);
+}
+
void GCMDriverDesktop::Enable() {
DCHECK(ui_thread_->RunsTasksOnCurrentThread());
@@ -759,13 +761,9 @@ void GCMDriverDesktop::OnConnected(const net::IPEndPoint& ip_endpoint) {
if (!gcm_started_)
return;
- const GCMAppHandlerMap& app_handler_map = app_handlers();
- for (GCMAppHandlerMap::const_iterator iter = app_handler_map.begin();
- iter != app_handler_map.end(); ++iter) {
- iter->second->OnConnected(ip_endpoint);
- }
-
- GetAppHandler(kDefaultAppHandler)->OnConnected(ip_endpoint);
+ FOR_EACH_OBSERVER(GCMConnectionObserver,
+ connection_observer_list_,
+ OnConnected(ip_endpoint));
}
void GCMDriverDesktop::OnDisconnected() {
@@ -777,13 +775,8 @@ void GCMDriverDesktop::OnDisconnected() {
if (!gcm_started_)
return;
- const GCMAppHandlerMap& app_handler_map = app_handlers();
- for (GCMAppHandlerMap::const_iterator iter = app_handler_map.begin();
- iter != app_handler_map.end(); ++iter) {
- iter->second->OnDisconnected();
- }
-
- GetAppHandler(kDefaultAppHandler)->OnDisconnected();
+ FOR_EACH_OBSERVER(
+ GCMConnectionObserver, connection_observer_list_, OnDisconnected());
}
void GCMDriverDesktop::GetGCMStatisticsFinished(

Powered by Google App Engine
This is Rietveld 408576698