void HotKeysParser::add_hotkey(const std::string& hotkey, const CommandsMap& commands_map) { std::string::size_type key_start = hotkey.find('=', 0); if (key_start == std::string::npos) { THROW("unable to parse hot keys"); } std::string command_name = hotkey.substr(0, key_start); if (commands_map.find(command_name) == commands_map.end()) { THROW("invalid action bname %s", command_name.c_str()); } int command_id = commands_map.find(command_name)->second; std::string keys = hotkey.substr(key_start + 1); parse_keys(command_id, keys); }
int main(int p_argc, char* p_argv[]) { std::cout << "-------------------------" << std::endl; std::cout << "GPU plot generator v4.2.2" << std::endl; std::cout << "-------------------------" << std::endl; std::cout << "Author: Cryo" << std::endl; std::cout << "Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD" << std::endl; std::cout << "Burst: BURST-YA29-QCEW-QXC3-BKXDL" << std::endl; std::cout << "----" << std::endl; typedef cryo::gpuPlotGenerator::CommandHelp::CommandsMap CommandsMap; CommandsMap commands; commands.insert(CommandsMap::value_type("help", CommandsMap::mapped_type(new cryo::gpuPlotGenerator::CommandHelp(commands)))); commands.insert(CommandsMap::value_type("listPlatforms", CommandsMap::mapped_type(new cryo::gpuPlotGenerator::CommandListPlatforms()))); commands.insert(CommandsMap::value_type("listDevices", CommandsMap::mapped_type(new cryo::gpuPlotGenerator::CommandListDevices()))); commands.insert(CommandsMap::value_type("setup", CommandsMap::mapped_type(new cryo::gpuPlotGenerator::CommandSetup()))); commands.insert(CommandsMap::value_type("generate", CommandsMap::mapped_type(new cryo::gpuPlotGenerator::CommandGenerate()))); commands.insert(CommandsMap::value_type("verify", CommandsMap::mapped_type(new cryo::gpuPlotGenerator::CommandVerify()))); if(p_argc == 1) { commands.at("help")->help(); return -1; } std::string command(p_argv[1]); std::vector<std::string> args(p_argv + 2, p_argv + p_argc); if(commands.find(command) == commands.end()) { std::cout << "[ERROR] Unknown [" << command << "] command" << std::endl; std::cout << "----" << std::endl; commands.at("help")->help(); return -1; } return commands.at(command)->execute(args); }
int main(int p_argc, char* p_argv[]) { std::cerr << "-------------------------" << std::endl; std::cerr << "GPU plot generator v2.0.1" << std::endl; std::cerr << "-------------------------" << std::endl; std::cerr << "Author: Cryo" << std::endl; std::cerr << "Bitcoin: 138gMBhCrNkbaiTCmUhP9HLU9xwn5QKZgD" << std::endl; std::cerr << "Burst: BURST-YA29-QCEW-QXC3-BKXDL" << std::endl; std::cerr << "----" << std::endl; typedef std::map<std::string, Command*> CommandsMap; CommandsMap commands; commands.insert(CommandsMap::value_type("help", new CommandHelp(commands))); commands.insert(CommandsMap::value_type("list", new CommandList())); commands.insert(CommandsMap::value_type("generate", new CommandGenerate())); std::vector<std::string> args(p_argv + 1, p_argv + p_argc); if(args.size() == 0) { commands.at("help")->help(); return -1; } std::string command(args[0]); if(commands.find(command) == commands.end()) { std::cerr << "[ERROR] Unknown [" << command << "] command" << std::endl; std::cerr << "----" << std::endl; commands.at("help")->help(); return -1; } int returnCode = commands.at(command)->execute(args); for(CommandsMap::iterator it(commands.begin()) ; it != commands.end() ; ++it) { delete it->second; } return returnCode; }