// Copyright (c) 2010 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_FRAME_CHROME_LAUNCHER_UTILS_H_
#define CHROME_FRAME_CHROME_LAUNCHER_UTILS_H_
#include <string>
#include "base/memory/scoped_ptr.h"
class CommandLine;
namespace base {
class FilePath;
}
namespace chrome_launcher {
// The base name of the chrome_launcher.exe file.
extern const wchar_t kLauncherExeBaseName[];
// Creates a command line suitable for launching Chrome. You can add any
// flags needed before launching.
//
// The command-line may use the Chrome executable directly, or use an in-between
// process if needed for security/elevation purposes.
//
// On success, returns true and populates command_line, which must be non-NULL,
// with the launch command line.
bool CreateLaunchCommandLine(scoped_ptr<CommandLine>* command_line);
// Creates a command line suitable for launching the specified command through
// Google Update.
//
// On success, returns true and populates command_line, which must be non-NULL,
// with the update command line.
bool CreateUpdateCommandLine(const std::wstring& update_command,
scoped_ptr<CommandLine>* command_line);
// Returns the full path to the Chrome executable.
base::FilePath GetChromeExecutablePath();
} // namespace chrome_launcher
#endif // CHROME_FRAME_CHROME_LAUNCHER_UTILS_H_