00001 // 00002 // Copyright 2002 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 MoNetCommandInfoManager_h 00013 #define MoNetCommandInfoManager_h 00014 00015 #include <map> 00016 #include <list> 00017 using namespace std; 00018 #include "MoNetCommandInfo.h" 00019 00020 class MoNetCommandInfoManager { 00021 public: 00022 MoNetCommandInfoManager(); 00023 ~MoNetCommandInfoManager(); 00024 00025 MoNetCommandInfo* New(); 00026 MoNetCommandInfo* New(MoNetCommandID commandID, bool useSyncKey); 00027 MoNetCommandInfo* Find(MoNetCommandID commandID); 00028 00029 private: 00030 map<MoNetCommandID, MoNetCommandInfo*, less<MoNetCommandID> > infoMap; 00031 list<MoNetCommandInfo*> infoList; // without MoNetCommandID 00032 }; 00033 00034 #endif // MoNetCommandInfoManager_h