Service_NSSM/CC_SDK/Include/Module/Window/CCApplication.h
2025-09-27 14:24:18 +08:00

35 lines
1.2 KiB
C++

#ifndef CC_APPLICATION_H
#define CC_APPLICATION_H
#include "CCThread.h"
#include "CCSystem.h"
namespace CTL {
struct AppParameter_t{
int argc = 0;
CCVector<String> 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<void()>&& func);
//--------------------------------------------------------------------------------------------------------------
private:
AppParameter_t Parameter{};
void* App = nullptr;
inline static CCQueue<Function<void()>> M_SignalQueues;
inline static CCMutex M_Mutex;
};
}
#endif