typedef void (*mdg_request_result_cb)(char *cmd, char *device_id,
unsigned char *arg, int len, int ret, void *user_data);
-/**
- * @brief Requests my device to be joined to remote group.
- * @details This function requests a remote groups to join my device in the remote groups.
- *
- * @since_tizen 5.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/internet
- *
- * @param[in] handle The multi device group manager handle
- * @param[in] group Group resource list
- * @param[in] cb Callback handler to receive the result
- * @param[in] user_data User data pointer
- *
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MDG_ERROR_NONE Successful
- * @retval #MDG_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see mdg_group_create()
- * @see mdg_request_leave_group ()
- * @see mdg_request_create_group()
- * @see mdg_request_invite_device()
- * @see mdg_request_eject_device()
- * @see mdg_request_delete_group()
- *
- */
-int mdg_request_join_group(mdg_h handle, mdg_group_h group,
- mdg_request_result_cb cb, void *user_data);
-
-/**
- * @brief Requests my device to be exit from remote group.
- * @details This function requests remote groups to exit my devices that belonged to the
- * remote group.
- *
- * @since_tizen 5.0
- * @privlevel public
- * @privilege %http://tizen.org/privilege/internet
- *
- * @param[in] handle The multi device group manager handle
- * @param[in] group Group handle
- * @param[in] cb Callback handler to receive the result
- * @param[in] user_data User data pointer
- *
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #MDG_ERROR_NONE Successful
- * @retval #MDG_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see mdg_group_create()
- * @see mdg_request_join_group()
- * @see mdg_group_delete()
- * @see mdg_group_merge()
- * @see mdg_group_get_member_devices()
- *
- */
-int mdg_request_leave_group(mdg_h handle, mdg_group_h group,
- mdg_request_result_cb cb, void *user_data);
-
/**
* @brief Requests to create a group.
* @details We can create a group. This generated group can include device, and remote
int mdg_request_eject_device(mdg_h handle, mdg_group_h group,
mdg_device_h device, mdg_request_result_cb cb, void *user_data);
+int mdg_request_channel_list(mdg_h handle, mdg_device_h device,
+ mdg_request_result_cb cb, void *user_data);
+
/**
* @}
*/
_DBG("Device id : %s", dev->device_id);
- group_call_request_create_group_sync(_handle->group_proxy, dev->device_id,
- group_name, &ret, NULL, &error);
+ group_call_request_create_group_sync(_handle->group_proxy, dev->device_id, dev->addr,
+ dev->secure_port, group_name, &ret, NULL, &error);
return ret;
}
_DBG("%s", grp->group_name);
_DBG("%s", dev->device_id);
- group_call_request_invite(_handle->group_proxy, grp->device_id, grp->group_name,
- dev->device_id, PIN, NULL, NULL, &error);
+ group_call_request_invite(_handle->group_proxy, grp->device_id, dev->addr,
+ dev->secure_port, grp->group_name, dev->device_id, PIN, NULL, NULL, &error);
if (error) {
_ERR("Failed DBus call [%s]", error->message);
g_error_free(error);
_DBG("%s", grp->group_name);
_DBG("%s", dev->device_id);
- group_call_request_eject(_handle->group_proxy, grp->device_id, grp->group_name,
- dev->device_id, NULL, NULL, &error);
+ group_call_request_eject(_handle->group_proxy, grp->device_id, dev->addr,
+ dev->secure_port, grp->group_name, dev->device_id, NULL, NULL, &error);
+ if (error) {
+ _ERR("Failed DBus call [%s]", error->message);
+ g_error_free(error);
+ ret = MDG_ERROR_IO_ERROR;
+ }
+
+ return ret;
+}
+
+EXPORT_API int mdg_request_channel_list(mdg_h handle, mdg_device_h device, mdg_request_result_cb cb,
+ void *user_data)
+{
+ int ret = MDG_ERROR_NONE;
+ GError *error = NULL;
+
+ NOTUSED(cb);
+ NOTUSED(user_data);
+
+ CHECK_FEATURE_SUPPORTED(MDG_FEATURE);
+
+ mdg_manager_s *_handle = handle;
+ mdg_check_null_ret_error("handle", handle, MDG_ERROR_INVALID_PARAMETER);
+ CHECK_HANDLE_IS_VALID(handle);
+
+ mdg_device_s *dev = (mdg_device_s *)device;
+ mdg_check_null_ret_error("device", device, MDG_ERROR_INVALID_PARAMETER);
+
+ _DBG("%s", dev->device_id);
+
+ group_call_request_channel_list(_handle->group_proxy, dev->device_id, dev->addr,
+ dev->secure_port, NULL, NULL, &error);
if (error) {
_ERR("Failed DBus call [%s]", error->message);
g_error_free(error);
</method>
<method name="RequestCreateGroup">
<arg type="s" name="uuid" direction="in" />
+ <arg type="s" name="addr" direction="in"/>
+ <arg type="i" name="port" direction="in"/>
<arg type="s" name="group_name" direction="in" />
<arg type="i" name="result" direction="out" />
</method>
<method name="RequestInvite">
<arg type="s" name="uuid" direction="in" />
+ <arg type="s" name="addr" direction="in"/>
+ <arg type="i" name="port" direction="in"/>
<arg type="s" name="group_name" direction="in" />
<arg type="s" name="target_uuid" direction="in" />
<arg type="s" name="pin" direction="in" />
</method>
<method name="RequestEject">
<arg type="s" name="uuid" direction="in" />
+ <arg type="s" name="addr" direction="in"/>
+ <arg type="i" name="port" direction="in"/>
<arg type="s" name="group_name" direction="in" />
<arg type="s" name="target_uuid" direction="in" />
<arg type="i" name="result" direction="out" />
</method>
- <method name="RequestDeleteGroup">
+ <method name="RequestChannelList">
<arg type="s" name="uuid" direction="in" />
- <arg type="s" name="group_name" direction="in" />
+ <arg type="s" name="addr" direction="in"/>
+ <arg type="i" name="port" direction="in"/>
<arg type="i" name="result" direction="out" />
</method>
<!-- Signal (D-Bus) definitions -->
return RET_SUCCESS;
}
+static int run_request_channel_list(MManager *mm, struct menu_data *menu)
+{
+ int ret = 0;
+ int dev_count = 0;
+ mdg_device_h device = NULL;
+
+ dev_count = g_list_length(found_device_list);
+
+ if (0 >= dev_count) {
+ msgr("No Device");
+ return RET_SUCCESS;
+ }
+
+ int dev_idx;
+ if (device_idx != NULL && strlen(device_idx)) {
+ dev_idx = (unsigned short)strtol(device_idx, NULL, 10);
+ if (0 >= dev_idx) {
+ msgp("Invalid index. set to 1");
+ dev_idx = 1;
+ }
+ }
+
+ if (found_device_list) {
+ device = g_list_nth_data(found_device_list, dev_idx - 1);
+ if (NULL == device) {
+ msgr("Failed to g_hash_table_find");
+ return RET_FAILURE;
+ }
+ }
+
+ ret = mdg_request_channel_list(handle, device, receive_request_result, NULL);
+ if (MDG_ERROR_NONE != ret) {
+ msgr("Failed to Request Eject: [%s(0x%X)]", mdg_error_to_string(ret), ret);
+ return RET_FAILURE;
+ }
+
+ msg(" - mdg_request_eject_device() ret: [0x%X] [%s]", ret, mdg_error_to_string(ret));
+
+ return RET_SUCCESS;
+}
+
void __channel_cb(int result, mdg_device_h device, char *channel_id,
unsigned char *arg, int len, void *user_data)
{
{ NULL, NULL, },
};
+static struct menu_data menu_request_channel_list[] = {
+ { "0", "Show Found Device(s)", NULL, run_devices_show, NULL },
+ { "1", "Device Index", NULL, NULL, device_idx },
+ { "2", "Run", NULL, run_request_channel_list, NULL },
+ { NULL, NULL, },
+};
+
static struct menu_data menu_regist_channel[] = {
{ "0", "Channel ID", NULL, NULL, channel_id },
{ "1", "Run", NULL, run_regist_channel, NULL },
{ "9", "Eject Device", menu_group_eject_device, NULL, NULL }, // 0
{ "10", "Find Invited Device(s)", menu_devices_find_invited_device, NULL, NULL }, // 0
{ "11", "Show Invited Device(s)", NULL, run_invited_devices_show, NULL }, // 0
- { "12", "Request Create Group", menu_request_create_group, NULL, NULL },
- { "13", "Request Invite", menu_request_invite, NULL, NULL },
- { "14", "Request Eject", menu_request_eject, NULL, NULL },
- { "15", "Regist Channel", menu_regist_channel, NULL, NULL },
- { "16", "Unregist Channel", menu_unregist_channel, NULL, NULL },
- { "17", "Get Channel(s)", NULL, run_invited_devices_show, NULL },
+ { "12", "Request Create Group", menu_request_create_group, NULL, NULL }, // 0
+ { "13", "Request Invite", menu_request_invite, NULL, NULL }, // 0
+ { "14", "Request Eject", menu_request_eject, NULL, NULL }, // 0
+ { "15", "Request Channel List", menu_request_channel_list, NULL, NULL }, // 0
+ { "16", "Regist Channel", menu_regist_channel, NULL, NULL },
+ { "17", "Unregist Channel", menu_unregist_channel, NULL, NULL },
{ "18", "Send Message", menu_send_data, NULL, NULL }, // 0
};