X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-dpm.c;h=b7767b22b00ab4266fcce1eb2675d2ef77db50c8;hb=a0e93a330aa0362824aa37ab8aebd20a3127a434;hp=680d98d731bbc4e127cc1f30bea8ac5473adc7b6;hpb=36fcd5c231149275ea29c57bb7b21e741b06ca8e;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-dpm.c b/bt-api/bt-dpm.c index 680d98d..b7767b2 100644 --- a/bt-api/bt-dpm.c +++ b/bt-api/bt-dpm.c @@ -15,7 +15,7 @@ * */ -#ifdef TIZEN_DPM_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM #include #include "bluetooth-api.h" @@ -26,19 +26,19 @@ #include "bt-event-handler.h" #include "bt-dpm.h" -#ifdef TIZEN_DPM_VCONF_ENABLE +#ifdef TIZEN_FEATURE_BT_DPM BT_EXPORT_API int bluetooth_dpm_is_mode_allowed(void) { int value; /* check VCONFKEY_BT_STATUS */ if (vconf_get_int(VCONFKEY_BT_DPM_STATUS, &value) != 0) { BT_ERR("fail to get vconf key!"); - return BLUETOOTH_DPM_RESULT_FAIL; + return BLUETOOTH_ERROR_INTERNAL; } if (value != VCONFKEY_BT_DPM_STATUS_RESTRICTED) - return BLUETOOTH_DPM_RESULT_SUCCESS; + return BLUETOOTH_ERROR_NONE; else - return BLUETOOTH_DPM_RESULT_ACCESS_DENIED; + return BLUETOOTH_ERROR_PERMISSION_DEINED; } #endif @@ -154,6 +154,7 @@ static bt_dpm_status_e _bt_check_dpm_blacklist_uuid(char *uuid) bluetooth_dpm_get_data_transfer_state(&dpm_status); return (dpm_status == BLUETOOTH_DPM_RESTRICTED ? BT_DPM_RESTRICTED : BT_DPM_ALLOWED); } + /* TODO: MAP? see above */ /* ++ check MDM profile restriction ++ */ if (g_strcmp0(BT_A2DP_UUID, uuid) == 0) @@ -182,10 +183,10 @@ static bt_dpm_status_e _bt_check_dpm_transfer_restriction(void) bt_dpm_status_t dpm_value = BLUETOOTH_DPM_ALLOWED; dpm_status = _bt_check_dpm_blacklist_uuid(BT_OPP_UUID); + /* TODO: MAP? see above */ - if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) { + if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) return dpm_status; - } bluetooth_dpm_get_data_transfer_state(&dpm_value); @@ -198,14 +199,13 @@ static bt_dpm_status_e _bt_check_dpm_hsp_restriction(void) dpm_status = _bt_check_dpm_blacklist_uuid(BT_HFP_AUDIO_GATEWAY_UUID); - if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) { + if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) return dpm_status; - } dpm_status = _bt_check_dpm_blacklist_uuid(BT_HSP_AUDIO_GATEWAY_UUID); - if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) { + if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) return dpm_status; - } + return dpm_status; } @@ -215,9 +215,8 @@ static bt_dpm_status_e _bt_check_dpm_a2dp_restriction(void) dpm_status = _bt_check_dpm_blacklist_uuid(BT_A2DP_UUID); - if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) { + if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) return dpm_status; - } return dpm_status; } @@ -228,9 +227,8 @@ static bt_dpm_status_e _bt_check_dpm_avrcp_restriction(void) dpm_status = _bt_check_dpm_blacklist_uuid(BT_AVRCP_TARGET_UUID); - if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) { + if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) return dpm_status; - } return dpm_status; } @@ -241,9 +239,8 @@ static bt_dpm_status_e _bt_check_dpm_spp_restriction(void) dpm_status = _bt_check_dpm_blacklist_uuid(BT_SPP_UUID); - if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) { + if (dpm_status == BT_DPM_NO_SERVICE || dpm_status == BT_DPM_RESTRICTED) return dpm_status; - } return dpm_status; } @@ -252,13 +249,10 @@ int _bt_check_dpm(int service, void *param) { bt_dpm_status_e status = BT_DPM_ALLOWED; - BT_CHECK_ENABLED_ANY(return); - switch (service) { case BT_DPM_HF_ONLY: - status= _bt_check_dpm_handsfree_only(); + status = _bt_check_dpm_handsfree_only(); break; - case BT_DPM_PAIRING: status = _bt_check_dpm_pairing_restriction(); break; @@ -278,6 +272,7 @@ int _bt_check_dpm(int service, void *param) case BT_DPM_OPP: status = _bt_check_dpm_transfer_restriction(); break; + /* TODO: MAP? see above */ case BT_DPM_HSP: status = _bt_check_dpm_hsp_restriction(); break; @@ -290,39 +285,36 @@ int _bt_check_dpm(int service, void *param) case BT_DPM_SPP: status = _bt_check_dpm_spp_restriction(); break; - default: BT_ERR("Unknown service"); return status; } - if (status == BT_DPM_RESTRICTED) - BT_INFO("Service [%d], DPM permission denied", service); - else if (status == BT_DPM_NO_SERVICE) - BT_DBG("DPM no service [%d]",status); - return status; } BT_EXPORT_API int bluetooth_dpm_set_allow_mode(bt_dpm_allow_t value) { - int result = BLUETOOTH_DPM_RESULT_SUCCESS; -#ifdef TIZEN_DPM_VCONF_ENABLE + int result = BLUETOOTH_ERROR_NONE; +#ifdef TIZEN_FEATURE_BT_DPM int bt_status; #endif -#ifdef TIZEN_DPM_VCONF_ENABLE - if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0) { - BT_ERR("Error in reading VCONFKEY_BT_STATUS"); - } - - if (bt_status == VCONFKEY_BT_STATUS_ON) { +#ifdef TIZEN_FEATURE_BT_DPM + if (value >= BLUETOOTH_DPM_BT_ALLOWED && + value <= BLUETOOTH_DPM_BT_RESTRICTED) { if (vconf_set_int(VCONFKEY_BT_DPM_STATUS, value) != 0) { BT_ERR("Set VCONFKEY_BT_DPM_STATUS failed\n"); - result = BLUETOOTH_DPM_RESULT_FAIL; + result = BLUETOOTH_ERROR_INTERNAL; } else - result = BLUETOOTH_DPM_RESULT_SUCCESS; + result = BLUETOOTH_ERROR_NONE; + } else + result = BLUETOOTH_ERROR_INVALID_PARAM; + + if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status) < 0) + BT_ERR("Error in reading VCONFKEY_BT_STATUS"); + if (bt_status == VCONFKEY_BT_STATUS_ON) { BT_INIT_PARAMS(); BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); @@ -333,20 +325,10 @@ BT_EXPORT_API int bluetooth_dpm_set_allow_mode(bt_dpm_allow_t value) BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS && + if (result == BLUETOOTH_ERROR_NONE && value == BLUETOOTH_DPM_BT_RESTRICTED) { result = bluetooth_disable_adapter(); } - } else { - if (value >= BLUETOOTH_DPM_BT_ALLOWED && - value <= BLUETOOTH_DPM_BT_RESTRICTED) { - if (vconf_set_int(VCONFKEY_BT_DPM_STATUS, value) != 0) { - BT_ERR("Set VCONFKEY_BT_DPM_STATUS failed\n"); - result = BLUETOOTH_DPM_RESULT_FAIL; - } else - result = BLUETOOTH_DPM_RESULT_SUCCESS; - } else - result = BLUETOOTH_DPM_RESULT_INVALID_PARAM; } #else BT_INIT_PARAMS(); @@ -368,9 +350,12 @@ BT_EXPORT_API int bluetooth_dpm_get_allow_mode(bt_dpm_allow_t *value) { int result; -#ifdef TIZEN_DPM_VCONF_ENABLE - *value = bluetooth_dpm_is_mode_allowed(); - return BLUETOOTH_DPM_RESULT_SUCCESS; +#ifdef TIZEN_FEATURE_BT_DPM + if (vconf_get_int(VCONFKEY_BT_DPM_STATUS, value) != 0) { + BT_ERR("fail to get vconf key!"); + return BLUETOOTH_ERROR_INTERNAL; + } + result = BLUETOOTH_ERROR_NONE; #else BT_CHECK_ENABLED_ANY(return); @@ -380,7 +365,7 @@ BT_EXPORT_API int bluetooth_dpm_get_allow_mode(bt_dpm_allow_t *value) result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_ALLOW_BT_MODE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -428,7 +413,7 @@ BT_EXPORT_API int bluetooth_dpm_is_device_restriction_active(bt_dpm_status_t *va result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_DEVICE_RESTRITION, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -475,7 +460,7 @@ BT_EXPORT_API int bluetooth_dpm_is_uuid_restriction_active(bt_dpm_status_t *valu result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_UUID_RESTRITION, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -663,10 +648,10 @@ static void _bluetooth_extract_dpm_device_info(int count, for (i = 0; i < count; i++) { memset(dst_info->addresses[i].addr, 0, - BT_ADDRESS_STRING_SIZE); + BLUETOOTH_ADDRESS_LENGTH); g_strlcpy((gchar *)dst_info->addresses[i].addr, (gchar *)src_info->addresses[i].addr, - BT_ADDRESS_STRING_SIZE); + BLUETOOTH_ADDRESS_LENGTH); // BT_DBG("address[%d] : %s", i, dst_info->addresses[i].addr); } @@ -702,13 +687,13 @@ BT_EXPORT_API int bluetooth_dpm_get_devices_from_blacklist(bt_dpm_device_list_t result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_DEVICES_BLACKLIST, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { devices = &g_array_index(out_param, bt_dpm_device_list_t, 0); BT_DBG("device_list->count : %d", devices->count); if (devices->count == 0) { BT_ERR("device_list->count is zero !"); - return BLUETOOTH_DPM_RESULT_FAIL; + result = BLUETOOTH_ERROR_NOT_FOUND; } device_list->count = devices->count; @@ -737,13 +722,13 @@ BT_EXPORT_API int bluetooth_dpm_get_devices_from_whitelist(bt_dpm_device_list_t result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_DEVICES_WHITELIST, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { devices = &g_array_index(out_param, bt_dpm_device_list_t, 0); BT_DBG("device_list->count : %d", devices->count); if (devices->count == 0) { BT_ERR("device_list->count is zero !"); - return BLUETOOTH_DPM_RESULT_FAIL; + result = BLUETOOTH_ERROR_NOT_FOUND; } device_list->count = devices->count; @@ -772,13 +757,13 @@ BT_EXPORT_API int bluetooth_dpm_get_uuids_from_blacklist(bt_dpm_uuids_list_t *uu result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_UUIDS_BLACKLIST, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { uuids = &g_array_index(out_param, bt_dpm_uuids_list_t, 0); BT_DBG("uuids->count : %d", uuids->count); if (uuids->count == 0) { BT_ERR("uuids->count is zero !"); - return BLUETOOTH_DPM_RESULT_FAIL; + result = BLUETOOTH_ERROR_NOT_FOUND; } uuid_list->count = uuids->count; @@ -806,13 +791,13 @@ BT_EXPORT_API int bluetooth_dpm_get_uuids_from_whitelist(bt_dpm_uuids_list_t *uu result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_UUIDS_WHITELIST, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { uuids = &g_array_index(out_param, bt_dpm_uuids_list_t, 0); BT_DBG("uuids->count : %d", uuids->count); if (uuids->count == 0) { BT_ERR("uuids->count is zero !"); - return BLUETOOTH_DPM_RESULT_FAIL; + result = BLUETOOTH_ERROR_NOT_FOUND; } uuid_list->count = uuids->count; @@ -944,7 +929,7 @@ BT_EXPORT_API int bluetooth_dpm_get_allow_outgoing_call(bt_dpm_status_t *value) result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_ALLOW_OUTGOING_CALL, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -989,7 +974,7 @@ BT_EXPORT_API int bluetooth_dpm_get_pairing_state(bt_dpm_status_t *value) result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_ALLOW_BT_MODE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -1037,7 +1022,7 @@ BT_EXPORT_API int bluetooth_dpm_get_profile_state(bt_dpm_profile_t profile, bt_d result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_PROFILE_STATE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -1082,7 +1067,7 @@ BT_EXPORT_API int bluetooth_dpm_get_desktop_connectivity_state(bt_dpm_status_t * result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_DESKROP_CONNECTIVITY_STATE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -1127,7 +1112,7 @@ BT_EXPORT_API int bluetooth_dpm_get_discoverable_state(bt_dpm_status_t *value) result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_DISCOVERABLE_STATE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -1174,7 +1159,7 @@ BT_EXPORT_API int bluetooth_dpm_get_limited_discoverable_state(bt_dpm_status_t * result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_LIMITED_DISCOVERABLE_STATE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -1219,7 +1204,7 @@ BT_EXPORT_API int bluetooth_dpm_get_data_transfer_state(bt_dpm_status_t *value) result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_GET_DATA_TRANSFER_STATE, in_param1, in_param2, in_param3, in_param4, &out_param); - if (result == BLUETOOTH_DPM_RESULT_SUCCESS) { + if (result == BLUETOOTH_ERROR_NONE) { if (out_param->len > 0) { *value = g_array_index(out_param, int, 0); @@ -1232,4 +1217,4 @@ BT_EXPORT_API int bluetooth_dpm_get_data_transfer_state(bt_dpm_status_t *value) return result; } -#endif /* #ifdef TIZEN_DPM_ENABLE */ +#endif /* #ifdef TIZEN_FEATURE_BT_DPM */