#ifndef REMOTING_TEST_CLI_UTIL_H_
#define REMOTING_TEST_CLI_UTIL_H_
#include <string>
#include <vector>
#include "base/functional/callback.h"
namespace remoting {
namespace test {
struct CommandOption {
CommandOption();
CommandOption(const CommandOption&);
CommandOption(CommandOption&&);
CommandOption(
const std::string name,
const base::RepeatingCallback<void(base::OnceClosure on_done)>& command);
~CommandOption();
CommandOption& operator=(const CommandOption&);
CommandOption& operator=(CommandOption&&);
std::string name;
base::RepeatingCallback<void(base::OnceClosure on_done)> command;
};
void RunCommandOptionsLoop(const std::vector<CommandOption>& options);
std::string ReadString();
bool ReadYNBool(bool default_value = false);
std::string ReadStringFromCommandLineOrStdin(const std::string& switch_name,
const std::string& read_prompt);
void WaitForEnterKey(base::OnceClosure on_done);
}
}
#endif