00001 #ifndef HEADER_AGENTPACK_H
00002 #define HEADER_AGENTPACK_H
00003
00004 class BaseAgent;
00005
00006 #include "NoCopy.h"
00007 #include <string>
00008
00009 #include <map>
00010
00011
00012
00013
00014 class AgentPack : public NoCopy {
00015 private:
00016 typedef std::map<std::string,BaseAgent*> t_agents;
00017 t_agents m_agents;
00018 static AgentPack *ms_singleton;
00019 public:
00020 AgentPack();
00021 ~AgentPack();
00022
00023 void addAgent(BaseAgent *agent);
00024 void removeAgent(const std::string &name);
00025
00026 static BaseAgent *getAgent(const std::string &name);
00027
00028 void init(const std::string &stopAgent="");
00029 void update();
00030 void shutdown();
00031 };
00032
00033 #endif