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);
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
}
}
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);
notify_device_monitor_result(device->uuid, device->group_name,
"Added");
- comp_group_start_invited_device_monitor();
+ comp_group_start_invited_device_monitor(1);
}
} else {
return TRUE;
}
-int comp_group_start_invited_device_monitor()
+int comp_group_start_invited_device_monitor(int start)
{
int *t_id;
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));
<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 -->