| // 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 |