tizen 2.4 release
[framework/web/wrt-commons.git] / modules / core / src / application.cpp
similarity index 69%
rename from modules_mobile/core/src/application.cpp
rename to modules/core/src/application.cpp
index b2c9cc0..d5efe00 100644 (file)
@@ -21,7 +21,7 @@
  */
 #include <stddef.h>
 #include <dpl/application.h>
-#include <dpl/log/log.h>
+#include <dpl/log/wrt_log.h>
 
 namespace // anonymous
 {
@@ -29,39 +29,40 @@ static DPL::Application *g_application = NULL;
 } // namespace anonymous
 
 namespace DPL {
-int Application::app_create(void *data)
+bool Application::app_create(void *data)
 {
     Application *This = static_cast<Application *>(data);
     This->OnCreate();
-    return 0;
+    return true;
 }
 
-int Application::app_terminate(void *data)
+void Application::app_terminate(void *data)
 {
     Application *This = static_cast<Application *>(data);
     This->OnTerminate();
-    return 0;
 }
 
-int Application::app_pause(void *data)
+void Application::app_pause(void *data)
 {
     Application *This = static_cast<Application *>(data);
     This->OnPause();
-    return 0;
 }
 
-int Application::app_resume(void *data)
+void Application::app_resume(void *data)
 {
     Application *This = static_cast<Application *>(data);
     This->OnResume();
-    return 0;
 }
 
-int Application::app_reset(bundle *b, void *data)
+void Application::app_control(app_control_h app_control, void *data)
 {
     Application *This = static_cast<Application *>(data);
+
+    // convert app_control to bundle
+    bundle *b;
+    app_control_to_bundle(app_control, &b);
+
     This->OnReset(b);
-    return 0;
 }
 
 Application::Application(int argc, char** argv,
@@ -87,78 +88,76 @@ Application::~Application()
 
 int Application::Exec()
 {
-    LogPedantic("Starting application framework...");
+    WrtLogD("Starting application framework...");
 
-    struct appcore_ops ops;
-    ops.create = app_create;
-    ops.terminate = app_terminate;
-    ops.pause = app_pause;
-    ops.resume = app_resume;
-    ops.reset = app_reset;
-    ops.data = this;
+    ui_app_lifecycle_callback_s callback;
+    callback.create = app_create;
+    callback.terminate = app_terminate;
+    callback.pause = app_pause;
+    callback.resume = app_resume;
+    callback.app_control = app_control;
 
-    int result = appcore_efl_main(
-            m_applicationName.c_str(), &m_argc, &m_argv, &ops);
+    int result = ui_app_main(m_argc, m_argv, &callback, this);
 
-    LogPedantic("Exited application framework");
+    WrtLogD("Exited application framework");
 
     return result;
 }
 
 void Application::OnCreate()
 {
-    LogPedantic("On application create");
+    WrtLogD("On application create");
 }
 
 void Application::OnStart()
 {
-    LogPedantic("On application start");
+    WrtLogD("On application start");
 }
 
 void Application::OnStop()
 {
-    LogPedantic("On application stop");
+    WrtLogD("On application stop");
 }
 
 void Application::OnResume()
 {
-    LogPedantic("On application resume");
+    WrtLogD("On application resume");
 }
 
 void Application::OnPause()
 {
-    LogPedantic("On application pause");
+    WrtLogD("On application pause");
 }
 
 void Application::OnRelaunch()
 {
-    LogPedantic("On application relaunch");
+    WrtLogD("On application relaunch");
 }
 
 void Application::OnReset(bundle *b)
 {
     (void)b;
-    LogPedantic("On application reset");
+    WrtLogD("On application reset");
 }
 
 void Application::OnTerminate()
 {
-    LogPedantic("On application terminate");
+    WrtLogD("On application terminate");
 }
 
 void Application::OnLowMemory()
 {
-    LogPedantic("On application low memory");
+    WrtLogD("On application low memory");
 }
 
 void Application::OnLowBattery()
 {
-    LogPedantic("On application low battery");
+    WrtLogD("On application low battery");
 }
 
 void Application::OnLanguageChanged()
 {
-    LogPedantic("On application language changed");
+    WrtLogD("On application language changed");
 }
 
 void Application::Quit()
@@ -166,7 +165,7 @@ void Application::Quit()
     elm_exit();
 }
 
-DPL::Atomic ApplicationExt::m_useCount(0);
+std::atomic<int> ApplicationExt::m_useCount(0);
 
 ApplicationExt::ApplicationExt(int argc,
                                char** argv,
@@ -180,7 +179,8 @@ ApplicationExt::~ApplicationExt()
 
 int ApplicationExt::Exec()
 {
-    if (0 == m_useCount.CompareAndExchange(0, 1)) {
+    int testVal = 0;
+    if (!m_useCount.compare_exchange_strong(testVal, 1)) {
         return Application::Exec();
     } else {
         elm_run();