OSDN Git Service

core: Add user_data to btd_service
authorMikel Astiz <mikel.astiz@bmw-carit.de>
Fri, 26 Apr 2013 06:17:17 +0000 (08:17 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Fri, 26 Apr 2013 07:32:00 +0000 (10:32 +0300)
Profile implementations can benefit from a user_data associated to a
service, which will typically be set during probe.

src/service.c
src/service.h

index a10138d..e03a412 100644 (file)
@@ -50,6 +50,7 @@ struct btd_service {
        gint                    ref;
        struct btd_device       *device;
        struct btd_profile      *profile;
+       void                    *user_data;
        btd_service_state_t     state;
 };
 
@@ -239,6 +240,17 @@ struct btd_profile *btd_service_get_profile(const struct btd_service *service)
        return service->profile;
 }
 
+void btd_service_set_user_data(struct btd_service *service, void *user_data)
+{
+       assert(service->state == BTD_SERVICE_STATE_UNAVAILABLE);
+       service->user_data = user_data;
+}
+
+void *btd_service_get_user_data(const struct btd_service *service)
+{
+       return service->user_data;
+}
+
 btd_service_state_t btd_service_get_state(const struct btd_service *service)
 {
        return service->state;
index 8fb1ed5..a89b524 100644 (file)
@@ -55,3 +55,5 @@ btd_service_state_t btd_service_get_state(const struct btd_service *service);
 /* Functions used by profile implementation */
 void btd_service_connecting_complete(struct btd_service *service, int err);
 void btd_service_disconnecting_complete(struct btd_service *service, int err);
+void btd_service_set_user_data(struct btd_service *service, void *user_data);
+void *btd_service_get_user_data(const struct btd_service *service);