support for ecore-wl2 20/175720/1
authorGwanglim Lee <gl77.lee@samsung.com>
Thu, 12 Apr 2018 02:30:26 +0000 (11:30 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Thu, 12 Apr 2018 02:30:26 +0000 (11:30 +0900)
Change-Id: Idcf8710e3f1eaee14bc65b3cb2e54475558f5afe

configure.ac
packaging/libpepper-efl.spec
src/lib/compositor.c

index 16717c8e822f11f254a9783f11ab42fd7e02a0aa..1cf767318b39c6ca3586086158da0250e0a982cb 100644 (file)
@@ -15,7 +15,7 @@ AC_PROG_LIBTOOL
 # Checks for libraries.
 PKG_CHECK_MODULES([PEPPER], [pepper pepper-xkb])
 PKG_CHECK_MODULES([WAYLAND], [wayland-server xdg-shell-server tizen-extension-client])
-PKG_CHECK_MODULES([EFL], [eina ecore ecore-input evas ecore-wayland])
+PKG_CHECK_MODULES([EFL], [eina ecore ecore-input evas ecore-wl2])
 PKG_CHECK_MODULES([WAYLAND_TBM], [wayland-tbm-server])
 
 
index 3400c312f07ebeca792d4dd0b06c1386abcc7712..8b56a80e237fe9e44b1a64674208773402e2bd76 100644 (file)
@@ -15,7 +15,7 @@ BuildRequires: pkgconfig(elementary)
 BuildRequires: pkgconfig(xdg-shell-server)
 BuildRequires: pkgconfig(xkbcommon)
 BuildRequires: pkgconfig(tizen-extension-client)
-BuildRequires: pkgconfig(ecore-wayland)
+BuildRequires: pkgconfig(ecore-wl2)
 BuildRequires: pkgconfig(wayland-tbm-server)
 BuildRequires: pkgconfig(wayland-tbm-client)
 Requires: libwayland-extension-server
index 35c16a949d059ba52b8cb3f8d8221b9ad7af93fa..295a097ec619f3863207db634ea3be1970d2a031 100644 (file)
@@ -8,7 +8,8 @@
 // EFL header
 #include <Eina.h>
 #include <Ecore.h>
-#include <Ecore_Wayland.h>
+#define EFL_BETA_API_SUPPORT 1
+#include <Ecore_Wl2.h>
 // wayland compositor header
 #include <pepper.h>
 #include <wayland-server.h>
@@ -56,39 +57,52 @@ static const struct tizen_embedded_compositor_listener tizen_embedded_compositor
 static int
 _pepper_efl_compositor_get_socket_fd_from_server(pepper_efl_comp_t *comp)
 {
-   Eina_Inlist *l, *tmp;
-   Ecore_Wl_Global *global;
+   Ecore_Wl2_Display *ewd;
+   Eina_Iterator *itr;
+   Ecore_Wl2_Global *global;
    struct wl_registry *registry = NULL;
    struct tizen_embedded_compositor *tec=NULL;
    int fd = -1;
 
-   l = ecore_wl_globals_get();
-   registry = ecore_wl_registry_get();
-   if (!l || !registry)
-      return -1;
+   ewd = ecore_wl2_connected_display_get(NULL);
+   if (!ewd) return -1;
+
+   itr = ecore_wl2_display_globals_get(ewd);
+   if (!itr) return -1;
+
+   registry = ecore_wl2_display_registry_get(ewd);
+   if (!registry)
+     {
+        eina_iterator_free(itr);
+        return -1;
+     }
 
-   EINA_INLIST_FOREACH_SAFE(l, tmp, global)
+   EINA_ITERATOR_FOREACH(itr, global)
      {
         if (!strcmp(global->interface, "tizen_embedded_compositor"))
           {
              tec = wl_registry_bind(registry,
-                         global->id,
-                         &tizen_embedded_compositor_interface,
-                         1);
+                                    global->id,
+                                    &tizen_embedded_compositor_interface,
+                                    1);
 
              if (!tec)
-               return -1;
+               {
+                  eina_iterator_free(itr);
+                  return -1;
+               }
 
              tizen_embedded_compositor_add_listener(tec, &tizen_embedded_compositor_listener, &fd);
              break;
           }
      }
+   eina_iterator_free(itr);
 
    if (!tec)
      return -1;
 
    tizen_embedded_compositor_get_socket(tec);
-   ecore_wl_sync();
+   ecore_wl2_sync();
 
    tizen_embedded_compositor_destroy(tec);
    return fd;