// Copyright (c) 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ #define CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_ #include #include "base/win/scoped_handle.h" namespace base { class CommandLine; class FilePath; } // namespace base // Generates a CommandLine that will launch |chrome_exe| in Chrome Watcher mode // to observe |parent_process|, whose main thread is identified by // |main_thread_id|. The watcher process will signal |on_initialized_event| when // its initialization is complete. base::CommandLine GenerateChromeWatcherCommandLine( const base::FilePath& chrome_exe, HANDLE parent_process, DWORD main_thread_id, HANDLE on_initialized_event); // Interprets the Command Line used to launch a Chrome Watcher process and // extracts the parent process and initialization event HANDLEs and the parent // process main thread ID. Verifies that the handles are usable in this process // before returning them. Returns true if all parameters are successfully parsed // and false otherwise. In case of partial failure, any successfully parsed // HANDLEs will be closed. bool InterpretChromeWatcherCommandLine( const base::CommandLine& command_line, base::win::ScopedHandle* parent_process, DWORD* main_thread_id, base::win::ScopedHandle* on_initialized_event); #endif // CHROME_APP_CHROME_WATCHER_COMMAND_LINE_WIN_H_