#ifndef CC_APPLICATION_H #define CC_APPLICATION_H #include "CCThread.h" #include "CCSystem.h" namespace CTL { struct AppParameter_t{ int argc = 0; CCVector argv; }; class Application{ public: Application(int argc, char** argv); ~Application(); static int Running(const Application* app = nullptr); //-------------------------------------------------------------------------------------------------------------- void SetApp(void* app); void* GetApp(); //-------------------------------------------------------------------------------------------------------------- AppParameter_t GetParameter(); //-------------------------------------------------------------------------------------------------------------- static void Signal(Function&& func); //-------------------------------------------------------------------------------------------------------------- private: AppParameter_t Parameter{}; void* App = nullptr; inline static CCQueue> M_SignalQueues; inline static CCMutex M_Mutex; }; } #endif