From b129c5a144dfb116082689ffaaa9ac78e2403656 Mon Sep 17 00:00:00 2001 From: crupest Date: Wed, 18 Mar 2020 21:16:25 +0800 Subject: ... --- include/cru/platform/native/ui_application.hpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'include/cru/platform/native') diff --git a/include/cru/platform/native/ui_application.hpp b/include/cru/platform/native/ui_application.hpp index edbcc578..e02904bb 100644 --- a/include/cru/platform/native/ui_application.hpp +++ b/include/cru/platform/native/ui_application.hpp @@ -20,10 +20,15 @@ struct IUiApplication : public virtual INativeResource { public: static IUiApplication* GetInstance() { return instance; } - protected: + private: static IUiApplication* instance; + protected: + IUiApplication(); + public: + ~IUiApplication() override; + // Block current thread and run the message loop. Return the exit code when // message loop gets a quit message (possibly posted by method RequestQuit). virtual int Run() = 0; @@ -31,13 +36,13 @@ struct IUiApplication : public virtual INativeResource { // Post a quit message with given quit code. virtual void RequestQuit(int quit_code) = 0; - virtual void AddOnQuitHandler(const std::function& handler) = 0; + virtual void AddOnQuitHandler(std::function handler) = 0; - virtual void InvokeLater(const std::function& action) = 0; + virtual void InvokeLater(std::function action) = 0; virtual unsigned long SetTimeout(std::chrono::milliseconds milliseconds, - const std::function& action) = 0; + std::function action) = 0; virtual unsigned long SetInterval(std::chrono::milliseconds milliseconds, - const std::function& action) = 0; + std::function action) = 0; virtual void CancelTimer(unsigned long id) = 0; virtual std::vector GetAllWindow() = 0; -- cgit v1.2.3