*
* @see mdg_group_invite_device()
*/
-typedef void (*mdg_group_invite_device_finish_cb)(int result, void *user_data);
+typedef void (*mdg_group_invite_device_finish_cb)(int result,
+ mdg_device_h invited_device, void *user_data);
/**
* @brief Called after mdg_group_eject_device().
mdg_device_s *dev = (mdg_device_s *)device;
mdg_check_null_ret_error("dev", dev, MDG_ERROR_INVALID_PARAMETER);
+ mdg_device_h cloned_device = NULL;
+ mdg_device_info_clone(&cloned_device, device);
+
_handle->device_invite_finish_cb.finish_cb = finish_cb;
_handle->device_invite_finish_cb.user_data = user_data;
+ _handle->device_invite_finish_cb.device = cloned_device;
group_call_invite_device_sync(_handle->group_proxy, grp->group_name, dev->device_id, PIN,
&ret, NULL, &error);
}
} else if (event_type == MDG_EVENT_INVITE_DEVICE_FINISH) {
if (handle->device_invite_finish_cb.finish_cb) {
- handle->device_invite_finish_cb.finish_cb(ret,
+ mdg_device_s *device = (mdg_device_s *)(handle->device_invite_finish_cb.device);
+ if (device != NULL) {
+ device->is_invited = true;
+ }
+ handle->device_invite_finish_cb.finish_cb(ret, device,
handle->device_invite_finish_cb.user_data);
} else {
_ERR("The callback not exists");
*/
typedef struct _device_invite_finish_cb_t {
mdg_group_invite_device_finish_cb finish_cb; /**< User callback to be called */
+ mdg_device_h device;
void *user_data; /**< User data pointer */
} device_invite_finish_cb_t;
return RET_SUCCESS;
}
-void _device_invite_result_cb(int result, void *user_data)
+void _device_invite_result_cb(int result, mdg_device_h device, void *user_data)
{
+ bool is_invited;
+ mdg_device_info_is_invited(device, &is_invited);
msgb("\rInvite Device Finished [%s]", mdg_error_to_string(result));
+ msgb("\rThe device invited is : %d", is_invited);
}
static int run_device_invite(MManager *mm, struct menu_data *menu)