comp-manager: Add dbus method to start/stop device monitor
authorSaurav Babu <saurav.babu@samsung.com>
Fri, 20 Apr 2018 04:49:04 +0000 (10:19 +0530)
committersaerome.kim <saerome.kim@samsung.com>
Mon, 2 Jul 2018 10:38:50 +0000 (19:38 +0900)
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
src/companion-manager/include/comp_gdbus_group.h
src/companion-manager/include/comp_group.h
src/companion-manager/src/comp_gdbus_group.c
src/companion-manager/src/comp_group.c
src/companion-manager/src/companion_gdbus.xml

index 2cab655..32a43d4 100644 (file)
@@ -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);
index 1bde8b3..ca16f84 100755 (executable)
@@ -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
 }
index 6636504..c2ecd53 100644 (file)
@@ -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);
 
index 24f0848..9f20313 100755 (executable)
@@ -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));
 
index 615948a..cb4be58 100644 (file)
                        <arg type="i" name="result" direction="out" />
                </method>
                <method name="StartInvitedDeviceMonitor">
+                       <arg type="i" name="start" direction="in" />
                        <arg type="i" name="result" direction="out" />
                </method>
                <!-- Signal (D-Bus) definitions -->