Support UI Thread
[platform/core/appfw/app-core.git] / tizen-cpp / app-core-ui-cpp / app_core_ui_base.hh
index 2d06eb9..310665b 100644 (file)
@@ -20,6 +20,7 @@
 #include <memory>
 
 #include <app_core_base.hh>
+#include <app_core_task_base.hh>
 #include <interface_app_core_ui.hh>
 #include <interface_window.hh>
 
@@ -39,6 +40,7 @@ class EXPORT_API AppCoreUiBase : public AppCoreBase,
   constexpr static int HINT_WINDOW_AUTO_CONTROL = 0x10;
   constexpr static int HINT_LEGACY_CONTROL = 0x20;
   constexpr static int HINT_WINDOW_ID_CONTROL = 0x40;
+  constexpr static int HINT_DUAL_THREAD = 0x80;
 
   AppCoreUiBase(unsigned int hint);
   virtual ~AppCoreUiBase();
@@ -68,12 +70,18 @@ class EXPORT_API AppCoreUiBase : public AppCoreBase,
   void SetSystemResourceReclaiming(bool enable);
   void Run(int argc, char** argv) override;
   void Dispose() override;
+  virtual std::unique_ptr<AppCoreTaskBase> CreateTask();
+  void Exit() override;
 
  protected:
   void SetCoreUiDelegator(IAppCoreUi* delegator);
   void SetWindowDelegator(IWindow* delegator);
 
  private:
+  void DoRun(int argc, char** argv);
+  void DoExit();
+
+ private:
   class Impl;
   std::unique_ptr<Impl> impl_;
 };