summaryrefslogtreecommitdiff
path: root/src/service.h
diff options
context:
space:
mode:
authorMikel Astiz <mikel.astiz@bmw-carit.de>2013-04-26 08:17:11 +0200
committerJohan Hedberg <johan.hedberg@intel.com>2013-04-26 10:26:33 +0300
commit22de25eb758bff275b6e1de829b6e4515b53ee85 (patch)
tree0279ab6f99f97c5c1794c59c5d905e8a6be2e197 /src/service.h
parente5ee0d800f39bf1ec675bb14cfff9208d6462fca (diff)
downloadbluez-22de25eb758bff275b6e1de829b6e4515b53ee85.tar.gz
core: Add a state enum to btd_service
Add a state to btd_service in order to distinguish which operations are allowed in a certain point in time.
Diffstat (limited to 'src/service.h')
-rw-r--r--src/service.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/service.h b/src/service.h
index f242f2fc9..8fb1ed5ec 100644
--- a/src/service.h
+++ b/src/service.h
@@ -21,6 +21,14 @@
*
*/
+typedef enum {
+ BTD_SERVICE_STATE_UNAVAILABLE, /* Not probed */
+ BTD_SERVICE_STATE_DISCONNECTED,
+ BTD_SERVICE_STATE_CONNECTING,
+ BTD_SERVICE_STATE_CONNECTED,
+ BTD_SERVICE_STATE_DISCONNECTING,
+} btd_service_state_t;
+
struct btd_service;
struct btd_device;
struct btd_profile;
@@ -42,3 +50,8 @@ int btd_service_disconnect(struct btd_service *service);
/* Public member access */
struct btd_device *btd_service_get_device(const struct btd_service *service);
struct btd_profile *btd_service_get_profile(const struct btd_service *service);
+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);