/* core/applicationinterface.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2. */ #ifndef __INCLUDED_CORE_APPLICATIONINTERFACE_H__ #define __INCLUDED_CORE_APPLICATIONINTERFACE_H__ namespace core { /// core interface for the client and server Application classes class ApplicationInterface { public: /// default constructor ApplicationInterface(); /// default destructor virtual ~ApplicationInterface(); /// initialize the application virtual void init(); /// shutdown the application virtual void shutdown(); /// run a core frame virtual void frame(float seconds); /// a pointer to the current console instance static ApplicationInterface *instance(); /// quit the application virtual void quit(int status); /// connect to the game module void connect(); /// disconnect from the game module void disconnect(); /// time the core has been running, in seconds float current_time; private: /// console singleton static ApplicationInterface *applicationinterface_instance; }; } // namespace core #endif // __INCLUDED_CORE_APPLICATIONINTERFACE_H__