00001 // 00002 // Copyright 2002,2004 Sony Corporation 00003 // 00004 // Permission to use, copy, modify, and redistribute this software for 00005 // non-commercial use is hereby granted. 00006 // 00007 // This software is provided "as is" without warranty of any kind, 00008 // either expressed or implied, including but not limited to the 00009 // implied warranties of fitness for a particular purpose. 00010 // 00011 00012 #ifndef MoNetAgent_h_DEFINED 00013 #define MoNetAgent_h_DEFINED 00014 00015 #include <MoNetData.h> 00016 #include <ODA.h> 00017 #include "MoNetAgentManager.h" 00018 00019 class MoNetAgent { 00020 public: 00021 MoNetAgent(); 00022 ~MoNetAgent() {} 00023 00024 virtual void Init(ODA* oda); 00025 virtual bool AreYou(MoNetAgentID agent); 00026 virtual void NotifyCommand(const MoNetAgentCommand& command, 00027 MoNetAgentResult* result); 00028 virtual void ReadyEffector(const MoNetAgentCommand& command, 00029 MoNetAgentResult* result); 00030 virtual void SetJointGain(); 00031 00032 00033 protected: 00034 friend class MoNetAgentManager; 00035 void SetMoNetAgentManager(MoNetAgentManager* m); 00036 00037 MoNetAgentManager* moNetAgentManager; 00038 }; 00039 00040 #endif // MoNetAgent_h_DEFINED