I am wondering if we may want to add an Api function for retrieving sonething out of these globals .... Just a random thought. I dont have any particular use case in mind yet tho....
dh Enlightenment SVN <no-re...@enlightenment.org> wrote: >Log: >Cache wayland globals > >Store the wayland registry globals in a list so that we can bind to >them from a >user/test program. When a custom interface (protocol extension) is used >in a >wayland compositor, this allows user/test program to use that >interface. For >instance, one might provide a custom wayland test protocol that give >access to >otherwise hidden/missing functionality that allows effective automated >testing >(in wayland engines). See the Weston unit test suite for an example of >this > concept. > > Patch by: "U. Artie Eoff" <ullysses.a.e...@intel.com> > > > >Author: etrunko >Date: 2013-01-24 14:03:22 -0800 (Thu, 24 Jan 2013) >New Revision: 83312 >Trac: http://trac.enlightenment.org/e/changeset/83312 > >Modified: >trunk/efl/src/lib/ecore_wayland/Ecore_Wayland.h >trunk/efl/src/lib/ecore_wayland/ecore_wl.c > >Modified: trunk/efl/src/lib/ecore_wayland/Ecore_Wayland.h >=================================================================== >--- trunk/efl/src/lib/ecore_wayland/Ecore_Wayland.h 2013-01-24 21:42:18 >UTC (rev 83311) >+++ trunk/efl/src/lib/ecore_wayland/Ecore_Wayland.h 2013-01-24 22:03:22 >UTC (rev 83312) >@@ -29,6 +29,8 @@ > typedef struct _Ecore_Wl_Display Ecore_Wl_Display; > typedef struct _Ecore_Wl_Output Ecore_Wl_Output; > typedef struct _Ecore_Wl_Input Ecore_Wl_Input; >+typedef struct _Ecore_Wl_Global Ecore_Wl_Global; >+ > # ifndef _ECORE_WAYLAND_WINDOW_PREDEF > typedef struct _Ecore_Wl_Window Ecore_Wl_Window; > # endif >@@ -70,6 +72,14 @@ > typedef enum _Ecore_Wl_Window_Type Ecore_Wl_Window_Type; > typedef enum _Ecore_Wl_Window_Buffer_Type Ecore_Wl_Window_Buffer_Type; > >+struct _Ecore_Wl_Global >+{ >+ unsigned int id; >+ char *interface; >+ unsigned int version; >+ struct wl_list link; >+}; >+ > struct _Ecore_Wl_Display > { > struct >@@ -91,6 +101,7 @@ > > struct wl_list inputs; > struct wl_list outputs; >+ struct wl_list globals; > > struct > { > >Modified: trunk/efl/src/lib/ecore_wayland/ecore_wl.c >=================================================================== >--- trunk/efl/src/lib/ecore_wayland/ecore_wl.c 2013-01-24 21:42:18 UTC >(rev 83311) >+++ trunk/efl/src/lib/ecore_wayland/ecore_wl.c 2013-01-24 22:03:22 UTC >(rev 83312) >@@ -132,6 +132,7 @@ > > wl_list_init(&_ecore_wl_disp->inputs); > wl_list_init(&_ecore_wl_disp->outputs); >+ wl_list_init(&_ecore_wl_disp->globals); > > _ecore_wl_disp->wl.registry = > wl_display_get_registry(_ecore_wl_disp->wl.display); >@@ -270,6 +271,7 @@ > { > Ecore_Wl_Output *out, *tout; > Ecore_Wl_Input *in, *tin; >+ Ecore_Wl_Global *global, *tglobal; > > wl_list_for_each_safe(out, tout, &_ecore_wl_disp->outputs, link) > _ecore_wl_output_del(out); >@@ -277,6 +279,13 @@ > wl_list_for_each_safe(in, tin, &_ecore_wl_disp->inputs, link) > _ecore_wl_input_del(in); > >+ wl_list_for_each_safe(global, tglobal, >&_ecore_wl_disp->globals, link) >+ { >+ wl_list_remove(&global->link); >+ free(global->interface); >+ free(global); >+ } >+ > _ecore_wl_xkb_shutdown(_ecore_wl_disp); > > if (_ecore_wl_disp->wl.shell) >@@ -361,11 +370,18 @@ >_ecore_wl_cb_handle_global(void *data, struct wl_registry *registry, >unsigned int id, const char *interface, unsigned int version >EINA_UNUSED) > { > Ecore_Wl_Display *ewd; >+ Ecore_Wl_Global *global; > > LOGFN(__FILE__, __LINE__, __FUNCTION__); > > ewd = data; > >+ global = malloc(sizeof(*global)); >+ global->id = id; >+ global->interface = strdup(interface); >+ global->version = version; >+ wl_list_insert(ewd->globals.prev, &global->link); >+ > if (!strcmp(interface, "wl_compositor")) > { > ewd->wl.compositor = > > >------------------------------------------------------------------------------ >Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, >MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current >with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft >MVPs and experts. ON SALE this month only -- learn more at: >http://p.sf.net/sfu/learnnow-d2d >_______________________________________________ >enlightenment-svn mailing list >enlightenment-...@lists.sourceforge.net >https://lists.sourceforge.net/lists/listinfo/enlightenment-svn ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel