From 7704c102e4fc45f33e374ca50a7eb75e585c9aaa Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 2 Mar 2016 09:08:05 +0100 Subject: [PATCH] lur: add lur_device_get/set_userdata Signed-off-by: Peter Hutterer BT: move the functions in LIBLUR_0.4.0 Signed-off-by: Benjamin Tissoires --- src/liblur.c | 13 +++++++++++++ src/liblur.h | 21 +++++++++++++++++++++ src/liblur.sym | 6 ++++++ 3 files changed, 40 insertions(+) diff --git a/src/liblur.c b/src/liblur.c index 091c5fa5..94ea3ae1 100644 --- a/src/liblur.c +++ b/src/liblur.c @@ -50,6 +50,7 @@ struct lur_receiver { struct lur_device { struct lur_receiver *receiver; int refcount; + void *userdata; char *name; uint16_t vid, pid; @@ -347,3 +348,15 @@ lur_device_unref(struct lur_device *dev) return NULL; } + +_EXPORT_ void +lur_device_set_user_data(struct lur_device *dev, void *userdata) +{ + dev->userdata = userdata; +} + +_EXPORT_ void* +lur_device_get_user_data(const struct lur_device *dev) +{ + return dev->userdata; +} diff --git a/src/liblur.h b/src/liblur.h index cc5af7f1..bf87341e 100644 --- a/src/liblur.h +++ b/src/liblur.h @@ -239,6 +239,27 @@ lur_device_ref(struct lur_device *dev); struct lur_device * lur_device_unref(struct lur_device *dev); +/** + * Set caller-specific data associated with this object. liblur does + * not manage, look at, or modify this data. The caller must ensure the + * data is valid. + * + * @param dev A valid device object + * @param userdata Caller-specific data + */ +void +lur_device_set_user_data(struct lur_device *dev, void *userdata); + +/** + * Get the caller-specific data associated with this object, if any. + * + * @param dev A valid device object + * @return The caller-specific data previously assigned in + * lur_device_set_user_data(). + */ +void* +lur_device_get_user_data(const struct lur_device *dev); + #ifdef __cplusplus } #endif diff --git a/src/liblur.sym b/src/liblur.sym index 0210a030..0f50e0f2 100644 --- a/src/liblur.sym +++ b/src/liblur.sym @@ -23,3 +23,9 @@ global: local: *; }; + +LIBLUR_0.4.0 { +global: + lur_device_get_user_data; + lur_device_set_user_data; +} LIBLUR_0.3.0;