00001 /* libzz 00002 * 00003 * This program is distributed under the GNU General Public License, version 2. 00004 * A copy of this license is included with this source. 00005 * 00006 * Copyright 2000-2006, Toni Thomsson <toni@tonjac.org> 00007 */ 00008 00009 #ifndef zz_application_h 00010 #define zz_application_h 00011 00012 #include <zz_log.h> 00013 #include <zz_string.h> 00014 #include <zz_exception.h> 00015 #include <zz_arguments.h> 00016 #include <zz_export.h> 00017 00023 class ZZ_API CzzApplication 00024 { 00025 public: 00026 00034 CzzApplication( const CzzString& name ); 00035 00036 // Description: Destruktor 00037 virtual ~CzzApplication(); 00038 00045 void Run( CzzArguments& args ); 00046 00054 virtual void OnStart( void ); 00055 00060 virtual void OnEnd( void ); 00061 00068 virtual void OnException( CzzException& e ) { }; 00069 00074 virtual void OnUnhandledException( void ) { }; 00075 00079 static CzzApplication* getInstance( void ); 00080 00081 protected: 00082 00083 CzzLog* m_Log; 00084 CzzArguments m_Arguments; 00085 CzzString m_Name; 00086 static CzzApplication* m_pThis; 00087 }; 00088 00089 #endif // zz_application_h 00090 00091
1.4.6-NO