object oriented programming : class application

时间:2023-03-09 03:08:44
object oriented programming : class application
class Thread_Sync;
class Critical;
class Info; class Info{Info(std::string str):m_info(str){}
private:
std::string m_info;}; // a process need: { pre-run();run();post-run();mutex for threads, running previlledge} #define APPL_DECLARE_APP( YourAppClass ) \
class YourAppClass : public Application \
{ \
public: \
YourAppClass(int argc, const char * argv[]) \
: Application(argc, argv) {}; \
virtual \
int Main(int argc, ArgvType argv); \
}; // provide a main() runtine
#define APPL_DEFINE_MAIN( YourAppClass ) \
int \
main(int argc, const char * argv[]) \
{ a
YourAppClass theApp(argc, argv); \
return(theApp.Run()); \
} class Application
{
public:
virtual ~Application();
int Run(){if(Startup() && Main(argc,argv)&& Shutdown()) { return true;} return false;)
static Application & TheApp();
bool SetProcessPriority(int priority);
protected:
Application(int argc, const char * argv[]);
virtual int Startup();
virtual int Main(int argc, char ** argv) { return ; }
virtual int Shutdown();
private:
Critical* m_pGuard;
Info * m_info;int m_priority;
int m_argc;char ** m_argv;
static Application * pInstance;
};