vconf-internal-keys
widget_service
capi-system-info
+ ecore-wayland
+ tizen-remote-surface-client
)
FOREACH(flag ${pkg_widget_CFLAGS})
SET(EXTRA_CFLAGS_widget "${EXTRA_CFLAGS_widget} ${flag}")
SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES SOVERSION ${VERSION_MAJOR})
SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES VERSION ${VERSION})
SET_TARGET_PROPERTIES(${APPCORE_WIDGET} PROPERTIES COMPILE_FLAGS ${EXTRA_CFLAGS_widget})
-TARGET_LINK_LIBRARIES(${APPCORE_WIDGET} ${pkg_widget_LDFLAGS} "-ldl")
+TARGET_LINK_LIBRARIES(${APPCORE_WIDGET} ${pkg_widget_LDFLAGS} "-ldl -Wl,--no-undefined")
INSTALL(TARGETS ${APPCORE_WIDGET} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${APPCORE_WIDGET}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
#include <system_info.h>
#include <vconf.h>
#include <vconf-internal-keys.h>
+#include <aul_rsm_provider.h>
#include "widget_app.h"
#include "widget-log.h"
{
int r;
bundle *kb = NULL;
- char *wayland_display = NULL;
- char *xdg_runtime_dir = NULL;
char *name;
char *viewer_endpoint = NULL;
kb = bundle_import_from_argv(argc, argv);
if (kb) {
- bundle_get_str(kb, AUL_K_WAYLAND_WORKING_DIR, &xdg_runtime_dir);
- bundle_get_str(kb, AUL_K_WAYLAND_DISPLAY, &wayland_display);
bundle_get_str(kb, WIDGET_K_ENDPOINT, &viewer_endpoint);
if (viewer_endpoint) {
_E("viewer endpoint :%s", viewer_endpoint);
_E("endpoint is missing");
}
- if (xdg_runtime_dir)
- setenv("XDG_RUNTIME_DIR", xdg_runtime_dir, 1);
-
- _D("xdg_runtime_dir:%s", xdg_runtime_dir);
-
- if (wayland_display)
- setenv("WAYLAND_DISPLAY", wayland_display, 1);
-
- _D("wayland_display:%s", wayland_display);
-
bundle_free(kb);
kb = NULL;
} else {
_E("failed to get launch argv"); /* LCOV_EXCL_LINE */
}
+ aul_rsm_provider_init();
+
elm_init(argc, argv);
r = aul_launch_init(__aul_handler, NULL);
if (app_ops->terminate)
app_ops->terminate(app_user_data);
+ aul_rsm_provider_fini();
+
_widget_app_free_viewer_endpoint();
_widget_core_unset_appcore_event_cb();
__free_handler_list();
__FUNCTION__,
"widget_app_create_cb() callback must be "
"registered");
-
app_ops = callback;
app_user_data = user_data;
r = __before_loop(argc, argv);
widget_context_s *cxt = (widget_context_s *)context;
Evas_Object *ret_win;
Ecore_Wl_Window *wl_win;
+ struct wl_surface *surface;
if (!_is_widget_feature_enabled()) {
_E("not supported"); /* LCOV_EXCL_LINE */
ret_win = elm_win_add(NULL, cxt->id, ELM_WIN_BASIC);
if (ret_win == NULL) {
_E("failed to create window"); /* LCOV_EXCL_LINE */
- return WIDGET_ERROR_FAULT; /* LCOV_EXCL_LINE */
+ goto fault; /* LCOV_EXCL_LINE */
}
wl_win = elm_win_wl_window_get(ret_win);
if (wl_win == NULL) {
_E("failed to get wayland window"); /* LCOV_EXCL_LINE */
- evas_object_del(ret_win); /* LCOV_EXCL_LINE */
- return WIDGET_ERROR_FAULT; /* LCOV_EXCL_LINE */
+ goto fault;
}
+ surface = ecore_wl_window_surface_get(wl_win);
+ if (surface == NULL) {
+ _E("failed to get surface"); /* LCOV_EXCL_LINE */
+ goto fault; /* LCOV_EXCL_LINE */
+ }
+
+ aul_rsm_provider_remote_enable(cxt->id, surface);
+
ecore_wl_window_class_name_set(wl_win, cxt->id);
+ elm_win_aux_hint_add(ret_win, "wm.policy.win.user.geometry", "1");
*win = ret_win;
cxt->win = ret_win;
_D("window created: %d", cxt->win_id);
return WIDGET_ERROR_NONE;
+
+fault:
+ if (ret_win) /* LCOV_EXCL_LINE */
+ evas_object_del(ret_win); /* LCOV_EXCL_LINE */
+
+ return WIDGET_ERROR_FAULT; /* LCOV_EXCL_LINE */
+
}
widget_class_h _widget_class_create(widget_class_s *prev, const char *class_id,