diff options
author | Yong Bakos <ybakos@humanoriented.com> | 2016-05-08 08:44:08 -0500 |
---|---|---|
committer | Bryce Harrington <bryce@osg.samsung.com> | 2016-05-11 11:05:06 -0700 |
commit | 385906beae3a7605629fd3a582f1be9254d7345b (patch) | |
tree | 6684b41d5efddb237ef941f64f6473ae44515d99 | |
parent | e5b12aa827a777dc6455b9a87909a222157c256f (diff) | |
download | wayland-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.c | 13 | ||||
-rw-r--r-- | src/wayland-private.h | 8 | ||||
-rw-r--r-- | src/wayland-util.c | 13 |
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) { |