bool CmdTestMsg::v_processArguments( int argc, char** argv, af::Msg &msg) { std::string qstring( argv[0]); int count = atoi(argv[1]); af::MCTest mctest( count, qstring); for( int i = 0; i < count; i++) mctest.addString( af::itos(i) + ": " + qstring); msg.set( af::Msg::TTESTDATA, &mctest); if( Verbose ) msg.stdOutData(); return true; }
bool CmdStatistics::v_processArguments( int argc, char** argv, af::Msg &msg) { if( argc >= 1 ) columns = atoi(argv[0]); if( argc >= 2 ) sorting = atoi(argv[1]); msg.set( af::Msg::TStatRequest); return true; }
bool CmdRenderResoucesList::v_processArguments( int argc, char** argv, af::Msg &msg) { std::string name = argv[0]; af::MCGeneral mcgeneral( name, 0); msg.set( getMsgType(), &mcgeneral); return true; }
bool CmdJobRunningTasksMaximum::processArguments( int argc, char** argv, af::Msg &msg) { std::string name = argv[0]; int number = atoi(argv[1]); af::MCGeneral mcgeneral( name, number); msg.set( getMsgType(), &mcgeneral); return true; }
bool CmdJobsRestart::processArguments( int argc, char** argv, af::Msg &msg) { std::string mask = argv[0]; if( af::RegExp::Validate( mask) == false ) return false; af::MCGeneral mcgeneral( mask, 0); msg.set( getMsgType(), &mcgeneral); return true; }
bool CmdJobsSetUser::processArguments( int argc, char** argv, af::Msg &msg) { std::string name = argv[0]; std::string user = argv[1]; af::MCGeneral mcgeneral( name, user); msg.set( getMsgType(), &mcgeneral); return true; }
bool AfCmd::processCommand( int argc, char** argv, af::Msg &msg) { if( argc <= 1 ) return true; std::string arg = argv[1]; if( arg.empty()) return true; bool command_founded = false; for( int i = 1; i < argc; i++) { arg = argv[i]; for( CmdList::iterator it = commands.begin(); it != commands.end(); it++) { if( i >= argc) break; command = *it; if( command->isCmd( argv[i])) { if( Help) { command->printHelp(); return true; } i++; if( command->hasArgsCount( argc - i)) { if( command->processArguments( argc - i, argv + i, msg)) { command_founded = true; if( msg.isNull()) { i += command->getArgsCount(); continue; } recieving = command->isRecieving(); return true; } } command->printHelp(); return false; } } } if( command_founded && (Help == false)) return true; printf("Usage: afcmd type options\n"); for( CmdList::iterator it = commands.begin(); it != commands.end(); it++) (*it)->printInfo(); printf("Type \"afcmd h [command]\" for command help.\n"); return false; }
void AfCmd::msgOutput( af::Msg &msg) { if( command->isMsgOutType( msg.type())) { command->msgOut( msg); } else { switch( msg.type()) { case af::Msg::TDATA: case af::Msg::TJSON: case af::Msg::TString: case af::Msg::TStringList: msg.stdOutData( false); break; case af::Msg::TConfirm: printf("Confirm(%d) message recieved.\n", msg.int32()); break; case af::Msg::TNULL: printf("None information message.\n"); break; case af::Msg::TInvalid: printf("Invalid message.\n"); break; default: printf("Unknown (for afcmd) message recieved.\n"); msg.stdOutData(); break; } } if( Verbose) { printf("AfCmd::msgOut: "); msg.stdOut(); } }
bool CmdMonitorLog::processArguments( int argc, char** argv, af::Msg &msg) { int number = atoi(argv[0]); msg.set( getMsgType(), number); return true; }
bool CmdMonitorList::processArguments( int argc, char** argv, af::Msg &msg) { msg.set( af::Msg::TMonitorsListRequest); return true; }
bool CmdConfirm::processArguments( int argc, char** argv, af::Msg &msg) { msg.set( af::Msg::TConfirm); return true; }
bool CmdJobsWeight::processArguments( int argc, char** argv, af::Msg &msg) { msg.set( getMsgType()); return true; }
bool CmdConfigMagic::processArguments( int argc, char** argv, af::Msg &msg) { msg.set( af::Msg::TMagicNumber, atoi(argv[0])); return true; }
void JobAf::writeProgress( af::Msg &msg) { msg.set( af::Msg::TJobProgress, m_progress); }
bool CmdInvalid::v_processArguments( int argc, char** argv, af::Msg &msg) { msg.set( af::Msg::TInvalid); return true; }
bool CmdRenderList::v_processArguments( int argc, char** argv, af::Msg &msg) { msg.set( getMsgType()); return true; }