X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-avrcp.c;h=9c6ba9a30a2b75bb488846266dcca7b742db254e;hb=9f74cef30955a69207528797d25173dcd73bb49c;hp=4774ff4bdd5f8da31ae94b6bc39b45d0a0700a19;hpb=39a6cbc0e0b202a9ec628daacc1cd4128912964d;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-avrcp.c b/bt-api/bt-avrcp.c index 4774ff4..9c6ba9a 100644 --- a/bt-api/bt-avrcp.c +++ b/bt-api/bt-avrcp.c @@ -24,7 +24,7 @@ #include "bt-common.h" #include "bt-request-sender.h" #include "bt-event-handler.h" -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM #include "bt-dpm.h" #endif @@ -71,7 +71,7 @@ BT_EXPORT_API int bluetooth_media_player_change_property( BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -100,7 +100,7 @@ BT_EXPORT_API int bluetooth_media_player_set_properties( BT_CHECK_PARAMETER(setting, return); BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -129,7 +129,7 @@ BT_EXPORT_API int bluetooth_media_player_change_track( BT_CHECK_PARAMETER(metadata, return); BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -227,7 +227,7 @@ BT_EXPORT_API int bluetooth_media_control_connect( return BLUETOOTH_ERROR_PERMISSION_DEINED; } -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_ADDRESS, remote_address) == BT_DPM_RESTRICTED) { BT_ERR("Blacklist device"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -307,7 +307,7 @@ BT_EXPORT_API int bluetooth_media_target_connect( return BLUETOOTH_ERROR_PERMISSION_DEINED; } -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -357,7 +357,7 @@ BT_EXPORT_API int bluetooth_media_target_disconnect( sizeof(bluetooth_device_address_t)); result = _bt_send_request_async(BT_BLUEZ_SERVICE, - BT_AVRCP_TARGET_DISCONNECT,in_param1, + BT_AVRCP_TARGET_DISCONNECT, in_param1, in_param2, in_param3, in_param4, user_info->cb, user_info->user_data); @@ -373,7 +373,7 @@ BT_EXPORT_API int bluetooth_media_control_command( BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -392,6 +392,35 @@ BT_EXPORT_API int bluetooth_media_control_command( return result; } +BT_EXPORT_API int bluetooth_media_control_command_to_dest( + media_player_control_cmd type, + bluetooth_device_address_t *remote_address) +{ + int result; + + BT_CHECK_ENABLED(return); + +#ifdef TIZEN_FEATURE_BT_DPM + if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { + BT_ERR("Not allow to use AVRCP profile"); + return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; + } +#endif + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + g_array_append_vals(in_param1, &type, sizeof(int)); + g_array_append_vals(in_param2, remote_address, + sizeof(bluetooth_device_address_t)); + + result = _bt_send_request(BT_BLUEZ_SERVICE, BT_AVRCP_HANDLE_CONTROL_TO_DEST, + in_param1, in_param2, in_param3, in_param4, &out_param); + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + return result; +} + BT_EXPORT_API int bluetooth_media_control_set_property( media_player_property_type type, unsigned int value) @@ -400,7 +429,7 @@ BT_EXPORT_API int bluetooth_media_control_set_property( BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -432,7 +461,7 @@ BT_EXPORT_API int bluetooth_media_control_get_property( BT_CHECK_PARAMETER(value, return); BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -456,16 +485,47 @@ BT_EXPORT_API int bluetooth_media_control_get_property( return result; } +BT_EXPORT_API int bluetooth_media_transport_set_property( + media_transport_property_type type, + unsigned int value) +{ + int result; + + BT_CHECK_ENABLED(return); + +#ifdef TIZEN_FEATURE_BT_DPM + if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { + BT_ERR("Not allow to use AVRCP profile"); + return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; + } +#endif + + BT_INIT_PARAMS(); + BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + g_array_append_vals(in_param1, &type, sizeof(int)); + g_array_append_vals(in_param2, &value, sizeof(unsigned int)); + + result = _bt_send_request(BT_BLUEZ_SERVICE, + BT_AVRCP_TRANSPORT_SET_PROPERTY, + in_param1, in_param2, in_param3, + in_param4, &out_param); + + BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); + + return result; +} + BT_EXPORT_API int bluetooth_media_control_get_track_info( media_metadata_attributes_t *metadata) { int result; - media_metadata_t meta_data; + media_metadata_t *meta_data; BT_CHECK_PARAMETER(metadata, return); BT_CHECK_ENABLED(return); -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM if (_bt_check_dpm(BT_DPM_AVRCP, NULL) == BT_DPM_RESTRICTED) { BT_ERR("Not allow to use AVRCP profile"); return BLUETOOTH_ERROR_DEVICE_POLICY_RESTRICTION; @@ -478,17 +538,15 @@ BT_EXPORT_API int bluetooth_media_control_get_track_info( result = _bt_send_request(BT_BLUEZ_SERVICE, BT_AVRCP_GET_TRACK_INFO, in_param1, in_param2, in_param3, in_param4, &out_param); - memset(&meta_data, 0x00, sizeof(media_metadata_t)); - - meta_data = g_array_index(out_param, media_metadata_t, 0); + meta_data = &g_array_index(out_param, media_metadata_t, 0); - metadata->title = g_strdup(meta_data.title); - metadata->artist = g_strdup(meta_data.artist); - metadata->album = g_strdup(meta_data.album); - metadata->genre = g_strdup(meta_data.genre); - metadata->total_tracks = meta_data.total_tracks; - metadata->number = meta_data.number; - metadata->duration = (int64_t) meta_data.duration; + metadata->title = g_strdup(meta_data->title); + metadata->artist = g_strdup(meta_data->artist); + metadata->album = g_strdup(meta_data->album); + metadata->genre = g_strdup(meta_data->genre); + metadata->total_tracks = meta_data->total_tracks; + metadata->number = meta_data->number; + metadata->duration = (int64_t) meta_data->duration; BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);