Remove elementary dependency 77/323877/2
authorWonsik Jung <sidein@samsung.com>
Thu, 8 May 2025 10:19:25 +0000 (19:19 +0900)
committerWonsik Jung <sidein@samsung.com>
Thu, 8 May 2025 10:49:43 +0000 (19:49 +0900)
Remove elementary dependency.
For that, service app core is used instead of appcore-efl.

Change-Id: I269b7404152cf76906c95e8f4e882eed13ef6180

CMakeLists.txt
packaging/org.tizen.screen-reader.spec
src/main.c
src/screen_reader_vconf.c
tests2/wrappers/generate_wrappers.py

index 65b311dd508801f11fbbf4ef42fca8d5f2f47bf5..3991ab079e575774c428decbdebe6c60e83dc1b8 100755 (executable)
@@ -48,9 +48,8 @@ ENDIF()
 INCLUDE(FindPkgConfig)
 pkg_check_modules(pkgs REQUIRED
        bundle
-       appcore-efl
+        appcore-common
        eldbus
-       elementary
        ecore
        atspi-2
        gobject-2.0
@@ -61,8 +60,9 @@ pkg_check_modules(pkgs REQUIRED
        capi-system-device
        capi-network-bluetooth
        notification
-       capi-appfw-application
        capi-network-wifi-manager
+        capi-appfw-app-control
+        capi-appfw-service-application
        appsvc
        aul
        ${TAPI_REQUIRED_PKG}
index dd3d84f462efb34c2905cba0c833dc84134f4239..0c311314bbec360914059488181ba8b49731c2a9 100755 (executable)
@@ -11,11 +11,10 @@ Source0:    %{name}-%{version}.tar.gz
 BuildRequires:  at-spi2-core
 BuildRequires:  at-spi2-core-devel
 BuildRequires:  cmake
-BuildRequires:  pkgconfig(appcore-efl)
+BuildRequires:  pkgconfig(appcore-common)
 BuildRequires:  pkgconfig(ecore)
 BuildRequires:  pkgconfig(eina)
 BuildRequires:  pkgconfig(eldbus)
-BuildRequires:  pkgconfig(elementary)
 BuildRequires:  pkgconfig(mm-sound)
 BuildRequires:  pkgconfig(capi-system-device)
 BuildRequires:  tts
@@ -26,9 +25,10 @@ BuildRequires:  pkgconfig(check)
 BuildRequires:  pkgconfig(capi-network-bluetooth)
 BuildRequires:  pkgconfig(notification)
 BuildRequires:  pkgconfig(capi-network-wifi-manager)
+BuildRequires:  pkgconfig(capi-appfw-app-control)
+BuildRequires:  pkgconfig(capi-appfw-service-application)
 BuildRequires:  pkgconfig(tapi)
 BuildRequires:  pkgconfig(libtzplatform-config)
-BuildRequires:  pkgconfig(capi-appfw-application)
 BuildRequires:  pkgconfig(appsvc)
 BuildRequires:  pkgconfig(aul)
 Provides:       %{name}-profile_common = %{version}-%{release}
index 8cbb5f4fe928f68932c1e228cc6cfadd452f5ae7..9a2d0d39931a0f041af62901b55427c62e0f9bbb 100644 (file)
  * limitations under the License.
  */
 
-#include <appcore-efl.h>
-#include <Elementary.h>
+#include <service_app.h>
+#include <app_control_internal.h>
 #include <eldbus-1/Eldbus.h>
 #include <vconf.h>
-#include <app.h>
 #ifndef SCREEN_READER_TV
 #include "navigator.h"
 #endif
 #include "dbus_direct_reading_adapter.h"
 #include "screen_reader_tts.h"
 
-static int app_create(void *data)
+static bool app_create(void *data)
 {
        Service_Data *sd = (Service_Data*)data;
 
-       elm_init(0, NULL);
-
        /* allocate SESSION connection here to make alive always
           if connection is released, then vanished callback is called on
            at-spi-bus-launcher side. and it disables 'IsEnabled' property */
        if (eldbus_init() < 1) {
                ERROR("Failed to initialize Eldbus");
-               return -1;
+               return false;
        }
 
        sd->conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SESSION);
        if (!sd->conn) {
                ERROR("Failed to get Eldbus session connection");
-               return -1;
+               return false;
        }
 
        int atspi_init_result = atspi_init();
        if (atspi_init_result != 0) {
                ERROR("atspi_init failed");
-               return -1;
+               return false;
        }
        int services_init_result = screen_reader_create_service(sd);
        if (services_init_result != 0) {
                ERROR("screen_reader_create_service failed");
-               return -1;
+               return false;
        }
        DEBUG("[START] init direct reading");
        sd->reading_adapter_data = dbus_direct_reading_init();
        if (!sd->reading_adapter_data) {
                ERROR("direct reading initialization has failed");
-               return -1;
+               return false;
        }
 #ifndef SCREEN_READER_TV
        //screen_reader_gestures_init();
        sd->navigator_data = navigator_init();
        if (sd->navigator_data == NULL) {
                ERROR("Navigator not initialized");
-               return -1;
+               return false;
        }
 
        sd->system_data = system_notifications_init();
@@ -81,10 +78,10 @@ static int app_create(void *data)
 #endif
        screen_reader_switch_enabled_set(EINA_TRUE);
        screen_reader_switch_wm_enabled_set(EINA_TRUE);
-       return 0;
+       return true;
 }
 
-static int app_terminate(void *data)
+static void app_terminate(void *data)
 {
        Service_Data *sd = (Service_Data*)data;
 
@@ -114,15 +111,17 @@ static int app_terminate(void *data)
                eldbus_connection_unref(sd->conn);
        eldbus_shutdown();
 
-       elm_exit();
        DEBUG("screen reader terminated");
 
-       return 0;
+       return;
 }
 
-static int app_reset(bundle *b,  void *user_data)
+static void app_control(app_control_h app_control,  void *user_data)
 {
        char *value = NULL;
+       bundle *b = NULL;
+       app_control_to_bundle(app_control, &b);
+
        bundle_get_str(b, "by_vconf_change", &value);
        if (value && g_strcmp0(value, "yes") == 0) {
 #ifndef SCREEN_READER_TV
@@ -133,21 +132,20 @@ static int app_reset(bundle *b,  void *user_data)
 #endif
        }
 
-       return 0;
+       return;
 }
 
 int main(int argc, char **argv)
 {
        unsetenv("ELM_ATSPI_MODE");
 
-       struct appcore_ops ops = {
-               .create = app_create,       /* 1 */
-               .terminate = app_terminate,
-               .pause = NULL,
-               .resume = NULL,             /* 3 */
-               .reset = app_reset          /* 2 */
-       };
-       ops.data = get_pointer_to_service_data_struct();
+       service_app_lifecycle_callback_s event_callback;
+
+       event_callback.create = app_create;
+       event_callback.terminate = app_terminate;
+       event_callback.app_control = app_control;
+
+       Service_Data *data = get_pointer_to_service_data_struct();
 
-       return appcore_efl_main("screen-reader", &argc, &argv, &ops);
+       return service_app_main(argc, argv, &event_callback, data);
 }
index 1927295eeed457312da5b5796962976748c1c0c8..8b9625f4ee70d7afe36f3137509a9d5e1b8807ef 100644 (file)
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#include <appcore-efl.h>
+#include <appcore-common.h>
 #include <locale.h>
 #include <vconf.h>
 
index f9a827d1f9cfd43c5680331f1240308e9e2063cb..c67706f86526107af7121092067335712ff30bf1 100755 (executable)
@@ -20,7 +20,7 @@
 # 6. run ./generate_wrappers.py generate --input %{output_database_file_from_point_5} --output %{directory_for_wrappers} - note, that this command will remove any *.cpp *.h files in %{directory_for_wrappers} directory.
 #
 # for example for screen-reader you can use (from project's root directory):
-#   tests2/wrappers/generate_wrappers.py parse --input src --output out --command-line "-D_TZ_SYS_RO_APP=\\\"/usr/apps\\\" -g -O0 -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -Wformat-security -fmessage-length=0 -Wl,--as-needed --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -g -DELM_ACCESS_KEYBOARD   -D_REENTRANT -D__TIZEN__ -D__TIZEN_BT__ -pthread -I/usr/include/appcore -I/usr/include/elementary-1 -I/usr/include/efl-1 -I/usr/include/ecore-fb-1 -I/usr/include/efl-1 -I/usr/include/ethumb-client-1 -I/usr/include/efl-1 -I/usr/include/ethumb-1 -I/usr/include/efl-1 -I/usr/include/edje-1 -I/usr/include/efl-1 -I/usr/include/ecore-audio-1 -I/usr/include/efl-1 -I/usr/include/embryo-1 -I/usr/include/efl-1 -I/usr/include/ecore-imf-evas-1 -I/usr/include/efl-1 -I/usr/include/ecore-evas-1 -I/usr/include/efl-1 -I/usr/include/ecore-drm-1 -I/usr/include/libdrm -I/usr/include/exynos -I/usr/include/sprd -I/usr/include/efl-1 -I/usr/include/ecore-input-evas-1 -I/usr/include/efl-1 -I/usr/include/emotion-1 -I/usr/include/efl-1 -I/usr/include/eeze-1 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/efl-1 -I/usr/include/evas-1 -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/efl-1 -I/usr/include/ector-1 -I/usr/include/efl-1 -I/usr/include/ecore-imf-1 -I/usr/include/efl-1 -I/usr/include/eldbus-1 -I/usr/include/efl-1 -I/usr/include/efreet-1 -I/usr/include/efl-1 -I/usr/include/efreet-1 -I/usr/include/efl-1 -I/usr/include/efreet-1 -I/usr/include/efl-1 -I/usr/include/ecore-ipc-1 -I/usr/include/efl-1 -I/usr/include/ecore-file-1 -I/usr/include/efl-1 -I/usr/include/ecore-con-1 -I/usr/include/efl-1 -I/usr/include/eio-1 -I/usr/include/efl-1 -I/usr/include/eet-1 -I/usr/include/efl-1 -I/usr/include/emile-1 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/media -I/usr/include/system -I/usr/include/network -I/usr/include/notification -I/usr/include/appfw -I/usr/include/vconf -I/usr/include/appfw -I/usr/include/appcore -I/usr/include/sensor -I/usr/include/aul -I/usr/include/vconf -I/usr/include/ -I/usr/include/network -I/usr/include/telephony-client -I/usr/include/wayland-extension -I/usr/include/efl-1 -I/usr/include/ecore-input-1 -I/usr/include/efl-1 -I/usr/include/ecore-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/efl-1 -I/usr/include/eo-1 -I/usr/include/efl-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina -I/usr/include/dlog -Wall -Wunused -Wno-format -Wno-format-security -fPIE -I/home/abuild/rpmbuild/BUILD/org.tizen.screen-reader-0.0.8/include     -o CMakeFiles/screen-reader.dir/src/flat_navi.c.o   -c /home/abuild/rpmbuild/BUILD/org.tizen.screen-reader-0.0.8/src/flat_navi.c"
+#   tests2/wrappers/generate_wrappers.py parse --input src --output out --command-line "-D_TZ_SYS_RO_APP=\\\"/usr/apps\\\" -g -O0 -O2 -g2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector -Wformat-security -fmessage-length=0 -Wl,--as-needed --param=ssp-buffer-size=4 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -mthumb -Wp,-D__SOFTFP__ -Wl,-O1 -Wl,--hash-style=gnu -Wa,-mimplicit-it=thumb -g -DELM_ACCESS_KEYBOARD   -D_REENTRANT -D__TIZEN__ -D__TIZEN_BT__ -pthread -I/usr/include/appcore -I/usr/include/efl-1 -I/usr/include/ecore-fb-1 -I/usr/include/efl-1 -I/usr/include/ethumb-client-1 -I/usr/include/efl-1 -I/usr/include/ethumb-1 -I/usr/include/efl-1 -I/usr/include/edje-1 -I/usr/include/efl-1 -I/usr/include/ecore-audio-1 -I/usr/include/efl-1 -I/usr/include/embryo-1 -I/usr/include/efl-1 -I/usr/include/ecore-imf-evas-1 -I/usr/include/efl-1 -I/usr/include/ecore-evas-1 -I/usr/include/efl-1 -I/usr/include/ecore-drm-1 -I/usr/include/libdrm -I/usr/include/exynos -I/usr/include/sprd -I/usr/include/efl-1 -I/usr/include/ecore-input-evas-1 -I/usr/include/efl-1 -I/usr/include/emotion-1 -I/usr/include/efl-1 -I/usr/include/eeze-1 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/uuid -I/usr/include/efl-1 -I/usr/include/evas-1 -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/efl-1 -I/usr/include/ector-1 -I/usr/include/efl-1 -I/usr/include/ecore-imf-1 -I/usr/include/efl-1 -I/usr/include/eldbus-1 -I/usr/include/efl-1 -I/usr/include/efreet-1 -I/usr/include/efl-1 -I/usr/include/efreet-1 -I/usr/include/efl-1 -I/usr/include/efreet-1 -I/usr/include/efl-1 -I/usr/include/ecore-ipc-1 -I/usr/include/efl-1 -I/usr/include/ecore-file-1 -I/usr/include/efl-1 -I/usr/include/ecore-con-1 -I/usr/include/efl-1 -I/usr/include/eio-1 -I/usr/include/efl-1 -I/usr/include/eet-1 -I/usr/include/efl-1 -I/usr/include/emile-1 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/media -I/usr/include/system -I/usr/include/network -I/usr/include/notification -I/usr/include/appfw -I/usr/include/vconf -I/usr/include/appfw -I/usr/include/appcore -I/usr/include/sensor -I/usr/include/aul -I/usr/include/vconf -I/usr/include/ -I/usr/include/network -I/usr/include/telephony-client -I/usr/include/wayland-extension -I/usr/include/efl-1 -I/usr/include/ecore-input-1 -I/usr/include/efl-1 -I/usr/include/ecore-1 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/efl-1 -I/usr/include/eo-1 -I/usr/include/efl-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina -I/usr/include/dlog -Wall -Wunused -Wno-format -Wno-format-security -fPIE -I/home/abuild/rpmbuild/BUILD/org.tizen.screen-reader-0.0.8/include     -o CMakeFiles/screen-reader.dir/src/flat_navi.c.o   -c /home/abuild/rpmbuild/BUILD/org.tizen.screen-reader-0.0.8/src/flat_navi.c"
 #   tests2/wrappers/generate_wrappers.py generate --output tests2/wrappers --input out
 # and files in tests2/wrappers will be rebuilt