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