* \#include <media_controller_server.h>
*
* @section CAPI_MEDIA_CONTROLLER_SERVER_MODULE_OVERVIEW Overview
-* The @ref CAPI_MEDIA_CONTROLLER_SERVER_MODULE API allows you to send the playback info (#mc_server_set_playback_state(), #mc_server_set_playback_position(), #mc_server_set_playlist_item_info()), the metadata (#mc_server_set_metadata() and playlist (#mc_server_set_playlist_item_index(), #mc_server_create_playlist()). and to receive the custom command (#mc_server_set_custom_cmd_received_cb()), to update the status information on the latest server (#mc_server_update_playback_info(), #mc_server_update_metadata(). \n
+* The @ref CAPI_MEDIA_CONTROLLER_SERVER_MODULE API allows you to send the playback info (#mc_server_set_playback_state(), #mc_server_set_playback_position(), #mc_server_set_playlist_item_info()), the metadata (#mc_server_set_metadata() and playlist (#mc_server_set_playlist_item_info(), #mc_server_create_playlist()). and to receive the custom command (#mc_server_set_custom_cmd_received_cb()), to update the status information on the latest server (#mc_server_update_playback_info(), #mc_server_update_metadata(). \n
* Before doing those things you should create handle(#mc_server_create()). And if you don't use handle anymore, you have to destroy it(#mc_server_destroy()).
*
*/
*
* @section CAPI_MEDIA_CONTROLLER_CLIENT_MODULE_OVERVIEW Overview
* The @ref CAPI_MEDIA_CONTROLLER_CLIENT_MODULE API allows you to check the activated server status (#mc_client_set_server_updated_cb()), the playback info (#mc_client_set_playback_updated_cb()), the metadata (#mc_client_set_metadata_updated_cb()) or the playlist(#mc_client_set_playlist_updated_cb()). \n
-* And client can send the custom command to server(#mc_client_send_custom_command()). \n
+* And client can send the custom command to server(#mc_client_send_custom_cmd()). \n
* Before doing those things you should create handle(#mc_client_create()). And if you don't use handle anymore, you have to destroy it(#mc_client_destroy()).
* If there is no the activated server, you can get the latest server information by using #mc_client_get_latest_server_info().
*
*/
typedef void (*mc_metadata_updated_cb)(const char *server_name, mc_metadata_h metadata, void *user_data);
-/**
- * @deprecated Deprecated since 4.0. Use mc_shuffle_mode_updated_cb() instead.
- * @brief Called when updating the shuffle mode of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @remarks The callback is called in the dbus event loop.
- *
- * @param[in] server_name The app_id of the media controller server which sent the notification. It can be used only in the callback. To use outside, make a copy.
- * @param[in] mode The shuffle mode of the updated media controller server
- * @param[in] user_data The user data passed from the mc_client_set_shuffle_mode_update_cb() function
- *
- * @pre mc_client_set_shuffle_mode_update_cb()
- *
- * @see mc_client_set_shuffle_mode_update_cb()
- */
-typedef void (*mc_shuffle_mode_changed_cb)(const char *server_name, mc_shuffle_mode_e mode, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_repeat_mode_updated_cb() instead.
- * @brief Called when updating the repeat mode of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @remarks The callback is called in the dbus event loop.
- *
- * @param[in] server_name The app_id of the media controller server which sent the notification. It can be used only in the callback. To use outside, make a copy.
- * @param[in] mode The repeat mode of the updated media controller server
- * @param[in] user_data The user data passed from the mc_client_set_repeat_mode_update_cb() function
- *
- * @pre mc_client_set_repeat_mode_update_cb()
- *
- * @see mc_client_set_repeat_mode_update_cb()
- */
-typedef void (*mc_repeat_mode_changed_cb)(const char *server_name, mc_repeat_mode_e mode, void *user_data) TIZEN_DEPRECATED_API;
-
/**
* @brief Called when updating the shuffle mode of the media controller server.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
*/
typedef bool (*mc_activated_server_cb)(const char *server_name, void *user_data);
-/**
- * @deprecated Deprecated since 4.0. Use mc_cmd_reply_received_cb() instead.
- * @brief Called when receiving the command processing result from the server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @remarks The callback is called in the dbus event loop. @a data should be released using bundle_free().
- *
- * @param[in] server_name The app_id of the media controller server which sent the reply, It can be used only in the callback. To use outside, make a copy.
- * @param[in] result_code The result code of custom command
- * @param[in] data The extra data
- * @param[in] user_data The user data passed from the mc_client_send_custom_command() function
- *
- * @pre mc_client_send_custom_command()
- *
- * @see mc_client_send_custom_command()
- */
-typedef void (*mc_command_reply_received_cb)(const char *server_name, int result_code, bundle *data, void *user_data) TIZEN_DEPRECATED_API;
-
/**
* @brief Called when the result of the command from the server is received.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
*/
int mc_client_create(mc_client_h *client);
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_set_server_updated_cb() instead.
- * @brief Sets the callback for monitoring status of the media controller server.
- * @details The media controller client which calls this function will receive notifications from all media controller servers.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] callback The callback to be invoked when the media controller server status is changed
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_set_server_update_cb(mc_client_h client, mc_server_state_updated_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_unset_server_updated_cb() instead.
- * @brief Unsets the callback for monitoring status of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_unset_server_update_cb(mc_client_h client) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_set_playback_updated_cb() instead.
- * @brief Sets the callback for monitoring playback status of the media controller server.
- * @details The media controller client which calls this function will receive notifications from all media controller servers. \n
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] callback The callback to be invoked when the playback status is changed
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_set_playback_update_cb(mc_client_h client, mc_playback_updated_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_unset_playback_updated_cb() instead.
- * @brief Unsets the callback for monitoring playback status of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_unset_playback_update_cb(mc_client_h client) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_set_metadata_updated_cb() instead.
- * @brief Sets the callback for monitoring metadata status of the media controller server.
- * @details The media controller client which calls this function will receive notifications from all media controller servers.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] callback The callback to be invoked when the metadata status is changed
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_set_metadata_update_cb(mc_client_h client, mc_metadata_updated_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_unset_metadata_updated_cb() instead.
- * @brief Unsets the callback for monitoring metadata status of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_unset_metadata_update_cb(mc_client_h client) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_set_shuffle_mode_updated_cb() instead.
- * @brief Sets the callback for monitoring shuffle mode of the media controller server.
- * @details The media controller client which calls this function will receive notifications from all media controller servers.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] callback The callback to be invoked when the shuffle mode is changed
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_set_shuffle_mode_update_cb(mc_client_h client, mc_shuffle_mode_changed_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_unset_shuffle_mode_updated_cb() instead.
- * @brief Unsets the callback for monitoring shuffle mode of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_unset_shuffle_mode_update_cb(mc_client_h client) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_set_repeat_mode_updated_cb() instead.
- * @brief Sets the callback for monitoring repeat mode of the media controller server.
- * @details The media controller client which calls this function will receive notifications from all media controller servers.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] callback The callback to be invoked when the repeat mode is changed
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_set_repeat_mode_update_cb(mc_client_h client, mc_repeat_mode_changed_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_unset_repeat_mode_updated_cb() instead.
- * @brief Unsets the callback for monitoring repeat mode of the media controller server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_destroy()
- */
-int mc_client_unset_repeat_mode_update_cb(mc_client_h client) TIZEN_DEPRECATED_API;
-
/**
* @brief Sets the callback for monitoring status of the media controller server.
* @details The media controller client which calls this function will receive notifications from all media controller servers.
*/
int mc_client_destroy_playback(mc_playback_h playback);
-/**
- * @deprecated Deprecated since 4.0. Use mc_metadata_get() instead.
- * @brief Gets the metadata.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @remarks The @a metadata should be released using @c mc_client_destroy_metadata(). \n
- * And also The @a value should be released using free().
- * If the attribute value of the metadata is empty, return value is NULL.
- *
- * @param[in] metadata The handle to metadata
- * @param[in] attribute The key attribute name to get
- * @param[out] value The value of the attribute
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @pre Sets mc_client_set_metadata_update_cb() function to get the metadata
- * @see mc_client_set_metadata_update_cb()
- */
-int mc_client_get_metadata(mc_metadata_h metadata, mc_meta_e attribute, char **value) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_metadata_destroy() instead.
- * @brief Destroys metadata.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @param[in] metadata The handle to metadata
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @pre Sets mc_client_set_metadata_update_cb() function to create metadata
- * @see mc_client_set_metadata_update_cb()
- */
-int mc_client_destroy_metadata(mc_metadata_h metadata) TIZEN_DEPRECATED_API;
-
/**
* @brief Gets the latest media controller server info.
* @details The media controller client will get the most recently updated information by the server.
*/
int mc_client_foreach_server_playlist(mc_client_h client, const char *server_name, mc_playlist_cb callback, void *user_data);
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_send_playback_action_cmd() instead.
- * @brief Sends the playback state command to server.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] server_name The app_id of the media controller server
- * @param[in] state The playback state to send to media controller server
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- * @see mc_client_get_server_playback_info()
- */
-int mc_client_send_playback_state_command(mc_client_h client, const char *server_name, mc_playback_states_e state) TIZEN_DEPRECATED_API;
-
/**
* @brief Sends the playback action command to server.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
*/
int mc_client_send_repeat_mode_cmd(mc_client_h client, const char *server_name, mc_repeat_mode_e repeat_mode, char **request_id);
-/**
- * @deprecated Deprecated since 4.0. Use mc_client_send_custom_cmd() instead.
- * @brief Sends the custom command to server.
- * @details If there is the result for command from server, the media controller client will get the result of the custom command by mc_command_reply_received_cb() callback.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.client
- *
- * @param[in] client The handle to the media controller client
- * @param[in] server_name The app_id of the media controller server
- * @param[in] command The command to be sent
- * @param[in] data The extra data
- * @param[in] callback The callback to be invoked when the custom command execute completely.
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller client handle by calling mc_client_create().
- * @see mc_client_create()
- */
-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) TIZEN_DEPRECATED_API;
-
/**
* @brief Sends the playlist command to server.
* @details The media controller client can send "index" of the playlist to the media controller server with playback action and position.
* @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY Out of memory
*
- * @pre Sets mc_client_set_metadata_update_cb() function to get the metadata if you are media controller client. \n
+ * @pre Sets mc_client_set_metadata_updated_cb() function to get the metadata if you are media controller client. \n
* and also you can use this function when get the metadata when callback function invoked in @c mc_playlist_foreach_item().
*
- * @see mc_client_set_metadata_update_cb()
+ * @see mc_client_set_metadata_updated_cb()
* @see mc_playlist_foreach_item()
*/
int mc_metadata_get(mc_metadata_h metadata, mc_meta_e attribute, char **value);
#define MC_DBUS_SIGNAL_NAME_METADATA "metadata"
#define MC_DBUS_SIGNAL_NAME_PLAYBACK_SHUFFLE "shuffle"
#define MC_DBUS_SIGNAL_NAME_PLAYBACK_REPEAT "repeat"
-#define MC_DBUS_SIGNAL_NAME_PLAYBACK_STATE_CMD "pb_state_cmd"
#define MC_DBUS_SIGNAL_NAME_PLAYBACK_ACTION "pb_action_cmd"
#define MC_DBUS_SIGNAL_NAME_PLAYBACK_POS_CMD "pb_position_cmd"
#define MC_DBUS_SIGNAL_NAME_SHUFFLE_CMD "shuffle_cmd"
#define MC_DBUS_SIGNAL_NAME_CMD_REPLY "cmd_reply"
#define MC_DBUS_SIGNAL_NAME_PLAYLIST "playlist"
#define MC_DBUS_SIGNAL_NAME_PLAYBACK_PLAYLIST "pb_playlist"
-#define MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND "custom_command"
-#define MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND_REPLY "custom_command_reply"
#define MC_DBUS_SIGNAL_NAME_CUSTOM_EVENT "custom_event"
#define MC_DBUS_SIGNAL_NAME_EVENT_REPLY "event_reply"
#define MC_DBUS_SIGNAL_NAME_PLAYBACK_ABILITY "playback_ability"
MC_CLIENT_EVENT_SHUFFLE_ABILITY = MC_SUBSCRIPTION_TYPE_SHUFFLE_ABILITY,
MC_CLIENT_EVENT_REPEAT_ABILITY = MC_SUBSCRIPTION_TYPE_REPEAT_ABILITY,
MC_CLIENT_EVENT_CMD_REPLY,
- MC_CLIENT_EVENT_CLIENT_CUSTOM, //from client to server. deprecated
MC_CLIENT_EVENT_SERVER_CUSTOM, //receive event from server to client
MC_CLIENT_EVENT_MAX,
} mc_client_receive_event_e;
typedef enum {
- MC_SERVER_EVENT_PLAYBACK_STATE, //deprecated. use action instead of it.
MC_SERVER_EVENT_PLAYBACK_ACTION,
MC_SERVER_EVENT_PLAYBACK_POSITION,
MC_SERVER_EVENT_SHUFFLE,
MC_SERVER_EVENT_REPEAT,
MC_SERVER_EVENT_PLAYLIST,
MC_SERVER_EVENT_CLIENT_CUSTOM, //received event from client
- MC_SERVER_EVENT_CLIENT_CUSTOM_OLD, //received event from client, deprecated
MC_SERVER_EVENT_REPLY_CUSTOM, //received event reply from client
MC_SERVER_EVENT_SEARCH,
MC_SERVER_EVENT_MAX,
* @{
*/
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_playback_action_cmd_received_cb() instead.
- * @brief Called when the server receives the playback state from the client.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @remarks The callback is called in the dbus event loop.
- * The @a client_name should not be released by the application. \n
- * The @a client_name can be used only in the callback. To use outside, make a copy.
- *
- * @param[in] client_name The app_id of the media controller client.
- * @param[in] state The received playback state
- * @param[in] user_data The user data passed from the mc_server_set_playback_state_command_received_cb() function
- *
- * @pre mc_server_set_playback_state_command_received_cb()
- *
- * @see mc_server_set_playback_state_command_received_cb()
- */
-typedef void (*mc_server_playback_state_command_received_cb)(const char* client_name, mc_playback_states_e state, void *user_data);
-
/**
* @brief Called when the server receives the playback action command from the client.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
*/
typedef void (*mc_server_repeat_mode_cmd_received_cb)(const char* client_name, const char *request_id, mc_repeat_mode_e repeat_mode, void *user_data);
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_custom_cmd_received_cb() instead.
- * @brief Called when the Server receives custom command from the client.
- * @details This callback is called when server receives custom command from client.
- * If there is reply for command, call mc_server_send_command_reply() function.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @remarks The callback is called in the dbus event loop. @a data should be released using bundle_free().\n
- * The @a client_name and @ request_id should not be released by the application. \n
- * The @a client_name and @ command can be used only in the callback. To use outside, make a copy.
- *
- * @param[in] client_name The app_id of the media controller client.
- * @param[in] command The received command.
- * @param[in] data The extra data
- * @param[in] user_data The user data passed from the mc_server_set_custom_command_received_cb() function
- *
- * @pre mc_server_set_custom_command_received_cb()
- *
- * @see mc_server_set_custom_command_received_cb()
- */
-typedef void (*mc_server_custom_command_received_cb)(const char* client_name, const char *command, bundle *data, void *user_data) TIZEN_DEPRECATED_API;
-
/**
* @brief Called when the Server receives playlist command from the client.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
*/
int mc_server_update_repeat_mode(mc_server_h server, mc_repeat_mode_e mode);
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_set_playback_action_cmd_received_cb() instead.
- * @brief Sets the callback for receiving playback state command from client.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.server
- *
- * @param[in] server The handle to media controller server
- * @param[in] callback The callback to be invoked when media controller server receives playback command from client.
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller server handle by calling mc_server_create().
- * @see mc_server_create()
- * @see mc_server_destroy()
- */
-int mc_server_set_playback_state_command_received_cb(mc_server_h server, mc_server_playback_state_command_received_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_unset_playback_action_cmd_received_cb() instead.
- * @brief Unsets the callback for receiving playback state command from client.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.server
- *
- * @param[in] server The handle to media controller server
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller server handle by calling mc_server_create().
- * @see mc_server_create()
- * @see mc_server_destroy()
- */
-int mc_server_unset_playback_state_command_received_cb(mc_server_h server) TIZEN_DEPRECATED_API;
-
/**
* @brief Sets the callback for receiving playback action command from client.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
*/
int mc_server_unset_repeat_mode_cmd_received_cb(mc_server_h server);
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_set_custom_cmd_received_cb() instead.
- * @brief Sets the callback for receiving custom command from client.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.server
- *
- * @param[in] server The handle to media controller server
- * @param[in] callback The callback to be invoked when media controller server receives custom command from client.
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller server handle by calling mc_server_create().
- * @see mc_server_create()
- * @see mc_server_destroy()
- */
-int mc_server_set_custom_command_received_cb(mc_server_h server, mc_server_custom_command_received_cb callback, void *user_data) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_unset_custom_cmd_received_cb() instead.
- * @brief Unsets the callback for receiving custom command from client.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.server
- *
- * @param[in] server The handle to media controller server
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller server handle by calling mc_server_create().
- * @see mc_server_create()
- * @see mc_server_destroy()
- */
-int mc_server_unset_custom_command_received_cb(mc_server_h server) TIZEN_DEPRECATED_API;
-
-/**
- * @deprecated Deprecated since 4.0. Use mc_server_send_cmd_reply() instead.
- * @brief Sends a reply for the requested command to the client.
- * @since_tizen @if MOBILE 2.4 @elseif WEARABLE 3.0 @endif
- *
- * @privlevel public
- * @privilege %http://tizen.org/privilege/mediacontroller.server
- *
- * @remarks When server receive command, this function can be called by mc_server_custom_command_received_cb().
- *
- * @param[in] server The handle to media controller server
- * @param[in] client_name The app_id of the media controller client
- * @param[in] result_code The result code of custom command
- * @param[in] data The extra data
- * @return @c 0 on success,
- * otherwise a negative error value
- * @retval #MEDIA_CONTROLLER_ERROR_NONE Successful
- * @retval #MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #MEDIA_CONTROLLER_ERROR_PERMISSION_DENIED Permission denied
- * @pre Create a media controller server handle by calling mc_server_create().
- * @pre mc_server_set_custom_command_received_cb()
- * @see mc_server_create()
- * @see mc_server_destroy()
- */
-int mc_server_send_command_reply(mc_server_h server, const char *client_name, int result_code, bundle *data) TIZEN_DEPRECATED_API;
-
/**
* @brief Sets the callback for receiving playlist command from client.
* @since_tizen @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif
MC_PLAYBACK_STATE_PLAYING, /**< Playing */
MC_PLAYBACK_STATE_PAUSED, /**< Paused */
MC_PLAYBACK_STATE_STOPPED, /**< Stopped */
- MC_PLAYBACK_STATE_NEXT_FILE, /**< Next file (Deprecated since 4.0)*/
- MC_PLAYBACK_STATE_PREV_FILE, /**< Previous file (Deprecated since 4.0)*/
- MC_PLAYBACK_STATE_FAST_FORWARD, /**< Fast forward (Deprecated since 4.0)*/
- MC_PLAYBACK_STATE_REWIND, /**< Rewind (Deprecated since 4.0)*/
- MC_PLAYBACK_STATE_MOVING_TO_NEXT, /**< Moving to the next item (Since @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif) */
+ MC_PLAYBACK_STATE_MOVING_TO_NEXT = 8, /**< Moving to the next item (Since @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif) */
MC_PLAYBACK_STATE_MOVING_TO_PREVIOUS, /**< Moving to the previous item (Since @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif) */
MC_PLAYBACK_STATE_FAST_FORWARDING, /**< Fast forwarding (Since @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif) */
MC_PLAYBACK_STATE_REWINDING, /**< Rewinding (Since @if MOBILE 4.0 @elseif WEARABLE 5.0 @endif) */
Name: capi-media-controller
Summary: A media controller library in Tizen Native API
-Version: 0.1.75
+Version: 0.1.76
Release: 1
Group: Multimedia/API
License: Apache-2.0
static void __client_metadata_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __client_shuffle_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __client_repeat_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, 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);
static void __client_playlist_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __client_cmd_reply_received_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __client_custom_event_received_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
{MC_DBUS_SIGNAL_NAME_SHUFFLE_ABILITY, __client_shuffle_ability_cb},
{MC_DBUS_SIGNAL_NAME_REPEAT_ABILITY, __client_repeat_ability_cb},
{MC_DBUS_SIGNAL_NAME_CMD_REPLY, __client_cmd_reply_received_cb},
- {MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND_REPLY, __client_reply_cb},
{MC_DBUS_SIGNAL_NAME_CUSTOM_EVENT, __client_custom_event_received_cb},
};
media_controller_receiver_s *reciever = (media_controller_receiver_s *)user_data;
mc_retm_if(reciever == NULL, "reciever is NULL");
- mc_shuffle_mode_changed_cb callback = (mc_shuffle_mode_changed_cb)reciever->callback;
+ mc_shuffle_mode_updated_cb callback = (mc_shuffle_mode_updated_cb)reciever->callback;
mc_retm_if(callback == NULL, "shuffle_cb is NULL");
mc_retm_if(message == NULL, "message is NULL");
media_controller_receiver_s *reciever = (media_controller_receiver_s *)user_data;
mc_retm_if(reciever == NULL, "reciever is NULL");
- mc_repeat_mode_changed_cb callback = (mc_repeat_mode_changed_cb)reciever->callback;
+ mc_repeat_mode_updated_cb callback = (mc_repeat_mode_updated_cb)reciever->callback;
mc_retm_if(callback == NULL, "repeat_cb is NULL");
mc_retm_if(message == NULL, "message is NULL");
g_strfreev(params);
}
-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 *reciever = (media_controller_receiver_s *)user_data;
- mc_retm_if(reciever == NULL, "reciever is NULL");
-
- mc_command_reply_received_cb callback = (mc_command_reply_received_cb)reciever->callback;
- mc_retm_if(callback == NULL, "reply_cb is NULL");
- mc_retm_if(message == NULL, "message is NULL");
-
- 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(params == NULL, "invalid custom data");
-
- 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, reciever->user_data);
-
- g_strfreev(params);
-}
-
static void __client_playlist_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
{
gchar **params = 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");
mc_retvm_if(((event < MC_CLIENT_EVENT_SERVER_STATE) || (event >= MC_CLIENT_EVENT_MAX)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid event [%d]", event);
-
- 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;
- }
-
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;
- if ((event == MC_CLIENT_EVENT_CMD_REPLY) || (event == MC_CLIENT_EVENT_SERVER_CUSTOM) || (event == MC_CLIENT_EVENT_CLIENT_CUSTOM)) {
+ if ((event == MC_CLIENT_EVENT_CMD_REPLY) || (event == MC_CLIENT_EVENT_SERVER_CUSTOM)) {
interface_name = mc_util_get_interface_name(MC_CLIENT, mc_client->client_name);
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]));
return ret;
}
-int mc_client_set_server_update_cb(mc_client_h client, mc_server_state_updated_cb callback, void *user_data)
-{
- 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)
-{
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_SERVER_STATE);
-}
-
-int mc_client_set_playback_update_cb(mc_client_h client, mc_playback_updated_cb callback, void *user_data)
-{
- 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)
-{
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_PLAYBACK_INFO);
-}
-
-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 deprecated and will be removed from next release. 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)
-{
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_METADATA);
-}
-
-int mc_client_set_shuffle_mode_update_cb(mc_client_h client, mc_shuffle_mode_changed_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_client_set_shuffle_mode_update_cb() is deprecated and will be removed from next release. Use mc_client_set_shuffle_mode_updated_cb() instead.");
-
- return __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_SHUFFLE, callback, user_data);
-}
-
-int mc_client_unset_shuffle_mode_update_cb(mc_client_h client)
-{
- mc_warning("DEPRECATION WARNING: mc_client_unset_shuffle_mode_update_cb() is deprecated and will be removed from next release. Use mc_client_unset_shuffle_mode_updated_cb() instead.");
-
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_SHUFFLE);
-}
-int mc_client_set_repeat_mode_update_cb(mc_client_h client, mc_repeat_mode_changed_cb callback, void *user_data)
-{
- mc_warning("DEPRECATION WARNING: mc_client_set_repeat_mode_update_cb() is deprecated and will be removed from next release. Use mc_client_set_repeat_mode_updated_cb() instead.");
-
- return __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_REPEAT, callback, user_data);
-}
-
-int mc_client_unset_repeat_mode_update_cb(mc_client_h client)
-{
- mc_warning("DEPRECATION WARNING: mc_client_unset_repeat_mode_update_cb() is deprecated and will be removed from next release. Use mc_client_unset_repeat_mode_updated_cb() instead.");
-
- return __mc_client_unset_updated_cb(client, MC_CLIENT_EVENT_REPEAT);
-}
-
int mc_client_set_server_updated_cb(mc_client_h client, mc_server_state_updated_cb callback, void *user_data)
{
return __mc_client_set_updated_cb(client, MC_CLIENT_EVENT_SERVER_STATE, callback, user_data);
return MEDIA_CONTROLLER_ERROR_NONE;
}
-int mc_client_get_metadata(mc_metadata_h metadata, mc_meta_e attribute, char **value)
-{
- mc_warning("DEPRECATION WARNING: mc_client_get_metadata() is deprecated and will be removed from next release. Use mc_metadata_get() instead.");
-
- return mc_metadata_get(metadata, attribute, value);
-}
-
int mc_client_destroy_playback(mc_playback_h playback)
{
media_controller_playback_s *mc_playback = (media_controller_playback_s *)playback;
return MEDIA_CONTROLLER_ERROR_NONE;
}
-int mc_client_destroy_metadata(mc_metadata_h metadata)
-{
- media_controller_metadata_s *mc_metadata = (media_controller_metadata_s *)metadata;
-
- mc_retvm_if(mc_metadata == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
-
- mc_warning("DEPRECATION WARNING: mc_client_destroy_metadata() is deprecated and will be removed from next release. Use mc_metadata_destroy() instead.");
-
- MC_SAFE_FREE(mc_metadata->title);
- MC_SAFE_FREE(mc_metadata->artist);
- MC_SAFE_FREE(mc_metadata->album);
- MC_SAFE_FREE(mc_metadata->author);
- MC_SAFE_FREE(mc_metadata->genre);
- MC_SAFE_FREE(mc_metadata->duration);
- MC_SAFE_FREE(mc_metadata->date);
- MC_SAFE_FREE(mc_metadata->copyright);
- MC_SAFE_FREE(mc_metadata->description);
- MC_SAFE_FREE(mc_metadata->track_num);
- MC_SAFE_FREE(mc_metadata->picture);
-
- MC_SAFE_FREE(mc_metadata);
-
- return MEDIA_CONTROLLER_ERROR_NONE;
-}
-
int mc_client_get_latest_server_info(mc_client_h client, char **server_name, mc_server_state_e *server_state)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
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 deprecated and will be removed from next release. 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);
-
- MC_SAFE_G_FREE(message);
-
- return ret;
-}
-
int mc_client_send_playback_action_cmd(mc_client_h client, const char *server_name, mc_playback_action_e action, char **request_id)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
return ret;
}
-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 deprecated and will be removed from next release. 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);
- MC_SAFE_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);
-
- MC_SAFE_G_FREE(message);
-
- return ret;
-}
-
int mc_client_send_playlist_cmd(mc_client_h client, const char *server_name, const char *playlist_name, const char *index, mc_playback_action_e action, unsigned long long position, char **request_id)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
#define MAX_PLAYLIST_LEN 100
#define MAX_INPUT_STR_LEN 4096
-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_playback_action_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __server_playback_position_cmd_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __server_shuffle_mode_cmd_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __server_repeat_mode_cmd_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);
static void __server_play_playlist_cmd_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __server_custom_cmd_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static void __server_event_reply_received_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data);
static mc_cb_event_s cb_event[MC_SERVER_EVENT_MAX] = {
- {MC_DBUS_SIGNAL_NAME_PLAYBACK_STATE_CMD, __server_playback_state_command_cb},
{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_SHUFFLE_CMD, __server_shuffle_mode_cmd_cb},
{MC_DBUS_SIGNAL_NAME_REPEAT_CMD, __server_repeat_mode_cmd_cb},
{MC_DBUS_SIGNAL_NAME_PLAYBACK_PLAYLIST, __server_play_playlist_cmd_cb},
{MC_DBUS_SIGNAL_NAME_CUSTOM_CMD, __server_custom_cmd_cb},
- {MC_DBUS_SIGNAL_NAME_CUSTOM_COMMAND, __server_custom_command_cb}, //deprecated one
{MC_DBUS_SIGNAL_NAME_EVENT_REPLY, __server_event_reply_received_cb},
{MC_DBUS_SIGNAL_NAME_SEARCH_CMD, __server_search_cmd_cb},
};
return ret;
}
-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(receiver == NULL, "reciever is NULL");
- mc_retm_if(message == NULL, "message is NULL");
-
- 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, %s, %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");
-
- 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 recieved value");
- g_strfreev(params);
- return;
- }
-
- callback(params[0], (mc_playback_states_e)value, receiver->user_data);
-
- g_strfreev(params);
-}
-
static void __server_playback_action_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
{
gchar **params = NULL;
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(receiver == NULL, "reciever is NULL");
- mc_retm_if(message == NULL, "message is NULL");
-
- 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, %s, %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");
-
- if (params[0])
- sender = 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");
- MC_SAFE_FREE(sender);
- g_strfreev(params);
- return;
- }
-
- command = 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);
-
- MC_SAFE_FREE(sender);
- MC_SAFE_FREE(command);
-
- g_strfreev(params);
-}
-
static void __server_play_playlist_cmd_cb(const char *interface_name, const char *signal_name, const char *message, const char *request_id, void *user_data)
{
gchar **params = 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");
- mc_retvm_if(((event < MC_SERVER_EVENT_PLAYBACK_STATE) || (event >= MC_SERVER_EVENT_MAX)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid event [%d]", event);
+ 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 = callback;
mc_server->updated_cb[event].user_data = user_data;
char *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_STATE) || (event >= MC_SERVER_EVENT_MAX)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid event [%d]", event);
+ mc_retvm_if(((event < MC_SERVER_EVENT_PLAYBACK_ACTION) || (event >= MC_SERVER_EVENT_MAX)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid event [%d]", event);
interface_name = mc_util_get_interface_name(MC_SERVER, mc_server->server_name);
return ret;
}
-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 deprecated and will be removed from next release. 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_set_playback_state_command_received_cb() is deprecated and will be removed from next release. Use mc_server_unset_playback_action_cmd_received_cb() instead.");
-
- return __mc_server_unset_updated_cb(server, MC_SERVER_EVENT_PLAYBACK_STATE);
-}
-
int mc_server_set_playback_action_cmd_received_cb(mc_server_h server, mc_server_playback_action_cmd_received_cb callback, void *user_data)
{
return __mc_server_set_updated_cb(server, MC_SERVER_EVENT_PLAYBACK_ACTION, callback, user_data);
return __mc_server_unset_updated_cb(server, MC_SERVER_EVENT_PLAYLIST);
}
-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 deprecated and will be removed from next release. 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 deprecated and will be removed from next release. 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_custom_cmd_received_cb(mc_server_h server, mc_server_custom_cmd_received_cb callback, void *user_data)
{
return __mc_server_set_updated_cb(server, MC_SERVER_EVENT_CLIENT_CUSTOM, callback, user_data);
return __mc_server_unset_updated_cb(server, MC_SERVER_EVENT_SEARCH);
}
-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_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
- mc_retvm_if(!MC_STRING_VALID(client_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "client_name is NULL");
-
- 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);
- MC_SAFE_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);
-
- MC_SAFE_G_FREE(message);
- MC_SAFE_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;
return TRUE;
}
-void _mc_command_reply_received_cb(const char *server_name, int result_code, bundle *data, void *user_data)
-{
- char *value = NULL;
- media_controller_client_s *_client = (media_controller_client_s *)g_mc_client;
-
- if (data)
- bundle_get_str(data, "key1", &value);
-
- mc_debug("[Client:%s] Command Reply (key1: %s)received from server[%s] result code[%d]", _client->client_name, value, server_name, result_code);
-}
-
void _mc_cmd_reply_received_cb(const char *server_name, const char *request_id, int result_code, bundle *data, void *user_data)
{
char *value = NULL;
int ret = MEDIA_CONTROLLER_ERROR_NONE;
bundle *bundle_data = NULL;
- if (g_playback_state == MC_PLAYBACK_STATE_PLAYING)
- g_playback_state = MC_PLAYBACK_STATE_STOPPED;
- else
- g_playback_state = MC_PLAYBACK_STATE_PLAYING;
- ret = mc_client_send_playback_state_command(g_mc_client, g_server_name, g_playback_state);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- g_print("Fail to send playback state command [%d]", ret);
- return FALSE;
- }
-
if (g_playback_action == MC_PLAYBACK_ACTION_PLAY)
g_playback_action = MC_PLAYBACK_ACTION_STOP;
else
reqtime.tv_nsec = 500000000;
nanosleep(&reqtime, NULL);
- bundle_data = bundle_create();
- bundle_add_str(bundle_data, "key1", "val1");
- bundle_add_str(bundle_data, "key2", "val2");
- bundle_add_str(bundle_data, "key3", "val3");
- bundle_add_str(bundle_data, "key4", "val4");
-
- ret = mc_client_send_custom_command(g_mc_client, g_server_name, "Custom Command", bundle_data, _mc_command_reply_received_cb, NULL);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- bundle_free(bundle_data);
- mc_error("Fail to send custom command %d", ret);
- return FALSE;
- }
- bundle_free(bundle_data);
-
bundle_data = bundle_create();
bundle_add_str(bundle_data, "key1", "val1_2");
bundle_add_str(bundle_data, "key2", "val2_2");
| LOCAL FUNCTION PROTOTYPES: |
---------------------------------------------------------------------------*/
-void __playback_state_command_received_cb(const char *client_name, mc_playback_states_e state, void *user_data)
-{
- g_print("[Deprecated] srecieved playback state:[%d] from [%s]\n", state, client_name);
-}
-
void __playback_action_received_cb(const char *client_name, const char *request_id, mc_playback_action_e action, void *user_data)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
}
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
}
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
}
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
}
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
}
-void __custom_command_received_cb(const char *client_name, const char *command, bundle *data, void *user_data)
-{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
-
- char *bundle_data = NULL;
- char *get_value1 = NULL;
- char *get_value2 = NULL;
- char *get_value3 = NULL;
- char *get_value4 = NULL;
-
- if (data) {
- bundle_get_str(data, "key1", &get_value1);
- bundle_get_str(data, "key2", &get_value2);
- bundle_get_str(data, "key3", &get_value3);
- bundle_get_str(data, "key4", &get_value4);
-
- bundle_data = g_strdup_printf("%s, %s, %s, %s", get_value1, get_value2, get_value3, get_value4);
- }
-
- g_print("recieved command:[%s] from [%s]\n", command, client_name);
- g_print("recieved bundle:[%s] from [%s]\n", bundle_data, client_name);
-
- bundle *bundle_reply = bundle_create();
- bundle_add_str(bundle_reply, "key1", "result1");
- bundle_add_str(bundle_reply, "key2", "result2");
- bundle_add_str(bundle_reply, "key3", "result3");
- bundle_add_str(bundle_reply, "key4", "result4");
-
- ret = mc_server_send_command_reply(g_mc_server, client_name, 0, bundle_reply);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
-
- bundle_free(bundle_reply);
- if (bundle_data != NULL)
- g_free(bundle_data);
-}
-
bool __mc_search_item_cb(mc_content_type_e content_type, mc_search_category_e category, const char *search_keyword, bundle *data, void *user_data)
{
char *get_value1 = NULL;
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, ret, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
}
if (request_id != NULL) {
ret = mc_server_send_cmd_reply(g_mc_server, client_name, request_id, 0, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE)
- g_print("Fail to mc_server_send_command_reply\n");
+ g_print("Fail to mc_server_send_cmd_reply\n");
}
bundle_free(bundle_reply);
static gboolean _set_cb()
{
g_print("== set default callback for commands \n");
- int ret;
-
- ret = mc_server_set_playback_state_command_received_cb(g_mc_server, __playback_state_command_received_cb, NULL);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- g_print("Fail to set playback_state_command_reciveed_cb");
- return FALSE;
- }
+ int ret = MEDIA_CONTROLLER_ERROR_NONE;
ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, __playback_action_received_cb, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
return FALSE;
}
- ret = mc_server_set_custom_command_received_cb(g_mc_server, __custom_command_received_cb, NULL);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- g_print("Fail to set mc_server_set_custom_command_received_cb");
- return FALSE;
- }
-
ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, __playlist_play_received_cb, NULL);
if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
g_print("Fail to set mc_server_set_playlist_cmd_received_cb");
g_print("Fail to set playlist info");
return FALSE;
}
- g_print("set media id: %s", cmd);
+
+ g_print("set playlist item id: %s", cmd);
break;
case CURRENT_STATE_SET_CONTENT_TYPE: