本文整理汇总了C++中Console::addCommand方法的典型用法代码示例。如果您正苦于以下问题:C++ Console::addCommand方法的具体用法?C++ Console::addCommand怎么用?C++ Console::addCommand使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Console
的用法示例。
在下文中一共展示了Console::addCommand方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char** argv)
{
(void) argc;
(void) argv;
if (signal(SIGINT, TerminationHandler) == SIG_IGN)
signal(SIGINT, SIG_IGN);
if (signal(SIGHUP, TerminationHandler) == SIG_IGN)
signal(SIGHUP, SIG_IGN);
if (signal(SIGTERM, TerminationHandler) == SIG_IGN)
signal(SIGTERM, SIG_IGN);
console.setPrompt(">");
CommandHandler::AddAllCommands(console, updater);
CommandHandler::AddAllLogCallback(console);
console.addCommand(Console::Command("exit", command_exit));
console.print(std::string("Client Terminal Test"));
int row, col;
int c = 0;
initscr();
noecho();
cbreak();
keypad(stdscr, FALSE);
timeout(100);
getmaxyx(stdscr, row, col);
std::thread thread(&UpdateThread);
while(!_exit)
{
{
std::lock_guard<std::mutex> lock(_mutex);
clear();
int curr = row - 1;
std::stringstream current;
current << console.getPrompt() << " " << console.editing() << ' ';
std::string edit = current.str();
edit = edit.length() < (size_t) col ? edit : edit.substr(0, col);
mvprintw(curr--, 0, edit.c_str());
const std::list<std::string>& output = console.out();
std::list<std::string>::const_iterator it = output.begin();
for(; curr >= 0 && it != output.end(); curr--, it++) {
std::string op = it->length() < (size_t) col ? *it : it->substr(0, col);
mvprintw(curr, 0, op.c_str());
}
move(row - 1, std::min((int) (console.getPrompt().length() + 1 + console.getCursorPos()), col-2));
}
c = getch();
{
std::lock_guard<std::mutex> lock(_mutex);
switch(c)
{
case KEY_UP:
console.historyUp();
break;
case KEY_DOWN:
console.historyDown();
break;
case KEY_LEFT:
console.cursorLeft();
break;
case KEY_RIGHT:
console.cursorRight();
break;
case KEY_RESIZE:
getmaxyx(stdscr, row, col);
break;
case KEY_BACKSPACE:
case 8:
case 127:
console.keyBackspace();
break;
case KEY_DC:
console.keyDelete();
break;
case KEY_EOL:
case KEY_EOS:
console.keyEnd();
break;
case KEY_HOME:
console.keyHome();
break;
case KEY_ENTER:
case '\n':
console.executeCurrentCommand();
break;
case KEY_STAB:
case '\t':
console.autocomplete();
break;
case KEY_MOUSE:
//.........这里部分代码省略.........