00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef MoNetTest_h_DEFINED
00013 #define MoNetTest_h_DEFINED
00014
00015 #include <OPENR/OObject.h>
00016 #include <OPENR/OSubject.h>
00017 #include <OPENR/OObserver.h>
00018 #include <OPENR/ODataArchive.h>
00019 #include <MoNetData.h>
00020 #include "def.h"
00021
00022 #include <list>
00023 using namespace std;
00024
00025 enum MoNetTestState {
00026 MNTS_IDLE,
00027 MNTS_START,
00028 MNTS_WAITING_RESULT,
00029 MNTS_SHUTDOWN
00030 };
00031
00032 const MoNetCommandID SLEEP2SLEEP_NULL = 0;
00033 const MoNetCommandID STAND2STAND_NULL = 2;
00034
00035 class MoNetTest : public OObject {
00036 public:
00037 MoNetTest();
00038 virtual ~MoNetTest() {}
00039
00040 OSubject* subject[numOfSubject];
00041 OObserver* observer[numOfObserver];
00042
00043 virtual OStatus DoInit (const OSystemEvent& event);
00044 virtual OStatus DoStart (const OSystemEvent& event);
00045 virtual OStatus DoStop (const OSystemEvent& event);
00046 virtual OStatus DoDestroy(const OSystemEvent& event);
00047
00048 void ReadyCommand(const OReadyEvent& event);
00049 void NotifyResult(const ONotifyEvent& event);
00050
00051 private:
00052 void ParseCommandLine(char* cmdline);
00053 void Execute(MoNetCommandID cmdID);
00054
00055 MoNetTestState moNetTestState;
00056 list<MoNetCommandID> commandQueue;
00057 };
00058
00059 #endif // MoNetTest_h_DEFINED