summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYong Bakos <ybakos@humanoriented.com>2016-05-08 08:44:08 -0500
committerBryce Harrington <bryce@osg.samsung.com>2016-05-11 11:05:06 -0700
commit385906beae3a7605629fd3a582f1be9254d7345b (patch)
tree6684b41d5efddb237ef941f64f6473ae44515d99
parente5b12aa827a777dc6455b9a87909a222157c256f (diff)
downloadwayland-385906beae3a7605629fd3a582f1be9254d7345b.tar.gz
connection: Move wl_interface_equal to util
Move the wl_interface_equal prototype to the top of wayland-private, where it is not buried in the middle of map, connection and closure functions. Move the implementation out of connection and into util. This is a utility function, not specific to connections, and has call sites within connection, wayland-client and wayland-server. Signed-off-by: Yong Bakos <ybakos@humanoriented.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
-rw-r--r--src/connection.c13
-rw-r--r--src/wayland-private.h8
-rw-r--r--src/wayland-util.c13
3 files changed, 17 insertions, 17 deletions
diff --git a/src/connection.c b/src/connection.c
index 747229e..c3293a9 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -798,19 +798,6 @@ wl_connection_demarshal(struct wl_connection *connection,
}
int
-wl_interface_equal(const struct wl_interface *a, const struct wl_interface *b)
-{
- /* In most cases the pointer equality test is sufficient.
- * However, in some cases, depending on how things are split
- * across shared objects, we can end up with multiple
- * instances of the interface metadata constants. So if the
- * pointers match, the interfaces are equal, if they don't
- * match we have to compare the interface names. */
-
- return a == b || strcmp(a->name, b->name) == 0;
-}
-
-int
wl_closure_lookup_objects(struct wl_closure *closure, struct wl_map *objects)
{
struct wl_object *object;
diff --git a/src/wayland-private.h b/src/wayland-private.h
index 994bc45..a9a07a8 100644
--- a/src/wayland-private.h
+++ b/src/wayland-private.h
@@ -55,6 +55,10 @@ struct wl_object {
extern struct wl_object global_zombie_object;
#define WL_ZOMBIE_OBJECT ((void*)&global_zombie_object)
+int
+wl_interface_equal(const struct wl_interface *iface1,
+ const struct wl_interface *iface2);
+
/* Flags for wl_map_insert_new and wl_map_insert_at. Flags can be queried with
* wl_map_lookup_flags. The current implementation has room for 1 bit worth of
* flags. If more flags are ever added, the implementation of wl_map will have
@@ -103,10 +107,6 @@ struct wl_connection;
struct wl_closure;
struct wl_proxy;
-int
-wl_interface_equal(const struct wl_interface *iface1,
- const struct wl_interface *iface2);
-
struct wl_connection *
wl_connection_create(int fd);
diff --git a/src/wayland-util.c b/src/wayland-util.c
index 748476a..5bfb7e1 100644
--- a/src/wayland-util.c
+++ b/src/wayland-util.c
@@ -35,6 +35,19 @@
struct wl_object global_zombie_object;
+int
+wl_interface_equal(const struct wl_interface *a, const struct wl_interface *b)
+{
+ /* In most cases the pointer equality test is sufficient.
+ * However, in some cases, depending on how things are split
+ * across shared objects, we can end up with multiple
+ * instances of the interface metadata constants. So if the
+ * pointers match, the interfaces are equal, if they don't
+ * match we have to compare the interface names.
+ */
+ return a == b || strcmp(a->name, b->name) == 0;
+}
+
WL_EXPORT void
wl_list_init(struct wl_list *list)
{