home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2003 March / VPR0303A.ISO / AIBO / MoNet / MotionAgents / MotionAgents.h < prev    next >
C/C++ Source or Header  |  2002-12-19  |  1KB  |  52 lines

  1. //
  2. // Copyright 2002 Sony Corporation 
  3. //
  4. // Permission to use, copy, modify, and redistribute this software for
  5. // non-commercial use is hereby granted.
  6. //
  7. // This software is provided "as is" without warranty of any kind,
  8. // either expressed or implied, including but not limited to the
  9. // implied warranties of fitness for a particular purpose.
  10. //
  11.  
  12. #ifndef MotionAgents_h_DEFINED
  13. #define MotionAgents_h_DEFINED
  14.  
  15. #include <OPENR/OObject.h>
  16. #include <OPENR/OSubject.h>
  17. #include <OPENR/OObserver.h>
  18. #include "def.h"
  19. #include "MoNetAgentManager.h"
  20. #include "NeutralAgent.h"
  21. #include "MTNAgent.h"
  22.  
  23. enum MotionAgentsState {
  24.     MAS_IDLE,
  25.     MAS_START
  26. };
  27.  
  28. class MotionAgents : public OObject {
  29. public:
  30.     MotionAgents();
  31.     virtual ~MotionAgents() {}
  32.  
  33.     OSubject*  subject[numOfSubject];
  34.     OObserver* observer[numOfObserver];
  35.  
  36.     virtual OStatus DoInit   (const OSystemEvent& event);
  37.     virtual OStatus DoStart  (const OSystemEvent& event);
  38.     virtual OStatus DoStop   (const OSystemEvent& event);
  39.     virtual OStatus DoDestroy(const OSystemEvent& event);
  40.     
  41.     void NotifyCommand(const ONotifyEvent& event);
  42.     void ReadyEffector(const OReadyEvent& event);
  43.  
  44. private:
  45.     MotionAgentsState motionAgentsState;
  46.     MoNetAgentManager moNetAgentManager;
  47.     NeutralAgent      neutralAgent;
  48.     MTNAgent          mtnAgent;
  49. };
  50.  
  51. #endif // MotionAgents_h_DEFINED
  52.