1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_FRAME_CHROME_LAUNCHER_UTILS_H_ 6 #define CHROME_FRAME_CHROME_LAUNCHER_UTILS_H_ 7 8 #include <string> 9 #include "base/memory/scoped_ptr.h" 10 11 class CommandLine; 12 13 namespace base { 14 class FilePath; 15 } 16 17 namespace chrome_launcher { 18 19 // The base name of the chrome_launcher.exe file. 20 extern const wchar_t kLauncherExeBaseName[]; 21 22 // Creates a command line suitable for launching Chrome. You can add any 23 // flags needed before launching. 24 // 25 // The command-line may use the Chrome executable directly, or use an in-between 26 // process if needed for security/elevation purposes. 27 // 28 // On success, returns true and populates command_line, which must be non-NULL, 29 // with the launch command line. 30 bool CreateLaunchCommandLine(scoped_ptr<CommandLine>* command_line); 31 32 // Creates a command line suitable for launching the specified command through 33 // Google Update. 34 // 35 // On success, returns true and populates command_line, which must be non-NULL, 36 // with the update command line. 37 bool CreateUpdateCommandLine(const std::wstring& update_command, 38 scoped_ptr<CommandLine>* command_line); 39 40 // Returns the full path to the Chrome executable. 41 base::FilePath GetChromeExecutablePath(); 42 43 } // namespace chrome_launcher 44 45 #endif // CHROME_FRAME_CHROME_LAUNCHER_UTILS_H_ 46