From: Daniel Wagner <[email protected]>

---
 src/connman.h |    3 +++
 src/service.c |   15 +++++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/connman.h b/src/connman.h
index aa18b3a..11ad0dc 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -585,6 +585,9 @@ connman_bool_t __connman_service_is_connected(struct 
connman_service *service);
 connman_bool_t __connman_service_is_idle(struct connman_service *service);
 const char *__connman_service_get_name(struct connman_service *service);
 
+unsigned int __connman_service_session_inc(struct connman_service *service);
+unsigned int __connman_service_session_dec(struct connman_service *service);
+
 #include <connman/location.h>
 
 int __connman_location_init(void);
diff --git a/src/service.c b/src/service.c
index f1d2609..2a02fd3 100644
--- a/src/service.c
+++ b/src/service.c
@@ -53,6 +53,7 @@ struct connman_stats_counter {
 
 struct connman_service {
        gint refcount;
+       unsigned int session_usage_count;
        char *identifier;
        char *path;
        enum connman_service_type type;
@@ -1609,6 +1610,19 @@ const char *__connman_service_get_name(struct 
connman_service *service)
        return service->name;
 }
 
+unsigned int __connman_service_session_inc(struct connman_service *service)
+{
+       return service->session_usage_count++;
+}
+
+unsigned int __connman_service_session_dec(struct connman_service *service)
+{
+       if (service->session_usage_count > 0)
+               service->session_usage_count--;
+
+       return service->session_usage_count;
+}
+
 static void append_properties(DBusMessageIter *dict, dbus_bool_t limited,
                                        struct connman_service *service)
 {
@@ -3045,6 +3059,7 @@ static void service_initialize(struct connman_service 
*service)
        DBG("service %p", service);
 
        service->refcount = 1;
+       service->session_usage_count = 0;
 
        service->type     = CONNMAN_SERVICE_TYPE_UNKNOWN;
        service->mode     = CONNMAN_SERVICE_MODE_UNKNOWN;
-- 
1.7.4.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to