} media_controller_client_s;
/* formal callback to receive signal */
-typedef void(*mc_signal_received_cb)(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data);
+typedef void(*mc_signal_received_cb)(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data);
typedef struct {
GDBusConnection *dbus_conn;
char *interface_name;
#include "media_controller_db.h"
#include <bundle_internal.h>
-static void __client_server_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_server_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *reciever = (media_controller_receiver_s *)user_data;
mc_retm_if(reciever->callback == NULL, "server_state_cb is NULL");
mc_retm_if(message == NULL, "message is NULL");
- mc_debug("__client_server_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_server_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid server data");
g_strfreev(params);
}
-static void __client_playback_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_playback_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *reciever = (media_controller_receiver_s *)user_data;
mc_retm_if(reciever->callback == NULL, "playback_cb is NULL");
mc_retm_if(message == NULL, "message is NULL");
- mc_debug("__client_playback_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_playback_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
playback = (media_controller_playback_s *)calloc(1, sizeof(media_controller_playback_s));
mc_retm_if(playback == NULL, "Error allocation memory");
g_strfreev(params);
}
-static void __client_metadata_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_metadata_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
mc_metadata_h metadata = NULL;
mc_retm_if(mc_client->metadata_cb.callback == NULL, "metadata_cb is NULL");
mc_retm_if(message == NULL, "message is NULL");
- mc_debug("__client_metadata_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_metadata_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
ret = mc_db_get_metadata_info(mc_client->db_handle, message, &metadata);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
mc_client_destroy_metadata(metadata);
}
-static void __client_shuffle_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_shuffle_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *reciever = (media_controller_receiver_s *)user_data;
mc_retm_if(reciever->callback == NULL, "shuffle_cb is NULL");
- mc_debug("__client_shuffle_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_shuffle_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid shuffle mode data");
g_strfreev(params);
}
-static void __client_repeat_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_repeat_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *reciever = (media_controller_receiver_s *)user_data;
mc_retm_if(reciever->callback == NULL, "repeat_cb is NULL");
- mc_debug("__client_repeat_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_repeat_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid repeat mode data");
g_strfreev(params);
}
-static void __client_reply_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_reply_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
int enc_size = 0;
mc_command_reply_received_cb callback = (mc_command_reply_received_cb)reciever->callback;
mc_retm_if(reciever->callback == NULL, "reply_cb is NULL");
- mc_debug("__client_reply_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_reply_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid custom data");
g_strfreev(params);
}
-static void __client_playlist_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __client_playlist_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
gchar **params = NULL;
mc_retm_if(mc_client->playlist_cb.callback == NULL, "playlist_cb is NULL");
mc_retm_if(message == NULL, "message is NULL");
- mc_debug("__client_playlist_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__client_playlist_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid custom data");
mc_debug("__mc_ipc_signal_cb Received :");
gchar *message = NULL;
- int internal_flags = 0;
- g_variant_get(parameters, "(i&s)", &internal_flags, &message);
+ unsigned int request_id = 0;
+
+ g_variant_get(parameters, "(u&s)", &request_id, &message);
if (!message) {
mc_error("g_variant_get() fail");
return;
for (i = 0; i < listener_cnt; i++) {
listener = (mc_ipc_listener_s *)g_list_nth_data(*listener_list, i);
if (listener && !g_strcmp0(listener->key, key)) {
- mc_debug("Received : [%s] (flags = %x) from %s.%s", message, internal_flags, listener->interface_name, listener->signal_name);
- listener->callback(listener->interface_name, listener->signal_name, message, 0, listener->user_data);
+ mc_debug("Received : [%s] (req_id = %ld) from %s.%s", message, request_id, listener->interface_name, listener->signal_name);
+ listener->callback(listener->interface_name, listener->signal_name, message, request_id, listener->user_data);
break;
}
}
int mc_ipc_send_message(GDBusConnection *connection, const char *dbus_name, const char *interface_name, const char *signal_name, const char *message, unsigned int *request_id)
{
GError *error = NULL;
+ unsigned int req_id = 0;
mc_retvm_if(connection == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "connection is NULL");
mc_retvm_if(!MC_STRING_VALID(signal_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid signal_name");
mc_debug("emit signal - interface_name [%s], signal_name [%s]", interface_name, signal_name);
+ if (request_id != NULL)
+ mc_util_get_request_id(&req_id);
+
gboolean emmiting = g_dbus_connection_emit_signal(
connection,
dbus_name,
MC_DBUS_PATH,
interface_name,
signal_name,
- g_variant_new("(is)", 0, message),
+ g_variant_new("(us)", req_id, message),
&error);
if (!emmiting) {
mc_error("g_dbus_connection_emit_signal failed : %s", error ? error->message : "none");
return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
}
- if (request_id != NULL)
- mc_util_get_request_id(request_id);
-
return MEDIA_CONTROLLER_ERROR_NONE;
}
return ret;
}
-static void __server_playback_state_command_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_playback_state_command_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
mc_server_playback_state_command_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "playback_state_command_received_cb is NULL");
- mc_debug("__server_playback_state_command_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_playback_state_command_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid playback state command");
g_strfreev(params);
}
-static void __server_playback_action_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_playback_action_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
mc_server_playback_action_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "playback_action_command_received_cb is NULL");
- mc_debug("__server_playback_action_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_playback_action_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid playback_action command");
g_strfreev(params);
}
-static void __server_playback_position_command_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_playback_position_command_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
mc_server_playback_position_command_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "playback_position_command_received_cb is NULL");
- mc_debug("__server_playback_position_command_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_playback_position_command_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid playback_position command");
g_strfreev(params);
}
-static void __server_shuffle_mode_command_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_shuffle_mode_command_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
mc_server_shuffle_mode_command_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "shuffle_mode_command_received_cb is NULL");
- mc_debug("__server_shuffle_mode_command_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_shuffle_mode_command_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid shuffle_mode command");
g_strfreev(params);
}
-static void __server_repeat_mode_command_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_repeat_mode_command_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
mc_server_repeat_mode_command_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "repeat_mode_command_received_cb is NULL");
- mc_debug("__server_repeat_mode_command_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_repeat_mode_command_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid repeat_mode command");
g_strfreev(params);
}
-static void __server_custom_command_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_custom_command_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
int enc_size = 0;
mc_server_custom_command_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "custom_command_received_cb is NULL");
- mc_debug("__server_custom_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_custom_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid custom data");
g_strfreev(params);
}
-static void __server_play_playlist_command_cb(const char *interface_name, const char *signal_name, const char *message, int size, void *user_data)
+static void __server_play_playlist_command_cb(const char *interface_name, const char *signal_name, const char *message, const unsigned int request_id, void *user_data)
{
gchar **params = NULL;
media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
mc_server_playlist_command_received_cb callback = receiver->callback;
mc_retm_if(receiver->callback == NULL, "mc_server_playlist_command_received_cb is NULL");
- mc_debug("__server_play_playlist_command_cb(%s, %s, %s, %d, %p)", interface_name, signal_name, message, size, user_data);
+ mc_debug("__server_play_playlist_command_cb(%s, %s, %s, %ld, %p)", interface_name, signal_name, message, request_id, user_data);
params = g_strsplit(message, MC_STRING_DELIMITER, 0);
mc_retm_if(params == NULL, "invalid play_playlist command");