diff options
Diffstat (limited to 'toolsrc/include/vcpkg_System.h')
| -rw-r--r-- | toolsrc/include/vcpkg_System.h | 83 |
1 files changed, 23 insertions, 60 deletions
diff --git a/toolsrc/include/vcpkg_System.h b/toolsrc/include/vcpkg_System.h index 71caeed5e..eec0d6287 100644 --- a/toolsrc/include/vcpkg_System.h +++ b/toolsrc/include/vcpkg_System.h @@ -7,8 +7,6 @@ namespace vcpkg::System { - optional<std::wstring> get_registry_string(HKEY base, const wchar_t* subkey, const wchar_t* valuename); - fs::path get_exe_path_of_current_process(); struct exit_code_and_output @@ -17,30 +15,13 @@ namespace vcpkg::System std::string output; }; - int cmd_execute_clean(const wchar_t* cmd_line); - - inline int cmd_execute_clean(const std::wstring& cmd_line) - { - return cmd_execute_clean(cmd_line.c_str()); - } - - int cmd_execute(const wchar_t* cmd_line); + int cmd_execute_clean(const cwstring_view cmd_line); - inline int cmd_execute(const std::wstring& cmd_line) - { - return cmd_execute(cmd_line.c_str()); - } - - exit_code_and_output cmd_execute_and_capture_output(const wchar_t* cmd_line); - - inline exit_code_and_output cmd_execute_and_capture_output(const std::wstring& cmd_line) - { - return cmd_execute_and_capture_output(cmd_line.c_str()); - } + int cmd_execute(const cwstring_view cmd_line); - std::wstring create_powershell_script_cmd(const fs::path& script_path); + exit_code_and_output cmd_execute_and_capture_output(const cwstring_view cmd_line); - std::wstring create_powershell_script_cmd(const fs::path& script_path, const std::wstring& args); + std::wstring create_powershell_script_cmd(const fs::path& script_path, const cwstring_view args = L""); enum class color { @@ -49,56 +30,38 @@ namespace vcpkg::System warning = 14, }; - void print(const char* message); - void println(const char* message); - void print(const color c, const char* message); - void println(const color c, const char* message); + void print(const cstring_view message); + void println(const cstring_view message); + void print(const color c, const cstring_view message); + void println(const color c, const cstring_view message); - inline void print(const std::string& message) + template <class Arg1, class...Args> + void print(const char* messageTemplate, const Arg1& arg1, const Args&... messageArgs) { - return print(message.c_str()); + return print(Strings::format(messageTemplate, arg1, messageArgs...).c_str()); } - inline void println(const std::string& message) + template <class Arg1, class...Args> + void print(const color c, const Arg1& arg1, const char* messageTemplate, const Args&... messageArgs) { - return println(message.c_str()); + return print(c, Strings::format(messageTemplate, arg1, messageArgs...).c_str()); } - inline void print(const color c, const std::string& message) + template <class Arg1, class...Args> + void println(const char* messageTemplate, const Arg1& arg1, const Args&... messageArgs) { - return print(c, message.c_str()); + return println(Strings::format(messageTemplate, arg1, messageArgs...).c_str()); } - inline void println(const color c, const std::string& message) + template <class Arg1, class...Args> + void println(const color c, const char* messageTemplate, const Arg1& arg1, const Args&... messageArgs) { - return println(c, message.c_str()); + return println(c, Strings::format(messageTemplate, arg1, messageArgs...).c_str()); } - template <class...Args> - void print(const char* messageTemplate, const Args&... messageArgs) - { - return print(Strings::format(messageTemplate, messageArgs...).c_str()); - } - - template <class...Args> - void print(const color c, const char* messageTemplate, const Args&... messageArgs) - { - return print(c, Strings::format(messageTemplate, messageArgs...).c_str()); - } - - template <class...Args> - void println(const char* messageTemplate, const Args&... messageArgs) - { - return println(Strings::format(messageTemplate, messageArgs...).c_str()); - } - - template <class...Args> - void println(const color c, const char* messageTemplate, const Args&... messageArgs) - { - return println(c, Strings::format(messageTemplate, messageArgs...).c_str()); - } + optional<std::wstring> get_environmental_variable(const cwstring_view varname) noexcept; - optional<std::wstring> get_environmental_variable(const wchar_t* varname) noexcept; + void set_environmental_variable(const cwstring_view varname, const cwstring_view varvalue) noexcept; - void set_environmental_variable(const wchar_t* varname, const wchar_t* varvalue) noexcept; + optional<std::wstring> get_registry_string(HKEY base, const cwstring_view subkey, const cwstring_view valuename); } |
