00001 #ifndef HEADER_APPLICATION_H 00002 #define HEADER_APPLICATION_H 00003 00004 class AgentPack; 00005 00006 #include "NoCopy.h" 00007 #include "BaseListener.h" 00008 #include "Name.h" 00009 00010 /** 00011 * Main application 00012 */ 00013 class Application : public NoCopy, public BaseListener { 00014 private: 00015 AgentPack *m_agents; 00016 bool m_quit; 00017 00018 private: 00019 void prepareLogLevel(); 00020 void prepareOptions(int argc, char *argv[]); 00021 void customizeGame(); 00022 void addSoundAgent(); 00023 public: 00024 Application(); 00025 virtual ~Application(); 00026 virtual const char *getName() const { return Name::APP_NAME; } 00027 00028 void init(int argc, char *argv[]); 00029 void run(); 00030 void shutdown(); 00031 00032 virtual void receiveSimple(const SimpleMsg *msg); 00033 virtual void receiveString(const StringMsg *msg); 00034 }; 00035 00036 #endif