static int __mc_client_register_filter_listener(media_controller_client_s *mc_client, GList **filter_list, const char *server_name, const char *signal_name, mc_signal_received_cb callback, void *user_data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *filter_interface_name = NULL;
+ g_autofree gchar *filter = _mc_util_make_filter_interface_name(server_name);
mc_debug("signal = [%s]", signal_name);
+ mc_retvm_if(!filter, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Fail _mc_util_make_filter_interface_name");
- ret = _mc_util_make_filter_interface_name(MC_DBUS_UPDATE_INTERFACE, server_name, &filter_interface_name);
- mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Fail _mc_util_make_filter_interface_name");
-
- ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, filter_interface_name, signal_name, callback, user_data);
+ ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, filter, signal_name, callback, user_data);
if (ret == MEDIA_CONTROLLER_ERROR_NONE)
*filter_list = g_list_append(*filter_list, g_strdup(server_name));
- g_free(filter_interface_name);
-
return ret;
}
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_client_s *mc_client = (media_controller_client_s *)client;
- char *interface_name = NULL;
+ g_autofree gchar *interface_name = NULL;
mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
mc_retvm_if(!MC_STRING_VALID(command_type), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid command_type");
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error _mc_ipc_send_message [%d]", ret);
- g_free(interface_name);
-
return ret;
}
static int __mc_client_set_updated_cb(mc_client_h client, mc_client_receive_event_e event, void *callback, void *user_data)
{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_client_s *mc_client = (media_controller_client_s *)client;
- char *interface_name = NULL;
+ g_autofree gchar *interface_name = NULL;
mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
mc_retvm_if(callback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "callback is NULL");
interface_name = g_strdup(MC_DBUS_UPDATE_INTERFACE);
}
- ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, interface_name, cb_event[event].signal_name,
- cb_event[event].cb_func, (void *)&(mc_client->updated_cb[event]));
-
- g_free(interface_name);
-
- return ret;
+ return _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, interface_name, cb_event[event].signal_name,
+ cb_event[event].cb_func, (void *)&(mc_client->updated_cb[event]));
}
static int __mc_client_unset_updated_cb(mc_client_h client, mc_client_receive_event_e event)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_client_s *mc_client = (media_controller_client_s *)client;
- char *interface_name = NULL;
+ g_autofree gchar *interface_name = NULL;
mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
mc_retvm_if(((event < MC_CLIENT_EVENT_SERVER_STATE) || (event >= MC_CLIENT_EVENT_MAX)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid event [%d]", event);
interface_name = _mc_util_get_interface_name(MC_CLIENT, mc_client->client_name);
ret = _mc_ipc_unregister_listener(&mc_client->listeners, interface_name, cb_event[event].signal_name);
-
- g_free(interface_name);
} else {
ret = _mc_ipc_unregister_listener(&mc_client->listeners, MC_DBUS_UPDATE_INTERFACE, cb_event[event].signal_name);
int mc_client_send_event_reply(mc_client_h client, const char *server_name, const char *request_id, int result_code, bundle *data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
- char *bundle_str = NULL;
+ g_autofree gchar *message = NULL;
+ g_autofree gchar *bundle_str = NULL;
+ g_autofree gchar *interface_name = NULL;
media_controller_client_s *mc_client = (media_controller_client_s *)client;
mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error when make string from bundle");
message = g_strdup_printf("%s%s%d%s%s", mc_client->client_name, MC_STRING_DELIMITER, result_code, MC_STRING_DELIMITER, bundle_str);
- g_free(bundle_str);
mc_retvm_if(message == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "Error when making message");
- char *interface_name = _mc_util_get_interface_name(MC_SERVER, server_name);
+ interface_name = _mc_util_get_interface_name(MC_SERVER, server_name);
ret = _mc_ipc_send_reply(mc_client->dconn, NULL, interface_name, MC_DBUS_SIGNAL_NAME_EVENT_REPLY, message, request_id);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error _mc_ipc_send_message [%d]", ret);
- g_free(message);
- g_free(interface_name);
-
return ret;
}
callback(params[0], request_id, (mc_display_rotation_e)value, receiver->user_data);
}
-static int __mc_server_send_message(media_controller_server_s *mc_server, const char *interface_name, const char *signal_name, const int param1, const int param2, const char* param3)
+static int __mc_server_send_message(media_controller_server_s *mc_server, const char *signal_name, const int param1, const int param2, const char* param3)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
+ g_autofree gchar *message = NULL;
+ g_autofree gchar *filter = NULL;
mc_retvm_if(!mc_server, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid handle");
mc_retvm_if(!mc_server->server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
- mc_retvm_if(!interface_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid interface_name");
mc_retvm_if(!signal_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid signal_name");
if ((!g_strcmp0(MC_DBUS_SIGNAL_NAME_PLAY_BACK, signal_name))
mc_retvm_if(!message, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "Invalid message");
- ret = _mc_ipc_send_message(mc_server->dconn, NULL, interface_name, signal_name, message, NULL);
+ ret = _mc_ipc_send_message(mc_server->dconn, NULL, MC_DBUS_UPDATE_INTERFACE, signal_name, message, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error _mc_ipc_send_message [%d]", ret);
- mc_secure_debug("interface_name[%s] signal_name[%s] message[%s]", interface_name, signal_name, message);
+ mc_secure_debug("signal_name[%s] message[%s]", signal_name, message);
/*Send again for the subscriber which receive filtered msg with server_name*/
- char *filter_interface_name = NULL;
- ret = _mc_util_make_filter_interface_name(interface_name, mc_server->server_name, &filter_interface_name);
+ filter = _mc_util_make_filter_interface_name(mc_server->server_name);
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
mc_error("Error _mc_util_make_filter_interface_name [%d]", ret);
} else {
- ret = _mc_ipc_send_message(mc_server->dconn, NULL, filter_interface_name, signal_name, message, NULL);
+ ret = _mc_ipc_send_message(mc_server->dconn, NULL, filter, signal_name, message, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error _mc_ipc_send_message [%d]", ret);
}
- g_free(filter_interface_name);
- g_free(message);
-
return ret;
}
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_server_s *mc_server = (media_controller_server_s *)server;
- char *interface_name = NULL;
+ g_autofree gchar *interface_name = NULL;
mc_retvm_if(!__is_valid_parameter(server, client_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid parameter");
mc_retvm_if(!MC_STRING_VALID(command_type), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid command_type");
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error _mc_ipc_send_message [%d]", ret);
- g_free(interface_name);
-
return ret;
}
}
}
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAY_BACK, 0, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_PLAY_BACK, 0, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error __mc_server_send_message [%d]", ret);
ret = _mc_db_update_server_attribute(mc_server->server_name, MC_DB_CMD_UPDATE_SHUFFLE, mode);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to update shuffle mode");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAYBACK_SHUFFLE, mode, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_PLAYBACK_SHUFFLE, mode, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_update_server_attribute(mc_server->server_name, MC_DB_CMD_UPDATE_REPEAT, mode);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to update repeat mode");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAYBACK_REPEAT, mode, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_PLAYBACK_REPEAT, mode, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_update_server_attribute(mc_server->server_name, MC_DB_CMD_UPDATE_SUBTITLES, enabled);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to update subtitles");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_SUBTITLES, enabled, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_SUBTITLES, enabled, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_update_server_attribute(mc_server->server_name, MC_DB_CMD_UPDATE_DISPLAY_MODE, mode);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to update display mode");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_DISPLAY_MODE, mode, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_DISPLAY_MODE, mode, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_update_server_attribute(mc_server->server_name, MC_DB_CMD_UPDATE_DISPLAY_ROTATION, rotation);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to update display rotation");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_DISPLAY_ROTATION, rotation, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_DISPLAY_ROTATION, rotation, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_update_server_attribute(mc_server->server_name, MC_DB_CMD_UPDATE_360, enabled);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to update 360 mode");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_360, enabled, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_360, enabled, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
mc_server->metadata->season, mc_server->metadata->episode, mc_server->metadata->resolution);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to _mc_db_update_whole_metadata");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_METADATA, 0, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_METADATA, 0, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_playlist_update(MC_PRIV_TYPE_SERVER, mc_server->server_name, playlist);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to _mc_playlist_update");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAYLIST, MC_PLAYLIST_UPDATED, 0, _playlist->playlist_name);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_PLAYLIST, MC_PLAYLIST_UPDATED, 0, _playlist->playlist_name);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_remove_playlist(mc_server->server_name, _playlist->playlist_name);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to _mc_db_remove_playlist");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAYLIST, MC_PLAYLIST_REMOVED, 0, _playlist->playlist_name);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_PLAYLIST, MC_PLAYLIST_REMOVED, 0, _playlist->playlist_name);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = __mc_server_update_ability(server, ability, support, TRUE);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_update_ability");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_ABILITY_SUPPORT, ability, support, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_ABILITY_SUPPORT, ability, support, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
static int __mc_server_set_updated_cb(mc_server_h server, mc_server_receive_event_e event, void *callback, void *user_data)
{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_server_s *mc_server = (media_controller_server_s *)server;
- char *interface_name = NULL;
+ g_autofree gchar *interface_name = NULL;
mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
mc_retvm_if(callback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "callback is NULL");
interface_name = _mc_util_get_interface_name(MC_SERVER, mc_server->server_name);
- ret = _mc_ipc_register_listener(&mc_server->listeners, mc_server->dconn, interface_name, cb_event[event].signal_name, cb_event[event].cb_func, (void *)&(mc_server->updated_cb[event]));
-
- g_free(interface_name);
-
- return ret;
+ return _mc_ipc_register_listener(&mc_server->listeners, mc_server->dconn, interface_name,
+ cb_event[event].signal_name, cb_event[event].cb_func, (void *)&(mc_server->updated_cb[event]));
}
static int __mc_server_unset_updated_cb(mc_server_h server, mc_server_receive_event_e event)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_server_s *mc_server = (media_controller_server_s *)server;
- char *interface_name = NULL;
+ g_autofree gchar *interface_name = NULL;
mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
mc_retvm_if(((event < MC_SERVER_EVENT_PLAYBACK_ACTION) || (event >= MC_SERVER_EVENT_MAX)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid event [%d]", event);
mc_server->updated_cb[event].callback = NULL;
mc_server->updated_cb[event].user_data = NULL;
- g_free(interface_name);
-
return ret;
}
int mc_server_send_cmd_reply(mc_server_h server, const char *client_name, const char *request_id, int result_code, bundle *data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
- char *bundle_str = NULL;
+ g_autofree gchar *message = NULL;
+ g_autofree gchar *bundle_str = NULL;
+ g_autofree gchar *interface_name = NULL;
media_controller_server_s *mc_server = (media_controller_server_s *)server;
mc_retvm_if(!__is_valid_parameter(server, client_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid parameter");
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error when make string from bundle");
message = g_strdup_printf("%s%s%d%s%s", mc_server->server_name, MC_STRING_DELIMITER, result_code, MC_STRING_DELIMITER, bundle_str);
- g_free(bundle_str);
mc_retvm_if(message == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "Error when making message");
- char *interface_name = _mc_util_get_interface_name(MC_CLIENT, client_name);
+ interface_name = _mc_util_get_interface_name(MC_CLIENT, client_name);
ret = _mc_ipc_send_reply(mc_server->dconn, NULL, interface_name, MC_DBUS_SIGNAL_NAME_CMD_REPLY, message, request_id);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error _mc_ipc_send_message [%d]", ret);
- g_free(message);
- g_free(interface_name);
-
return ret;
}
ret = _mc_db_update_ability_supported(mc_server->server_name, mc_server->basic_ability);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to _mc_db_update_ability_supported");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_PLAYBACK_ABILITY, 0, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_PLAYBACK_ABILITY, 0, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return ret;
ret = _mc_db_update_ability_supported(mc_server->server_name, mc_server->basic_ability);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to _mc_db_update_ability_supported");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_DP_MODE_ABILITY, 0, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_DP_MODE_ABILITY, 0, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return MEDIA_CONTROLLER_ERROR_NONE;
ret = _mc_db_update_ability_supported(mc_server->server_name, mc_server->basic_ability);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to _mc_db_update_ability_supported");
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_DP_ROTATION_ABILITY, 0, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_DP_ROTATION_ABILITY, 0, 0, NULL);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail to __mc_server_send_message");
return MEDIA_CONTROLLER_ERROR_NONE;
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("fail to get ability [%d]", ret);
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_SERVER_STATE, MC_SERVER_STATE_ACTIVATE, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_SERVER_STATE, MC_SERVER_STATE_ACTIVATE, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error __mc_server_send_message [%d]", ret);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("fail _mc_ipc_unregister_all_listener [%d]", ret);
- ret = __mc_server_send_message(mc_server, MC_DBUS_UPDATE_INTERFACE, MC_DBUS_SIGNAL_NAME_SERVER_STATE, MC_SERVER_STATE_DEACTIVATE, 0, NULL);
+ ret = __mc_server_send_message(mc_server, MC_DBUS_SIGNAL_NAME_SERVER_STATE, MC_SERVER_STATE_DEACTIVATE, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_error("Error __mc_server_send_message [%d]", ret);
#include <errno.h>
#include <limits.h>
#include <stdlib.h>
-#include <uuid/uuid.h>
#include "media_controller_private.h"
//#define UNIT_TEST /* for testsuite */
#define MAX_NAME_LENGTH 255
-static void __mc_util_check_valid_name(const char *name, char **valid_name)
+static gchar *__mc_util_check_valid_name(const char *name)
{
char new_word[MAX_NAME_LENGTH] = {0, };
unsigned int i = 0, j = 0;
- mc_retm_if_failed(name);
-
- memset(new_word, 0, MAX_NAME_LENGTH);
+ mc_retvm_if(!name, NULL, "name is NULL");
/* only 0~9, a~z, A~Z, '.', '_' will be used */
for (i = 0; (i < strlen(name)) && (j < sizeof(new_word)); i++) {
(name[i] == '_' && i != 0)) {
new_word[j++] = name[i];
} else {
- if (j + 9 < sizeof(new_word)) {
- new_word[j++] = 'A';
- new_word[j++] = 'P';
- new_word[j++] = 'P';
- new_word[j++] = 'I';
- new_word[j++] = 'D';
+ if (j + 2 < sizeof(new_word)) {
+ new_word[j++] = '_';
new_word[j++] = '_';
- new_word[j++] = 'S';
- new_word[j++] = 'E';
- new_word[j++] = 'P';
} else {
mc_error("Error failed to check valid name due to overrun!");
}
}
}
- *valid_name = g_strdup(new_word);
+ mc_retvm_if(strlen(new_word) == 0, NULL, "invalid name");
- mc_retm_if_failed((*valid_name));
+ return g_strdup(new_word);
}
int _mc_util_get_own_name(char **name)
return MEDIA_CONTROLLER_ERROR_NONE;
}
-char *_mc_util_get_interface_name(const char *type, const char *name)
+char * _mc_util_get_interface_name(const char *type, const char *name)
{
- char *temp = NULL;
- char *interface_name = NULL;
-
- mc_retvm_if(type == NULL, NULL, "type is NULL");
- mc_retvm_if(name == NULL, NULL, "name is NULL");
+ g_autofree gchar *temp = __mc_util_check_valid_name(name);
- temp = g_strdup_printf("%s.%s%s", MC_DBUS_INTERFACE_PREFIX, type, name);
+ mc_retvm_if(!type || (g_strcmp0(type, MC_SERVER) != 0 && g_strcmp0(type, MC_CLIENT) != 0), NULL, "wrong type");
+ mc_retvm_if(!temp, NULL, "invalid name");
- __mc_util_check_valid_name(temp, &interface_name);
- g_free(temp);
-
- return interface_name;
+ return g_strdup_printf("%s.%s%s", MC_DBUS_INTERFACE_PREFIX, type, temp);
}
-int _mc_util_make_filter_interface_name(const char *prefix, const char *filter, char **interface_name)
+char * _mc_util_make_filter_interface_name(const char *filter)
{
- char *temp = NULL;
-
- mc_retvm_if(prefix == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "prefix is NULL");
- mc_retvm_if(filter == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "filter is NULL");
+ g_autofree gchar *temp = __mc_util_check_valid_name(filter);
- temp = g_strdup_printf("%s.server%s", prefix, filter);
+ mc_retvm_if(!temp, NULL, "invalid filter");
- __mc_util_check_valid_name(temp, interface_name);
-
- g_free(temp);
-
- return MEDIA_CONTROLLER_ERROR_NONE;
+ return g_strdup_printf("%s.server%s", MC_DBUS_UPDATE_INTERFACE, temp);
}
static int __send_command_available(mc_priv_type_e priv_type, const char *name, const char *command_type, const char *command, mc_msg_type_e msg_type)
{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
+ g_autofree gchar *message = NULL;
if (!MC_STRING_VALID(name) || !MC_STRING_VALID(command_type)) {
mc_error("invalid query");
else
message = g_strdup_printf("%s%s%s", name, command_type, command);
- ret = _mc_ipc_send_message_to_server(msg_type, priv_type, message);
-
- g_free(message);
-
- return ret;
+ return _mc_ipc_send_message_to_server(msg_type, priv_type, message);
}
int _mc_util_set_command_available(mc_priv_type_e priv_type, const char *name, const char *command_type, const char *command)
return __send_command_available(priv_type, name, command_type, command, MC_MSG_CLIENT_GET);
}
-char *_mc_util_generate_uuid(void)
-{
- uuid_t uuid_value;
- static char uuid_unparsed[37];
-
-RETRY_GEN:
- uuid_generate(uuid_value);
- uuid_unparse(uuid_value, uuid_unparsed);
-
- if (strlen(uuid_unparsed) < 36) {
- mc_debug("INVALID UUID : %s. RETRY GENERATE.", uuid_unparsed);
- goto RETRY_GEN;
- }
-
- return uuid_unparsed;
-}
-
int _mc_util_bundle_to_string(bundle *bundle_data, char **str_data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;