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
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}
* 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();
#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;
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
#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);
}
# 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