MOOS 0.2375
|
00001 00002 #include <MOOSLIB/MOOSApp.h> 00003 00004 class CB:public CMOOSApp 00005 { 00006 public: 00007 CB(){m_Spinner = "-/|\\";m_nTick = 0;} 00008 bool Run(const std::string & sName, 00009 const std::string & sMissionFile, 00010 const std::string & sPublish, 00011 const std::string & sWhat) 00012 { 00013 m_sPublish = sPublish; 00014 m_sWhat = sWhat; 00015 MOOSTrace("This is Example B:\n"); 00016 00017 MOOSTrace("The additional parameters are %s and %s\n",m_sPublish.c_str(),m_sWhat.c_str()); 00018 return CMOOSApp::Run(sName.c_str(),sMissionFile.c_str()); 00019 } 00020 00021 bool Iterate() 00022 { 00023 MOOSTrace("Publishing \"%s\" with value \"%s\"",m_sPublish.c_str(),m_sWhat.c_str()); 00024 m_Comms.Notify(m_sPublish,m_sWhat); 00025 MOOSTrace(" ( Iterate [%.8d] : %c)\r",m_nTick,m_Spinner[m_nTick++%3]); 00026 return true; 00027 } 00028 protected: 00029 std::string m_Spinner,m_sPublish,m_sWhat; 00030 int m_nTick; 00031 }; 00032 00033 int main(int argc,char *argv[]) 00034 { 00035 const char * sMissionFile = "Mission.moos"; 00036 const char * sMOOSName = "pTestAppB"; 00037 const char * sPublish = "NotSet" ; 00038 const char * sWhat = "not set"; 00039 switch(argc) 00040 { 00041 case 5: 00042 sWhat = argv[4]; 00043 case 4: 00044 sPublish = argv[3]; 00045 case 3: 00046 sMOOSName = argv[2]; 00047 case 2: 00048 sMissionFile = argv[1]; 00049 case 1: 00050 break; 00051 default: 00052 for(int i = 3;i<argc;i++) 00053 { 00054 MOOSTrace("arg[%d] = %s\n",i,argv[i]); 00055 } 00056 } 00057 CB B; 00058 B.Run(sMOOSName,sMissionFile,sPublish,sWhat); 00059 } 00060