static int __make_service_connection(mc_priv_type_e priv_type)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- ret = mc_ipc_send_message_to_server(MC_MSG_SERVER_CONNECTION, priv_type, MC_SERVER_CONNECTION_MSG);
+ char *app_id = NULL;
+
+ ret = mc_util_get_own_name(&app_id);
+ mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Failed to get server_name [%d]", ret);
+
+ ret = mc_ipc_send_message_to_server(MC_MSG_SERVER_CONNECTION, priv_type, app_id);
+
+ MC_SAFE_FREE(app_id);
return ret;
}
typedef struct {
int pid;
mc_priv_type_e priv_type;
+ char *app_id;
GList *s_data;
} mc_list_data_set_t;
{
mc_list_data_set_t *_data = (mc_list_data_set_t *)data;
mc_comm_msg_s *_user_data = (mc_comm_msg_s *)user_data;
- char *_set_data = strdup(_user_data->msg);
- if (_data->pid == _user_data->pid)
+ char *_set_data = NULL;
+
+ if (_data->pid == _user_data->pid) {
+ _set_data = strdup(_user_data->msg);
_data->s_data = g_list_append(_data->s_data, _set_data);
+ }
}
static void __mc_get_data(gpointer data, gpointer user_data)
data->pid = request_msg->pid;
data->priv_type = request_msg->priv_type;
+ data->app_id = g_strdup(request_msg->msg);
+
*connected_list = g_list_append(*connected_list, data);
if (g_connection_cnt == -1)
mc_list_data_set_t *data = g_list_nth_data(*connected_list, idx);
if (data != NULL) {
mc_error("[No-error] data [%p]", data);
+
*connected_list = g_list_remove(*connected_list, data);
+
+ MC_SAFE_FREE(data->app_id);
+
if (data->s_data != NULL) {
mc_error("[No-error] s_data [%p], length [%d]", data->s_data, g_list_length(data->s_data));
g_list_free_full(data->s_data, __mc_destroy_data_list);
g_connection_cnt--;
mc_error("[No-error] decreased connection count [%d]", g_connection_cnt);
+
mc_debug_fleave();
+
return MEDIA_CONTROLLER_ERROR_NONE;
}
} else if (request_msg->msg_type == MC_MSG_CLIENT_GET) {
send_msg = _mc_service_get_data(&(_service_data->connected), request_msg);
} else if (request_msg->msg_type == MC_MSG_SERVER_CONNECTION) {
- if (request_msg->msg_size < strlen(MC_SERVER_CONNECTION_MSG)) {
- mc_error("Wrong message!");
- send_msg = MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
- goto ERROR;
- }
- if (strncmp(request_msg->msg, MC_SERVER_CONNECTION_MSG, request_msg->msg_size) == 0) {
+ if(MC_STRING_VALID(request_msg->msg)) {
send_msg = _mc_service_add_connection(&(_service_data->connected), request_msg);
} else {
mc_error("Wrong message!");