summaryrefslogtreecommitdiffstats
path: root/chrome/browser/service/service_process_control.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/service/service_process_control.h')
-rw-r--r--chrome/browser/service/service_process_control.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/chrome/browser/service/service_process_control.h b/chrome/browser/service/service_process_control.h
index 021b669..e6df376 100644
--- a/chrome/browser/service/service_process_control.h
+++ b/chrome/browser/service/service_process_control.h
@@ -13,6 +13,8 @@
#include "base/process.h"
#include "base/scoped_ptr.h"
#include "base/task.h"
+#include "chrome/common/notification_observer.h"
+#include "chrome/common/notification_registrar.h"
#include "ipc/ipc_sync_channel.h"
class Profile;
@@ -28,7 +30,8 @@ class Profile;
// This class is accessed on the UI thread through some UI actions. It then
// talks to the IPC channel on the IO thread.
class ServiceProcessControl : public IPC::Channel::Sender,
- public IPC::Channel::Listener {
+ public IPC::Channel::Listener,
+ public NotificationObserver {
public:
typedef IDMap<ServiceProcessControl>::iterator iterator;
typedef std::queue<IPC::Message> MessageQueue;
@@ -67,6 +70,11 @@ class ServiceProcessControl : public IPC::Channel::Sender,
// IPC::Channel::Sender implementation
virtual bool Send(IPC::Message* message);
+ // NotificationObserver implementation.
+ virtual void Observe(NotificationType type,
+ const NotificationSource& source,
+ const NotificationDetails& details);
+
// Message handlers
void OnGoodDay();
void OnCloudPrintProxyIsEnabled(bool enabled, std::string email);
@@ -127,6 +135,8 @@ class ServiceProcessControl : public IPC::Channel::Sender,
// Handler for messages from service process.
MessageHandler* message_handler_;
+
+ NotificationRegistrar registrar_;
};
#endif // CHROME_BROWSER_SERVICE_SERVICE_PROCESS_CONTROL_H_