summaryrefslogtreecommitdiffstats
path: root/chrome/service/service_process.h
diff options
context:
space:
mode:
authorsanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-31 07:57:00 +0000
committersanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-31 07:57:00 +0000
commit38fe1964640f28c273b2a68a564b7c47a68f8b01 (patch)
tree872c11ad9630842dc2a39b6bbe64877bcd41f0d0 /chrome/service/service_process.h
parent6364aad5c4a477197165def0a06f118acd422744 (diff)
downloadchromium_src-38fe1964640f28c273b2a68a564b7c47a68f8b01.zip
chromium_src-38fe1964640f28c273b2a68a564b7c47a68f8b01.tar.gz
chromium_src-38fe1964640f28c273b2a68a564b7c47a68f8b01.tar.bz2
Added an IPC server in the service process to listen to commands. This is not used yet.
BUG=None TEST=None for now since this code is not enabled. Review URL: http://codereview.chromium.org/3041036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54440 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service/service_process.h')
-rw-r--r--chrome/service/service_process.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/chrome/service/service_process.h b/chrome/service/service_process.h
index cf86736..ce476c6 100644
--- a/chrome/service/service_process.h
+++ b/chrome/service/service_process.h
@@ -6,14 +6,14 @@
#define CHROME_SERVICE_SERVICE_PROCESS_H_
#pragma once
-#include <vector>
-
#include "base/ref_counted.h"
#include "base/scoped_ptr.h"
#include "base/thread.h"
+#include "base/waitable_event.h"
class CloudPrintProxy;
class JsonPrefStore;
+class ServiceIPCServer;
namespace net {
class NetworkChangeNotifier;
}
@@ -55,7 +55,15 @@ class ServiceProcess {
base::Thread* file_thread() const {
return file_thread_.get();
}
- CloudPrintProxy* CreateCloudPrintProxy(JsonPrefStore* service_prefs);
+
+ // A global event object that is signalled when the main thread's message
+ // loop exits. This gives background threads a way to observe the main
+ // thread shutting down.
+ base::WaitableEvent* shutdown_event() {
+ return &shutdown_event_;
+ }
+
+ CloudPrintProxy* GetCloudPrintProxy();
#if defined(ENABLE_REMOTING)
remoting::ChromotingHost* CreateChromotingHost(
remoting::ChromotingHostContext* context,
@@ -66,7 +74,11 @@ class ServiceProcess {
scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_;
scoped_ptr<base::Thread> io_thread_;
scoped_ptr<base::Thread> file_thread_;
- std::vector<CloudPrintProxy*> cloud_print_proxy_list_;
+ scoped_ptr<CloudPrintProxy> cloud_print_proxy_;
+ scoped_ptr<JsonPrefStore> service_prefs_;
+ scoped_ptr<ServiceIPCServer> ipc_server_;
+ // An event that will be signalled when we shutdown.
+ base::WaitableEvent shutdown_event_;
DISALLOW_COPY_AND_ASSIGN(ServiceProcess);
};