OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_COMMON_SERVICE_PROCESS_UTIL_H_ | 5 #ifndef CHROME_COMMON_SERVICE_PROCESS_UTIL_H_ |
6 #define CHROME_COMMON_SERVICE_PROCESS_UTIL_H_ | 6 #define CHROME_COMMON_SERVICE_PROCESS_UTIL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback.h" | 11 #include "base/callback.h" |
12 #include "base/memory/scoped_ptr.h" | 12 #include "base/memory/scoped_ptr.h" |
13 #include "base/process.h" | 13 #include "base/process.h" |
14 #include "base/shared_memory.h" | 14 #include "base/shared_memory.h" |
15 #include "ipc/ipc_channel_handle.h" | 15 #include "ipc/ipc_channel_handle.h" |
16 | 16 |
17 class Task; | |
18 class CommandLine; | 17 class CommandLine; |
19 | 18 |
20 namespace base { | 19 namespace base { |
21 class MessageLoopProxy; | 20 class MessageLoopProxy; |
22 } | 21 } |
23 | 22 |
24 // Return the IPC channel to connect to the service process. | 23 // Return the IPC channel to connect to the service process. |
25 IPC::ChannelHandle GetServiceProcessChannel(); | 24 IPC::ChannelHandle GetServiceProcessChannel(); |
26 | 25 |
27 #if !defined(OS_MACOSX) | 26 #if !defined(OS_MACOSX) |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 // Register the service process to run on startup. | 81 // Register the service process to run on startup. |
83 bool AddToAutoRun(); | 82 bool AddToAutoRun(); |
84 | 83 |
85 // Unregister the service process to run on startup. | 84 // Unregister the service process to run on startup. |
86 bool RemoveFromAutoRun(); | 85 bool RemoveFromAutoRun(); |
87 | 86 |
88 // Return the channel handle used for communicating with the service. | 87 // Return the channel handle used for communicating with the service. |
89 IPC::ChannelHandle GetServiceProcessChannel(); | 88 IPC::ChannelHandle GetServiceProcessChannel(); |
90 | 89 |
91 private: | 90 private: |
92 | |
93 #if !defined(OS_MACOSX) | 91 #if !defined(OS_MACOSX) |
94 // Create the shared memory data for the service process. | 92 // Create the shared memory data for the service process. |
95 bool CreateSharedData(); | 93 bool CreateSharedData(); |
96 | 94 |
97 // If an older version of the service process running, it should be shutdown. | 95 // If an older version of the service process running, it should be shutdown. |
98 // Returns false if this process needs to exit. | 96 // Returns false if this process needs to exit. |
99 bool HandleOtherVersion(); | 97 bool HandleOtherVersion(); |
100 | 98 |
101 // Acquires a singleton lock for the service process. A return value of false | 99 // Acquires a singleton lock for the service process. A return value of false |
102 // means that a service process instance is already running. | 100 // means that a service process instance is already running. |
(...skipping 12 matching lines...) Expand all Loading... |
115 | 113 |
116 // An opaque object that maintains state. The actual definition of this is | 114 // An opaque object that maintains state. The actual definition of this is |
117 // platform dependent. | 115 // platform dependent. |
118 struct StateData; | 116 struct StateData; |
119 StateData* state_; | 117 StateData* state_; |
120 scoped_ptr<base::SharedMemory> shared_mem_service_data_; | 118 scoped_ptr<base::SharedMemory> shared_mem_service_data_; |
121 scoped_ptr<CommandLine> autorun_command_line_; | 119 scoped_ptr<CommandLine> autorun_command_line_; |
122 }; | 120 }; |
123 | 121 |
124 #endif // CHROME_COMMON_SERVICE_PROCESS_UTIL_H_ | 122 #endif // CHROME_COMMON_SERVICE_PROCESS_UTIL_H_ |
OLD | NEW |