summaryrefslogtreecommitdiff
path: root/src/lib/efl_wl
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-08-04 16:17:53 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-08-04 16:17:33 -0400
commit29b99a8e88998664bb3abc417cd6e208bb1b6bf9 (patch)
tree274b96a0f0651f532e2b6d7c99ac974d3bbcad79 /src/lib/efl_wl
parent64754b682eba484dff1f520d3bd329c299b4bac0 (diff)
efl-wl: add handling for external protocol interfaces
@feature
Diffstat (limited to 'src/lib/efl_wl')
-rw-r--r--src/lib/efl_wl/Efl_Wl.h9
-rw-r--r--src/lib/efl_wl/efl_wl.c11
2 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/efl_wl/Efl_Wl.h b/src/lib/efl_wl/Efl_Wl.h
index 8b28309fd0..818cc39cd4 100644
--- a/src/lib/efl_wl/Efl_Wl.h
+++ b/src/lib/efl_wl/Efl_Wl.h
@@ -122,6 +122,15 @@ EAPI void efl_wl_aspect_set(Evas_Object *obj, Eina_Bool set);
122 * @param set Whether to enable min/max setting 122 * @param set Whether to enable min/max setting
123 */ 123 */
124EAPI void efl_wl_minmax_set(Evas_Object *obj, Eina_Bool set); 124EAPI void efl_wl_minmax_set(Evas_Object *obj, Eina_Bool set);
125
126/**
127 * Add an externally-managed global to the compositor
128 * @note The external implementation is expected to restrict access to authorized
129 * clients
130 * @see wl_global_create() docs
131 * @since 1.21
132 */
133EAPI void *efl_wl_global_add(Evas_Object *obj, const void *interface, uint32_t version, void *data, void *bind_cb);
125#endif 134#endif
126 135
127#endif 136#endif
diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c
index 575012e0e6..a5004f06af 100644
--- a/src/lib/efl_wl/efl_wl.c
+++ b/src/lib/efl_wl/efl_wl.c
@@ -5420,3 +5420,14 @@ efl_wl_minmax_set(Evas_Object *obj, Eina_Bool set)
5420 evas_object_size_hint_max_set(obj, -1, -1); 5420 evas_object_size_hint_max_set(obj, -1, -1);
5421 } 5421 }
5422} 5422}
5423
5424EAPI void *
5425efl_wl_global_add(Evas_Object *obj, const void *interface, uint32_t version, void *data, void *bind_cb)
5426{
5427 Comp *c;
5428
5429 if (!eina_streq(evas_object_type_get(obj), "comp")) abort();
5430 EINA_SAFETY_ON_NULL_RETURN_VAL(interface, NULL);
5431 c = evas_object_smart_data_get(obj);
5432 return wl_global_create(c->display, interface, version, data, bind_cb);
5433}