From b264ef07721cf2bfbc2fd40debc9c5559c079dd4 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 29 Nov 2019 13:20:36 +0100 Subject: [PATCH] proxy: add _get_type() Also return the optional version in resource_get_type() --- src/pipewire/proxy.c | 8 ++++++++ src/pipewire/proxy.h | 3 +++ src/pipewire/resource.c | 4 +++- src/pipewire/resource.h | 4 ++-- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/pipewire/proxy.c b/src/pipewire/proxy.c index 69ce3f7d3..ddcecba1e 100644 --- a/src/pipewire/proxy.c +++ b/src/pipewire/proxy.c @@ -138,6 +138,14 @@ uint32_t pw_proxy_get_id(struct pw_proxy *proxy) return proxy->id; } +SPA_EXPORT +uint32_t pw_proxy_get_type(struct pw_proxy *proxy, uint32_t *version) +{ + if (version) + *version = proxy->version; + return proxy->type; +} + SPA_EXPORT struct pw_protocol *pw_proxy_get_protocol(struct pw_proxy *proxy) { diff --git a/src/pipewire/proxy.h b/src/pipewire/proxy.h index 48a377047..1a25959eb 100644 --- a/src/pipewire/proxy.h +++ b/src/pipewire/proxy.h @@ -148,6 +148,9 @@ void *pw_proxy_get_user_data(struct pw_proxy *proxy); /** Get the local id of the proxy */ uint32_t pw_proxy_get_id(struct pw_proxy *proxy); +/** Get the type and version of the proxy */ +uint32_t pw_proxy_get_type(struct pw_proxy *proxy, uint32_t *version); + /** Get the protocol used for the proxy */ struct pw_protocol *pw_proxy_get_protocol(struct pw_proxy *proxy); diff --git a/src/pipewire/resource.c b/src/pipewire/resource.c index 47dec4990..550b95547 100644 --- a/src/pipewire/resource.c +++ b/src/pipewire/resource.c @@ -144,8 +144,10 @@ uint32_t pw_resource_get_permissions(struct pw_resource *resource) } SPA_EXPORT -uint32_t pw_resource_get_type(struct pw_resource *resource) +uint32_t pw_resource_get_type(struct pw_resource *resource, uint32_t *version) { + if (version) + *version = resource->version; return resource->type; } diff --git a/src/pipewire/resource.h b/src/pipewire/resource.h index 4a32c74fc..1882fda1e 100644 --- a/src/pipewire/resource.h +++ b/src/pipewire/resource.h @@ -96,8 +96,8 @@ uint32_t pw_resource_get_id(struct pw_resource *resource); /** Get the permissions of this resource */ uint32_t pw_resource_get_permissions(struct pw_resource *resource); -/** Get the type of this resource */ -uint32_t pw_resource_get_type(struct pw_resource *resource); +/** Get the type and optionally the version of this resource */ +uint32_t pw_resource_get_type(struct pw_resource *resource, uint32_t *version); /** Get the protocol used for this resource */ struct pw_protocol *pw_resource_get_protocol(struct pw_resource *resource);