CrossFramework Library
|
00001 00006 #if defined(XBASE_INCLUDED_APPLICATION_HPP) 00007 #else 00008 #define XBASE_INCLUDED_APPLICATION_HPP 00009 00010 //------------------------------------------------------------ 00011 #include <XBase/AppEvent.hpp> 00012 #include <XBase/NonCopyable.hpp> 00013 #include <XBase/OS.hpp> 00014 #include <XBase/Pointer.hpp> 00015 #include <XBase/SDKHeader.hpp> 00016 00017 #if defined(XBASE_OS_WINDOWS) 00018 #include <XBase/Application_Windows.hpp> 00019 #elif defined(XBASE_OS_MACOSX) 00020 #include <XBase/Application_MacOSX.hpp> 00021 #else 00022 #include <XBase/Application_Default.hpp> 00023 #endif 00024 00025 //------------------------------------------------------------ 00026 namespace XBase { 00027 class Argument; 00028 class Display; 00029 } 00030 00031 //------------------------------------------------------------ 00032 namespace XBase { 00034 00035 00041 class Application : public ::XBase::NonCopyable 00042 { 00043 public: 00045 static Application& Instance(); 00046 00047 // コンストラクタと 00048 Application( const Argument& ); 00049 ~Application(); 00050 00052 const Argument& argument()const; 00053 00060 void quit(); 00061 00063 00064 AppEvent receiveEvent(); 00065 AppEvent lastEvent()const; 00066 00067 00068 //============================================================ 00069 // 内部処理用関数。 00070 void registerDisplay_( Display& ); 00071 void unregisterDisplay_( Display& ); 00072 00073 private: 00074 const Argument& mArgument; 00075 AppEvent mLastEvent; 00076 Pointer< Display > mDisplayPtr; 00077 Application_EXT mEXT; 00078 //------------------------------------------------------------ 00079 AppEvent receiveEventCore(); 00080 }; 00082 } 00083 //------------------------------------------------------------ 00084 #endif 00085 // EOF