From: Jihoon Jung Date: Fri, 7 Sep 2018 06:29:14 +0000 (+0900) Subject: Add preconditions X-Git-Tag: submit/tizen/20190131.065036~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=58147974addc5264b4359e87b87e132c37e273c9;p=platform%2Fcore%2Fapi%2Fmulti-device-group.git Add preconditions Change-Id: Ic8765b2eaaddf6cd3f0176259f3d9acaa7defa0b Signed-off-by: Jihoon Jung --- diff --git a/src/mdg.c b/src/mdg.c index 735f1a0..3fccf4c 100755 --- a/src/mdg.c +++ b/src/mdg.c @@ -347,6 +347,8 @@ EXPORT_API int mdg_device_send_data(mdg_h handle, cond_expr_ret(len <= 0, MDG_ERROR_INVALID_PARAMETER); CHECK_HANDLE_IS_VALID(handle); + cond_expr_ret(dev->type == MDG_DEVICE_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_DEVICE); + buf = g_try_malloc0(len + 1); if (NULL == buf) { /* LCOV_EXCL_START */ @@ -400,6 +402,8 @@ EXPORT_API int mdg_device_send_file(mdg_h handle, mdg_device_h device, mdg_check_null_ret_error("dev", dev, MDG_ERROR_INVALID_PARAMETER); mdg_check_null_ret_error("file_path", file_path, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(dev->type == MDG_DEVICE_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_DEVICE); + mdg_device_h cloned_device = NULL; mdg_device_info_clone(&cloned_device, device); @@ -508,6 +512,8 @@ EXPORT_API int mdg_group_delete(mdg_h handle, mdg_group_h group) mdg_group_s *grp = (mdg_group_s *)group; mdg_check_null_ret_error("grp", grp, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(grp->type == MDG_GROUP_TYPE_REMOTE, MDG_ERROR_NOT_PROPER_GROUP); + /* create group to daemon using gdbus */ group_call_delete_sync(_handle->group_proxy, grp->group_name, &ret, NULL, &error); @@ -531,6 +537,8 @@ EXPORT_API int mdg_group_foreach_device(mdg_h handle, mdg_group_h group, mdg_group_s *grp = (mdg_group_s *)group; mdg_check_null_ret_error("grp", grp, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(grp->type == MDG_GROUP_TYPE_REMOTE, MDG_ERROR_NOT_PROPER_GROUP); + group_call_foreach_device_sync(_handle->group_proxy, grp->group_name, &ret, &va, NULL, &error); count = g_variant_n_children(va); @@ -577,6 +585,10 @@ EXPORT_API int mdg_group_invite_device(mdg_h handle, mdg_device_s *dev = (mdg_device_s *)device; mdg_check_null_ret_error("dev", dev, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(grp->type == MDG_GROUP_TYPE_REMOTE, MDG_ERROR_NOT_PROPER_GROUP); + cond_expr_ret(dev->type == MDG_DEVICE_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_DEVICE); + cond_expr_ret(dev->is_invited == true, MDG_ERROR_NOT_PROPER_DEVICE); + mdg_device_h cloned_device = NULL; mdg_device_info_clone(&cloned_device, device); @@ -611,6 +623,10 @@ EXPORT_API int mdg_group_eject_device(mdg_h handle, mdg_group_s *grp = (mdg_group_s *)group; mdg_check_null_ret_error("grp", grp, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(grp->type == MDG_GROUP_TYPE_REMOTE, MDG_ERROR_NOT_PROPER_GROUP); + cond_expr_ret(dev->type == MDG_DEVICE_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_DEVICE); + cond_expr_ret(dev->is_invited == false, MDG_ERROR_NOT_PROPER_DEVICE); + _handle->device_eject_finish_cb.finish_cb = finish_cb; _handle->device_eject_finish_cb.user_data = user_data; @@ -945,6 +961,8 @@ EXPORT_API int mdg_request_create_group(mdg_h handle, mdg_check_null_ret_error("group_name", group_name, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(dev->type == MDG_DEVICE_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_DEVICE); + _DBG("Device id : %s", dev->device_id); group_call_request_create_group_sync(_handle->group_proxy, dev->device_id, @@ -975,6 +993,8 @@ EXPORT_API int mdg_request_invite_device(mdg_h handle, mdg_device_s *dev = (mdg_device_s *)device; mdg_check_null_ret_error("device", device, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(grp->type == MDG_GROUP_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_GROUP); + _DBG("%s", grp->device_id); _DBG("%s", grp->group_name); _DBG("%s", dev->device_id); @@ -1012,6 +1032,8 @@ EXPORT_API int mdg_request_eject_device(mdg_h handle, mdg_device_s *dev = (mdg_device_s *)device; mdg_check_null_ret_error("device", device, MDG_ERROR_INVALID_PARAMETER); + cond_expr_ret(grp->type == MDG_GROUP_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_GROUP); + _DBG("%s", grp->device_id); _DBG("%s", grp->group_name); _DBG("%s", dev->device_id); @@ -1041,6 +1063,9 @@ EXPORT_API int mdg_request_channel_list(mdg_h handle, mdg_device_h device, mdg_device_s *dev = (mdg_device_s *)device; mdg_check_null_ret_error("device", device, MDG_ERROR_INVALID_PARAMETER); + + cond_expr_ret(dev->type == MDG_DEVICE_TYPE_LOCAL, MDG_ERROR_NOT_PROPER_DEVICE); + _handle->request_channel_list_finish_cb.finish_cb = finish_cb; _handle->request_channel_list_finish_cb.user_data = user_data;