*
*/
-#ifdef TIZEN_DPM_ENABLE
#include <vconf.h>
#include "bluetooth-api.h"
#include "bt-event-handler.h"
#include "bt-dpm.h"
-#ifdef TIZEN_DPM_VCONF_ENABLE
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
-
-#if 0
-static bt_dpm_status_e _bt_check_dpm_allow_restriction(void)
-{
- bt_dpm_allow_t mode;
-
- bluetooth_dpm_get_allow_mode(&mode);
-
- return (mode == BLUETOOTH_DPM_BT_RESTRICTED) ? BT_DPM_RESTRICTED : BT_DPM_ALLOWED;
-}
-#endif
static bt_dpm_status_e _bt_check_dpm_handsfree_only(void)
{
return (dpm_status == BLUETOOTH_DPM_RESTRICTED ? BT_DPM_RESTRICTED : BT_DPM_ALLOWED);
}
-#if 0
-static bt_dpm_status_e _bt_check_dpm_visible_restriction(void)
-{
- bt_dpm_status_t dpm_status = BLUETOOTH_DPM_ALLOWED;
-
- bluetooth_dpm_get_desktop_connectivity_state(&dpm_status);
-
- return (dpm_status == BLUETOOTH_DPM_RESTRICTED ? BT_DPM_RESTRICTED : BT_DPM_ALLOWED);
-}
-
-static bt_dpm_status_e _bt_check_dpm_limited_discoverable_mode(void)
-{
- bt_dpm_status_t dpm_status = BLUETOOTH_DPM_ALLOWED;
-
- bluetooth_dpm_get_limited_discoverable_state(&dpm_status);
-
- return (dpm_status == BLUETOOTH_DPM_RESTRICTED ? BT_DPM_RESTRICTED : BT_DPM_ALLOWED);
-}
-#endif
-
static bt_dpm_status_e _bt_check_dpm_blacklist_device(bluetooth_device_address_t *address)
{
int ret = BLUETOOTH_DPM_RESULT_SUCCESS;
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)
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)
return dpm_status;
{
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();
break;
-
case BT_DPM_PAIRING:
status = _bt_check_dpm_pairing_restriction();
break;
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;
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;
int bt_status;
-#endif
-#ifdef TIZEN_DPM_VCONF_ENABLE
+ 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_ERROR_INTERNAL;
+ } else
+ 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) {
- 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 {
- BT_ERR("Set VCONFKEY_BT_DPM_STATUS success\n");
- result = BLUETOOTH_DPM_RESULT_SUCCESS;
- }
-
BT_INIT_PARAMS();
BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
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();
- BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
-
- g_array_append_vals(in_param1, &value, sizeof(int));
-
- result = _bt_send_request(BT_BLUEZ_SERVICE, BT_DPM_SET_ALLOW_BT_MODE,
- in_param1, in_param2, in_param3, in_param4, &out_param);
-
- BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
-#endif
return result;
{
int result;
-#ifdef TIZEN_DPM_VCONF_ENABLE
- *value = bluetooth_dpm_is_mode_allowed();
- return BLUETOOTH_DPM_RESULT_SUCCESS;
-#else
- BT_CHECK_ENABLED_ANY(return);
-
- BT_INIT_PARAMS();
- BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
-
- 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 (out_param->len > 0) {
- *value = g_array_index(out_param,
- int, 0);
- } else {
- BT_ERR("out_param length is 0!!");
- }
+ if (vconf_get_int(VCONFKEY_BT_DPM_STATUS, value) != 0) {
+ BT_ERR("fail to get vconf key!");
+ return BLUETOOTH_ERROR_INTERNAL;
}
-
- BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
-#endif
+ result = BLUETOOTH_ERROR_NONE;
return result;
}
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);
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);
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;
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;
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;
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;
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);
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);
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);
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);
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);
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);
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);
return result;
}
-#endif /* #ifdef TIZEN_DPM_ENABLE */