// Copyright (c) 2012 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.
#include "win8/delegate_execute/delegate_execute_util.h"
#include "base/files/file_path.h"
#include "base/strings/string_util.h"
namespace delegate_execute {
CommandLine CommandLineFromParameters(const wchar_t* params) {
CommandLine command_line(CommandLine::NO_PROGRAM);
if (params) {
base::string16 command_string(L"noprogram.exe ");
command_string.append(params);
command_line.ParseFromString(command_string);
command_line.SetProgram(base::FilePath());
}
return command_line;
}
CommandLine MakeChromeCommandLine(const base::FilePath& chrome_exe,
const CommandLine& params,
const base::string16& argument) {
CommandLine chrome_cmd(params);
chrome_cmd.SetProgram(chrome_exe);
if (!argument.empty())
chrome_cmd.AppendArgNative(argument);
return chrome_cmd;
}
base::string16 ParametersFromSwitch(const char* a_switch) {
if (!a_switch)
return base::string16();
CommandLine cmd_line(CommandLine::NO_PROGRAM);
cmd_line.AppendSwitch(a_switch);
base::string16 command_string(cmd_line.GetCommandLineString());
base::TrimWhitespace(command_string, base::TRIM_ALL, &command_string);
return command_string;
}
} // namespace delegate_execute