OLD | NEW |
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 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_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ | 5 #ifndef CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ |
6 #define CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ | 6 #define CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ |
7 | 7 |
8 #include <windows.h> | 8 #include <windows.h> |
9 | 9 |
10 #include "base/win/scoped_handle.h" | 10 #include "base/win/scoped_handle.h" |
11 | 11 |
12 namespace base { | 12 namespace base { |
13 class CommandLine; | 13 class CommandLine; |
14 class FilePath; | 14 class FilePath; |
15 } // namespace base | 15 } // namespace base |
16 | 16 |
17 // Generates a CommandLine that will launch |chrome_exe| in Chrome Watcher mode | 17 // Generates a CommandLine that will launch |chrome_exe| in Chrome Watcher mode |
18 // to observe |parent_process|, whose main thread is identified by | 18 // to observe |parent_process|, whose main thread is identified by |
19 // |main_thread_id|. The watcher process will signal |on_initialized_event| when | 19 // |main_thread_id|. The watcher process will signal |on_initialized_event| when |
20 // its initialization is complete. | 20 // its initialization is complete. |
21 base::CommandLine GenerateChromeWatcherCommandLine( | 21 base::CommandLine GenerateChromeWatcherCommandLine( |
22 const base::FilePath& chrome_exe, | 22 const base::FilePath& chrome_exe, |
23 HANDLE parent_process, | 23 HANDLE parent_process, |
24 DWORD main_thread_id, | 24 DWORD main_thread_id, |
25 HANDLE on_initialized_event); | 25 HANDLE on_initialized_event); |
26 | 26 |
| 27 #define DLLEXPORT __declspec(dllexport) |
27 // Interprets the Command Line used to launch a Chrome Watcher process and | 28 // Interprets the Command Line used to launch a Chrome Watcher process and |
28 // extracts the parent process and initialization event HANDLEs and the parent | 29 // extracts the parent process and initialization event HANDLEs and the parent |
29 // process main thread ID. Verifies that the handles are usable in this process | 30 // process main thread ID. Verifies that the handles are usable in this process |
30 // before returning them. Returns true if all parameters are successfully parsed | 31 // before returning them. Returns true if all parameters are successfully parsed |
31 // and false otherwise. In case of partial failure, any successfully parsed | 32 // and false otherwise. In case of partial failure, any successfully parsed |
32 // HANDLEs will be closed. | 33 // HANDLEs will be closed. |
33 bool InterpretChromeWatcherCommandLine( | 34 bool DLLEXPORT InterpretChromeWatcherCommandLine( |
34 const base::CommandLine& command_line, | 35 const base::CommandLine& command_line, |
35 base::win::ScopedHandle* parent_process, | 36 base::win::ScopedHandle* parent_process, |
36 DWORD* main_thread_id, | 37 DWORD* main_thread_id, |
37 base::win::ScopedHandle* on_initialized_event); | 38 base::win::ScopedHandle* on_initialized_event); |
| 39 #undef DLLEXPORT |
38 | 40 |
39 #endif // CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ | 41 #endif // CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ |
OLD | NEW |