IF(ON_DEMAND_SOCKET_ACTIVATION)
ADD_DEFINITIONS("-D_ON_DEMAND_SOCKET_ACTIVATION")
ENDIF(ON_DEMAND_SOCKET_ACTIVATION)
-IF(TIZEN_FEATURE_COMPATIBILITY)
-ADD_DEFINITIONS("-DTIZEN_FEATURE_COMPATIBILITY")
-ENDIF(TIZEN_FEATURE_COMPATIBILITY)
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIB_INSTALL_DIR}")
#define MC_DBUS_SIGNAL_NAME_DISPLAY_ROTATION "display_rotation"
#define MC_DBUS_SIGNAL_NAME_360 "spherical_mode"
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
-#define MC_DBUS_SIGNAL_NAME_PLAYBACK_STATE_CMD "pb_state_cmd"
-#define MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND "custom_command"
-#define MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND_REPLY "custom_command_reply"
-#endif
-/* LCOV_EXCL_STOP */
-
-
#define MC_COMMAND_PLAYBACKACTION "_pb_action_cmd_"
#define MC_COMMAND_PLAYBACKPOSITION "_pb_position_cmd_"
#define MC_COMMAND_SHUFFLE "_shuffle_cmd_"
#define MC_COMMAND_DISPLAYROTATION "_display_rotation_cmd_"
#define MC_COMMAND_360 "360_cmd_"
-
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
-#define MC_COMMAND_PLAYBACKSTATE "_pb_state_cmd_"
-#define MC_COMMAND_CUSTOM "_custom_cmd_"
-#endif
-/* LCOV_EXCL_STOP */
-
#define MC_EVENT_CUSTOM "_custom_event_"
#define MC_EVENT_REPLY "_event_reply_"
MC_CLIENT_EVENT_360,
MC_CLIENT_EVENT_CMD_REPLY,
MC_CLIENT_EVENT_SERVER_CUSTOM, //receive event from server to client
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
- MC_CLIENT_EVENT_CLIENT_CUSTOM, //from client to server. deprecated
-#endif
-/* LCOV_EXCL_STOP */
MC_CLIENT_EVENT_MAX,
} mc_client_receive_event_e;
MC_SERVER_EVENT_DISPLAY_MODE,
MC_SERVER_EVENT_DISPLAY_ROTATION,
MC_SERVER_EVENT_360,
-#ifdef TIZEN_FEATURE_COMPATIBILITY
- MC_SERVER_EVENT_PLAYBACK_STATE, //deprecated. use action instead of it.
- MC_SERVER_EVENT_CLIENT_CUSTOM_OLD, //received event from client, deprecated
-#endif
MC_SERVER_EVENT_MAX,
} mc_server_receive_event_e;
%else
-DON_DEMAND_SOCKET_ACTIVATION=NO \
%endif
- -DTIZEN_FEATURE_COMPATIBILITY=YES
%__make %{?jobs:-j%jobs}
static void __client_display_mode_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __client_display_rotation_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
-static void __client_reply_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
-#endif
-/* LCOV_EXCL_STOP */
-
static mc_cb_event_s cb_event[MC_CLIENT_EVENT_MAX] = {
{MC_DBUS_SIGNAL_NAME_SERVER_STATE, __client_server_cb},
{MC_DBUS_SIGNAL_NAME_PLAY_BACK, __client_playback_cb},
{MC_DBUS_SIGNAL_NAME_360, __client_attribute_cb},
{MC_DBUS_SIGNAL_NAME_CMD_REPLY, __client_cmd_reply_received_cb},
{MC_DBUS_SIGNAL_NAME_CUSTOM_EVENT, __client_custom_event_received_cb},
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
- {MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND_REPLY, __client_reply_cb},
-#endif
-/* LCOV_EXCL_STOP */
};
static void __client_server_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
mc_retvm_if(callback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "callback 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);
- /* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
- if ((event == MC_CLIENT_EVENT_CLIENT_CUSTOM) && (mc_client->updated_cb[event].callback != NULL)) { //deprecated
- mc_client->updated_cb[event].callback = callback;
- mc_client->updated_cb[event].user_data = user_data;
-
- return ret;
- }
-#endif
- /* LCOV_EXCL_STOP */
mc_retvm_if(mc_client->updated_cb[event].callback != NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "callback is already set [%d]", event);
mc_client->updated_cb[event].callback = callback;
mc_client->updated_cb[event].user_data = user_data;
-#ifdef TIZEN_FEATURE_COMPATIBILITY
- if ((event == MC_CLIENT_EVENT_CMD_REPLY) || (event == MC_CLIENT_EVENT_SERVER_CUSTOM) || (event == MC_CLIENT_EVENT_CLIENT_CUSTOM)) {
-#else
if ((event == MC_CLIENT_EVENT_CMD_REPLY) || (event == MC_CLIENT_EVENT_SERVER_CUSTOM)) {
-#endif
interface_name = _mc_util_get_interface_name(MC_CLIENT, mc_client->client_name);
} else if ((event == MC_CLIENT_EVENT_PLAYBACK_INFO) || (event == MC_CLIENT_EVENT_METADATA) || (event == MC_CLIENT_EVENT_PLAYBACK_ABILITY)
|| (event == MC_CLIENT_EVENT_DISPLAY_MODE_ABILITY) || (event == MC_CLIENT_EVENT_DISPLAY_ROTATION_ABILITY)) {
return ret;
}
-
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
-typedef void (*mc_command_reply_received_cb)(const char *server_name, int result_code, bundle *data, void *user_data);
-
-static void __client_reply_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
-{
- gchar **params = NULL;
- int enc_size = 0;
- bundle *bundle_data = NULL;
-
- media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
- mc_retm_if_failed(receiver && receiver->callback);
-
- mc_command_reply_received_cb callback = (mc_command_reply_received_cb)receiver->callback;
-
- mc_debug("__client_reply_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
-
- params = g_strsplit(message, MC_STRING_DELIMITER, 0);
- mc_retm_if_failed(params);
-
- enc_size = atoi(params[2]);
- if (enc_size > 0)
- bundle_data = bundle_decode((bundle_raw *)params[3], enc_size);
-
- callback(params[0], atoi(params[1]), bundle_data, receiver->user_data);
-
- g_strfreev(params);
-}
-
-int mc_client_destroy_metadata(mc_metadata_h metadata)
-{
- mc_warning("DEPRECATION WARNING: mc_client_destroy_metadata() is removed from 5.5. Use mc_metadata_destroy() instead.");
-
- return mc_metadata_destroy(metadata);
-}
-
-int mc_client_get_metadata(mc_metadata_h metadata, mc_meta_e attribute, char **value)
-{
- mc_warning("DEPRECATION WARNING: mc_client_get_metadata() is removed from 5.5. Use mc_metadata_get() instead.");
-
- return mc_metadata_get(metadata, attribute, value);
-}
-
-int mc_client_send_custom_command(mc_client_h client, const char *server_name, const char *command, bundle *data, mc_command_reply_received_cb callback, void *user_data)
-{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
- char *bundle_str = NULL;
- media_controller_client_s *mc_client = (media_controller_client_s *)client;
-
- mc_warning("DEPRECATION WARNING: mc_client_send_custom_command() is removed from 5.5. Use mc_client_send_custom_cmd() instead.");
-
- mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
- mc_retvm_if(!MC_STRING_VALID(server_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
-
- if (callback) {
- ret = __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_CLIENT_CUSTOM, callback, user_data);
- mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error when __mc_client_set_updated_cb [%d]", ret);
- }
-
- ret = _mc_util_bundle_to_string(data, &bundle_str);
- mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error when make string from bundle");
-
- message = g_strdup_printf("%s%s%s%s%s", mc_client->client_name, MC_STRING_DELIMITER, command, MC_STRING_DELIMITER, bundle_str);
- g_free(bundle_str);
- mc_retvm_if(message == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "Error when making message");
-
- ret = __mc_client_send_command(client, server_name, MC_COMMAND_CUSTOM, command, MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND, message, NULL);
-
- g_free(message);
-
- return ret;
-}
-
-int mc_client_send_playback_state_command(mc_client_h client, const char *server_name, mc_playback_states_e state)
-{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
- media_controller_client_s *mc_client = (media_controller_client_s *)client;
-
- mc_warning("DEPRECATION WARNING: mc_client_send_playback_state_command() is removed from 5.5. Use mc_client_send_playback_action_cmd() instead.");
-
- mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
- mc_retvm_if(!MC_STRING_VALID(server_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
- //mc_retvm_if(((state < MC_PLAYBACK_STATE_PLAYING) || (state > MC_PLAYBACK_STATE_REWIND)), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "state is invalid");
-
- message = g_strdup_printf("%s%s%d", mc_client->client_name, MC_STRING_DELIMITER, state);
- mc_retvm_if(message == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "fail making message [%d]", ret);
-
- ret = __mc_client_send_command(client, server_name, MC_COMMAND_PLAYBACKSTATE, NULL, MC_DBUS_SIGNAL_NAME_PLAYBACK_STATE_CMD, message, NULL);
-
- g_free(message);
-
- return ret;
-}
-
-int mc_client_set_metadata_update_cb(mc_client_h client, mc_metadata_updated_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_client_set_metadata_update_cb() is removed from 5.5. Use mc_client_set_metadata_updated_cb() instead.");
-
- return __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_METADATA, callback, user_data);
-}
-
-int mc_client_unset_metadata_update_cb(mc_client_h client)
-{
- mc_warning("DEPRECATION WARNING: mc_client_unset_metadata_update_cb() is removed from 5.5. Use mc_client_unset_metadata_updated_cb() instead.");
-
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_METADATA);
-}
-
-int mc_client_set_playback_update_cb(mc_client_h client, mc_playback_updated_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_client_set_playback_update_cb() is removed from 5.5. Use mc_client_set_playback_updated_cb() instead.");
-
- return __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_PLAYBACK_INFO, callback, user_data);
-}
-
-int mc_client_unset_playback_update_cb(mc_client_h client)
-{
- mc_warning("DEPRECATION WARNING: mc_client_unset_playback_update_cb() is removed from 5.5. Use mc_client_unset_playback_updated_cb() instead.");
-
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_PLAYBACK_INFO);
-}
-
-int mc_client_set_server_update_cb(mc_client_h client, mc_server_state_updated_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_client_set_server_update_cb() is removed from 5.5. Use mc_client_set_server_updated_cb() instead.");
-
- return __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_SERVER_STATE, callback, user_data);
-}
-
-int mc_client_unset_server_update_cb(mc_client_h client)
-{
- mc_warning("DEPRECATION WARNING: mc_client_unset_server_update_cb() is removed from 5.5. Use mc_client_unset_server_updated_cb() instead.");
-
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_SERVER_STATE);
-}
-#endif
-/* LCOV_EXCL_STOP */
static void __server_display_mode_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __server_display_rotation_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
-static void __server_playback_state_command_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
-static void __server_custom_command_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
-#endif
-/* LCOV_EXCL_STOP */
-
static mc_cb_event_s cb_event[MC_SERVER_EVENT_MAX] = {
{MC_DBUS_SIGNAL_NAME_PLAYBACK_ACTION, __server_playback_action_cb},
{MC_DBUS_SIGNAL_NAME_PLAYBACK_POS_CMD, __server_playback_position_cmd_cb},
{MC_DBUS_SIGNAL_NAME_DISPLAY_MODE, __server_display_mode_cb},
{MC_DBUS_SIGNAL_NAME_DISPLAY_ROTATION, __server_display_rotation_cb},
{MC_DBUS_SIGNAL_NAME_360, __server_enable_cmd_cb},
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
- {MC_DBUS_SIGNAL_NAME_PLAYBACK_STATE_CMD, __server_playback_state_command_cb},
- {MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND, __server_custom_command_cb}, //deprecated one
-#endif
-/* LCOV_EXCL_STOP */
};
static int __mc_server_create(media_controller_server_s **mc_server)
return ret;
}
-
-/* LCOV_EXCL_START */
-#ifdef TIZEN_FEATURE_COMPATIBILITY
-typedef void (*mc_server_custom_command_received_cb)(const char* client_name, const char *command, bundle *data, void *user_data);
-typedef void (*mc_server_playback_state_command_received_cb)(const char* client_name, mc_playback_states_e state, void *user_data);
-
-static void __server_playback_state_command_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
-{
- gchar **params = NULL;
- media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
- int value = 0;
-
- mc_retm_if_failed(receiver && receiver->callback);
-
- mc_server_playback_state_command_received_cb callback = receiver->callback;
-
- mc_debug("__server_playback_state_command_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
-
- params = g_strsplit(message, MC_STRING_DELIMITER, 0);
- mc_retm_if_failed(params);
-
- if (_mc_util_get_command_available(MC_PRIV_TYPE_SERVER, params[0], MC_COMMAND_PLAYBACKSTATE, NULL) != MEDIA_CONTROLLER_ERROR_NONE) {
- mc_error("Error permission denied");
- g_strfreev(params);
- return;
- }
-
- if (mc_safe_strtoi(params[1], &value) != MEDIA_CONTROLLER_ERROR_NONE) {
- mc_error("Error get received value");
- g_strfreev(params);
- return;
- }
-
- callback(params[0], (mc_playback_states_e)value, receiver->user_data);
-
- g_strfreev(params);
-}
-
-static void __server_custom_command_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
-{
- gchar **params = NULL;
- int enc_size = 0;
- char *sender = NULL;
- char *command = NULL;
- bundle *bundle_data = NULL;
- media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
-
- mc_retm_if_failed(receiver && receiver->callback);
-
- mc_server_custom_command_received_cb callback = receiver->callback;
-
- mc_debug("__server_custom_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
-
- params = g_strsplit(message, MC_STRING_DELIMITER, 0);
- mc_retm_if_failed(params);
-
- if (params[0])
- sender = g_strdup(params[0]);
-
- if (_mc_util_get_command_available(MC_PRIV_TYPE_SERVER, sender, MC_COMMAND_CUSTOM, params[1]) != MEDIA_CONTROLLER_ERROR_NONE) {
- mc_error("Error permission denied");
- g_free(sender);
- g_strfreev(params);
- return;
- }
-
- command = g_strdup(params[1]);
- enc_size = atoi(params[2]);
- if (enc_size > 0)
- bundle_data = bundle_decode((bundle_raw *)params[3], enc_size);
-
- callback(sender, command, bundle_data, receiver->user_data);
-
- g_free(sender);
- g_free(command);
-
- g_strfreev(params);
-}
-
-int mc_server_send_command_reply(mc_server_h server, const char *client_name, int result_code, bundle *data)
-{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
- char *message = NULL;
- char *bundle_str = NULL;
- media_controller_server_s *mc_server = (media_controller_server_s *)server;
-
- mc_warning("DEPRECATION WARNING: mc_server_send_command_reply() is removed from 5.5. Use mc_server_send_cmd_reply() instead.");
-
- mc_retvm_if(!__is_valid_parameter(server, client_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid parameter");
-
- ret = _mc_util_bundle_to_string(data, &bundle_str);
- 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);
- ret = _mc_ipc_send_message(mc_server->dconn, NULL, interface_name, MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND_REPLY, message, NULL);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- mc_error("Error _mc_ipc_send_message [%d]", ret);
-
- g_free(message);
- g_free(interface_name);
-
- return ret;
-}
-
-int mc_server_set_custom_command_received_cb(mc_server_h server, mc_server_custom_command_received_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_server_set_custom_command_received_cb() is removed from 5.5. Use mc_server_set_custom_cmd_received_cb() instead.");
-
- return __mc_server_set_updated_cb(server, MC_SERVER_EVENT_CLIENT_CUSTOM_OLD, callback, user_data);
-}
-
-int mc_server_unset_custom_command_received_cb(mc_server_h server)
-{
- mc_warning("DEPRECATION WARNING: mc_server_unset_custom_command_received_cb() is removed from 5.5. Use mc_server_unset_custom_cmd_received_cb() instead.");
-
- return __mc_server_unset_updated_cb(server, MC_SERVER_EVENT_CLIENT_CUSTOM_OLD);
-}
-
-int mc_server_set_playback_state_command_received_cb(mc_server_h server, mc_server_playback_state_command_received_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_server_set_playback_state_command_received_cb() is removed from 5.5. Use mc_server_set_playback_action_cmd_received_cb() instead.");
-
- return __mc_server_set_updated_cb(server, MC_SERVER_EVENT_PLAYBACK_STATE, callback, user_data);
-}
-
-int mc_server_unset_playback_state_command_received_cb(mc_server_h server)
-{
- mc_warning("DEPRECATION WARNING: mc_server_unset_playback_state_command_received_cb() is removed from 5.5. Use mc_server_unset_playback_action_cmd_received_cb() instead.");
-
- return __mc_server_unset_updated_cb(server, MC_SERVER_EVENT_PLAYBACK_STATE);
-}
-
-#endif
-/* LCOV_EXCL_STOP */