#ifndef RUNNER_UTILS_H_ #define RUNNER_UTILS_H_ #include #include // Creates a console for the process, and redirects stdout and stderr to // it for both the runner and the Flutter library. void CreateAndAttachConsole(); // Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string // encoded in UTF-8. Returns an empty std::string on failure. std::string Utf8FromUtf16(const wchar_t* utf16_string); // Takes a null-terminated char* encoded in UTF-8 and returns a std::wstring // encoded in UTF-16. Returns an empty std::wstring on failure. std::wstring Utf16FromUtf8(const char* utf8_string); // Convert a wide Unicode string to an UTF8 string std::string utf8_encode(const std::wstring &wstr); // Convert an UTF8 string to a wide Unicode String std::wstring utf8_decode(const std::string &str); // Gets the command line arguments passed in as a std::vector, // encoded in UTF-8. Returns an empty std::vector on failure. std::vector GetCommandLineArguments(); // trims whitespace from the left side of a string const std::string ltrim(const std::string &s); // trims whitespace from the right side of a string const std::string rtrim(const std::string &s); // trims whitespace from both sides of a string const std::string trim(const std::string &s); #endif // RUNNER_UTILS_H_