Added usage of service_app_main instead of appcore_efl_main
authorTomasz Olszak <t.olszak@samsung.com>
Wed, 30 Sep 2015 10:02:37 +0000 (12:02 +0200)
committerTomasz Olszak <t.olszak@samsung.com>
Tue, 6 Oct 2015 13:30:56 +0000 (15:30 +0200)
Change-Id: I2a200b4a8bf367cad07128b218f3b6e0d8b4badf

CMakeLists.txt
org.tizen.screen-reader.xml
packaging/org.tizen.screen-reader.spec
src/main.c
src/screen_reader_vconf.c
tests/CMakeLists.txt

index 650c47c..20a7467 100755 (executable)
@@ -35,6 +35,7 @@ pkg_check_modules(pkgs REQUIRED
        capi-network-bluetooth
        notification
        capi-network-wifi
+       capi-appfw-service-application
        ${TAPI_REQUIRED_PKG}
 )
 
index f13fa26..10932c6 100755 (executable)
@@ -2,7 +2,7 @@
 <manifest xmlns="http://tizen.org/ns/packages" api-version="2.4" package="org.tizen.screen-reader" version="0.1.0" install-location="internal-only">
         <label>screen-reader</label>
         <description>SMART NAVIGATOR</description>
-        <ui-application appid="org.tizen.screen-reader" exec="/usr/apps/org.tizen.screen-reader/bin/screen-reader" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+        <service-application appid="org.tizen.screen-reader" exec="/usr/apps/org.tizen.screen-reader/bin/screen-reader" nodisplay="true" multiple="false" type="capp" taskmanage="false">
                 <label>screen-reader</label>
                 <icon>/usr/apps/org.tizen.screen-reader/res/icons/screen-reader.png</icon>
                 <label xml:lang="en-us">screen-reader</label>
@@ -10,6 +10,6 @@
                     <operation name="http://tizen.org/appcontrol/operation/read_screen"/>
                 </app-control>
                 <background-category value="media"/>
-        </ui-application>
+        </service-application>
 </manifest>
 
index 396b8f9..77e376c 100755 (executable)
@@ -28,6 +28,7 @@ BuildRequires:  pkgconfig(check)
 BuildRequires:  pkgconfig(capi-network-bluetooth)
 BuildRequires:  pkgconfig(notification)
 BuildRequires:  pkgconfig(capi-network-wifi)
+BuildRequires:  pkgconfig(capi-appfw-service-application)
 %if "%{?tizen_profile_name}" != "tv"
 BuildRequires:  pkgconfig(tapi)
 %endif
index 613d0d2..2b20ab7 100644 (file)
@@ -21,6 +21,8 @@
 #include <appcore-efl.h>
 #include <Elementary.h>
 #include <eldbus-1/Eldbus.h>
+#include <service_app.h>
+#include <vconf.h>
 #include "navigator.h"
 #include "window_tracker.h"
 #include "logger.h"
@@ -209,21 +211,27 @@ void set_signal_handler()
        }
 }
 
-static int app_create(void *data)
+static bool app_create(void *data)
 {
-       elm_init(0, NULL);
+       if (vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, 1))
+               ERROR("Can't set value of %s vconf key to 1", VCONFKEY_SETAPPL_ACCESSIBILITY_TTS);
+       DEBUG("atspi_init");
        atspi_init();
-
+       DEBUG("logger_init");
+       DEBUG("screen_reader_create_service");
        screen_reader_create_service(data);
 #ifndef SCREEN_READER_TV
+       DEBUG("screen_reader_gestures_init");
        screen_reader_gestures_init();
+       DEBUG("navigator_init");
        navigator_init();
 #endif
+       DEBUG("screen_reader_switch_enabled_set");
        screen_reader_switch_enabled_set(EINA_TRUE);
-       return 0;
+       return true;
 }
 
-static int app_terminate(void *data)
+static void app_terminate(void *data)
 {
        DEBUG("screen reader terminating");
 #ifndef SCREEN_READER_TV
@@ -237,11 +245,15 @@ static int app_terminate(void *data)
        DEBUG("clear ScreenReaderEnabled property");
        screen_reader_switch_enabled_set(EINA_FALSE);
        DEBUG("screen reader terminated");
-
+       if (vconf_set_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, 0))
+               ERROR("Can't set value of %s vconf key to 0", VCONFKEY_SETAPPL_ACCESSIBILITY_TTS);
        DEBUG("libatspi terminated");
        atspi_exit();
+}
 
-       return 0;
+static void app_control(app_control_h app_control, void *data)
+{
+       return;
 }
 
 int main(int argc, char **argv)
@@ -249,14 +261,12 @@ int main(int argc, char **argv)
        set_signal_handler();
        unsetenv("ELM_ATSPI_MODE");
 
-       struct appcore_ops ops = {
-               .create = app_create,
-               .terminate = app_terminate,
-               .pause = NULL,
-               .resume = NULL,
-               .reset = NULL
-       };
-       ops.data = get_pointer_to_service_data_struct();
 
-       return appcore_efl_main("screen-reader", &argc, &argv, &ops);
+       service_app_lifecycle_callback_s event_callback;
+
+       event_callback.create = app_create;
+       event_callback.terminate = app_terminate;
+       event_callback.app_control = app_control;
+
+       return service_app_main(argc, argv, &event_callback, get_pointer_to_service_data_struct());
 }
index f6ae5c1..b2daef2 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <Elementary.h>
 #include <vconf.h>
+#include <service_app.h>
 #include "screen_reader_vconf.h"
 #include "screen_reader_spi.h"
 #include "logger.h"
@@ -42,7 +43,7 @@ void app_termination_cb(keynode_t * node, void *user_data)
        service_data->run_service = node->value.i;
 
        if (service_data->run_service == 0) {
-               elm_exit();
+               service_app_exit();
        }
 
        DEBUG("END");
index 75034d8..881fdb5 100644 (file)
@@ -21,6 +21,7 @@ pkg_check_modules(tests REQUIRED
     check
     vconf
     elementary
+    capi-appfw-service-application
 )
 
 FOREACH(flag ${tests_CFLAGS})