From 011ee657d57e748ef444351f0b7b175ad989a2a3 Mon Sep 17 00:00:00 2001 From: Saurav Babu Date: Fri, 20 Apr 2018 10:19:04 +0530 Subject: [PATCH] comp-manager: Add dbus method to start/stop device monitor Signed-off-by: Saurav Babu --- src/companion-manager/include/comp_gdbus_group.h | 3 ++- src/companion-manager/include/comp_group.h | 2 +- src/companion-manager/src/comp_gdbus_group.c | 5 +++-- src/companion-manager/src/comp_group.c | 15 ++++++++++----- src/companion-manager/src/companion_gdbus.xml | 1 + 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/companion-manager/include/comp_gdbus_group.h b/src/companion-manager/include/comp_gdbus_group.h index 2cab655..32a43d4 100644 --- a/src/companion-manager/include/comp_gdbus_group.h +++ b/src/companion-manager/include/comp_gdbus_group.h @@ -103,7 +103,8 @@ gboolean group_request_delete_group(Group *group, GDBusMethodInvocation *invocat gchar *uuid, gchar *group_name, gpointer user_data); gboolean group_start_invited_device_monitor(Group *group, - GDBusMethodInvocation *invocation, gpointer user_data); + GDBusMethodInvocation *invocation, int start, + gpointer user_data); void notify_group_found(GVariant *group_data); void notify_group_find_finish(int ret); diff --git a/src/companion-manager/include/comp_group.h b/src/companion-manager/include/comp_group.h index 1bde8b3..ca16f84 100755 --- a/src/companion-manager/include/comp_group.h +++ b/src/companion-manager/include/comp_group.h @@ -158,7 +158,7 @@ int comp_group_request_invite(char *uuid, char *group_name, char *target_uuid, c int comp_group_request_eject(char *uuid, char *group_name, char *target_uuid); int comp_group_request_delete_group(char *uuid, char *group_name); -int comp_group_start_invited_device_monitor(); +int comp_group_start_invited_device_monitor(int start); #ifdef __cplusplus } diff --git a/src/companion-manager/src/comp_gdbus_group.c b/src/companion-manager/src/comp_gdbus_group.c index 6636504..c2ecd53 100644 --- a/src/companion-manager/src/comp_gdbus_group.c +++ b/src/companion-manager/src/comp_gdbus_group.c @@ -374,13 +374,14 @@ gboolean group_request_delete_group(Group *group, } gboolean group_start_invited_device_monitor(Group *group, - GDBusMethodInvocation *invocation, gpointer user_data) + GDBusMethodInvocation *invocation, int start, + gpointer user_data) { int ret = 0; LOG_DEBUG("Start Myowned device monitor"); - ret = comp_group_start_invited_device_monitor(); + ret = comp_group_start_invited_device_monitor(start); group_complete_start_invited_device_monitor(group, invocation, ret); diff --git a/src/companion-manager/src/comp_group.c b/src/companion-manager/src/comp_group.c index 24f0848..9f20313 100755 --- a/src/companion-manager/src/comp_group.c +++ b/src/companion-manager/src/comp_group.c @@ -597,7 +597,7 @@ void comp_group_notify_group_invite(int ret) notify_device_monitor_result(device->uuid, device->group_name, "Added"); - comp_group_start_invited_device_monitor(); + comp_group_start_invited_device_monitor(1); } } else { @@ -1325,7 +1325,7 @@ static gboolean __check_invited_device_status(gpointer user_data) return TRUE; } -int comp_group_start_invited_device_monitor() +int comp_group_start_invited_device_monitor(int start) { int *t_id; @@ -1333,9 +1333,14 @@ int comp_group_start_invited_device_monitor() comp_check_null_ret_error("comp_ctx", comp_ctx, COMP_ERROR_INVALID_PARAMETER); - comp_ctx->monitor_started = true; - - LOG_DEBUG("Start invited device monitor"); + if (start) { /* Start Monitor */ + comp_ctx->monitor_started = true; + LOG_DEBUG("Start invited device monitor"); + } else { /* Stop Monitor */ + comp_ctx->monitor_started = false; + LOG_DEBUG("Stop invited device monitor"); + return COMP_ERROR_NONE; + } t_id = g_try_malloc0(sizeof(int)); diff --git a/src/companion-manager/src/companion_gdbus.xml b/src/companion-manager/src/companion_gdbus.xml index 615948a..cb4be58 100644 --- a/src/companion-manager/src/companion_gdbus.xml +++ b/src/companion-manager/src/companion_gdbus.xml @@ -139,6 +139,7 @@ + -- 2.7.4