Add user_data set/get function
authorSung-jae Park <nicesj.park@samsung.com>
Sat, 23 Feb 2013 08:58:48 +0000 (08:58 +0000)
committerSung-jae Park <nicesj.park@samsung.com>
Sat, 23 Feb 2013 08:58:48 +0000 (08:58 +0000)
Change-Id: I71096ad98e75a7581ef9a594773dc9b4631ec4c3

include/provider_buffer.h
include/provider_buffer_internal.h
packaging/libprovider.spec
src/provider_buffer.c

index 57feac4..0172dbc 100644 (file)
@@ -189,6 +189,14 @@ extern struct packet *provider_buffer_pd_key_down(pid_t pid, int handle, const s
  */
 extern struct packet *provider_buffer_pd_key_up(pid_t pid, int handle, const struct packet *packet);
 
+/*!
+ */
+extern void *provider_buffer_user_data(struct livebox_buffer *handle);
+
+/*!
+ */
+extern int provider_buffer_set_user_data(struct livebox_buffer *handle, void *data);
+
 #ifdef __cplusplus
 }
 #endif
index b7add55..71dfba3 100644 (file)
@@ -37,6 +37,8 @@ struct livebox_buffer {
 
        int (*handler)(struct livebox_buffer *info, enum buffer_event event, double timestamp, double x, double y, void *data);
        void *data;
+
+       void *user_data;
 };
 
 extern struct livebox_buffer *provider_buffer_find_buffer(enum target_type type, const char *pkgname, const char *id);
index fc8a560..7dfaf5e 100644 (file)
@@ -1,6 +1,6 @@
 Name: libprovider
 Summary: Library for developing the livebox service provider.
-Version: 0.5.11
+Version: 0.5.13
 Release: 1
 Group: framework/livebox
 License: Flora License
index 906dcb0..80f86be 100644 (file)
@@ -167,6 +167,27 @@ struct livebox_buffer *provider_buffer_find_buffer(enum target_type type, const
        return NULL;
 }
 
+EAPI int provider_buffer_set_user_data(struct livebox_buffer *handle, void *data)
+{
+       if (!handle || handle->state != BUFFER_CREATED) {
+               ErrPrint("info is not valid\n");
+               return -EINVAL;
+       }
+
+       handle->user_data = data;
+       return 0;
+}
+
+EAPI void *provider_buffer_user_data(struct livebox_buffer *handle)
+{
+       if (!handle || handle->state != BUFFER_CREATED) {
+               ErrPrint("info is not valid\n");
+               return NULL;
+       }
+
+       return handle->user_data;
+}
+
 EAPI struct livebox_buffer *provider_buffer_acquire(enum target_type type, const char *pkgname, const char *id, int width, int height, int pixel_size, int (*handler)(struct livebox_buffer *, enum buffer_event, double, double, double, void *), void *data)
 {
        struct livebox_buffer *info;