X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-core%2Fbt-core-noti-handler.c;h=9231efa28961d36f67303b925b24d65cdff72006;hb=0bffd0dc57188e9d53863475c1112711b8e73367;hp=3c5e61886a7ce49c49c023b5c85bdab0b2a2b82f;hpb=58321b71c1176d8bd56983bcb58fa92dbdc25f04;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-core/bt-core-noti-handler.c b/bt-core/bt-core-noti-handler.c index 3c5e618..9231efa 100644 --- a/bt-core/bt-core-noti-handler.c +++ b/bt-core/bt-core-noti-handler.c @@ -1,11 +1,5 @@ /* - * Bluetooth-frwk - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: Hocheol Seo - * Girishashok Joshi - * Chanyeol Park + * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,9 +40,9 @@ static gboolean __bt_off_cause_conflict_check(void) int ps_mode_value = 0; gboolean ret = FALSE; - retv_if (vconf_get_int(BT_OFF_DUE_TO_FLIGHT_MODE, + retv_if(vconf_get_int(BT_OFF_DUE_TO_FLIGHT_MODE, &flight_mode_value) != 0, FALSE); - retv_if (vconf_get_int(BT_OFF_DUE_TO_POWER_SAVING_MODE, + retv_if(vconf_get_int(BT_OFF_DUE_TO_POWER_SAVING_MODE, &ps_mode_value) != 0, FALSE); if (flight_mode_value == 1 || ps_mode_value > 0) { @@ -90,10 +84,11 @@ static void __bt_core_handle_adapter_with_flight_mode(gboolean flight_mode) if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status_before_mode) == 0) _bt_core_set_bt_status(BT_FLIGHT_MODE, bt_status_before_mode); +#ifdef TIZEN_FEATURE_BUSACT _bt_core_service_request_adapter(BT_DISABLE_ADAPTER); -#ifndef USB_BLUETOOTH - _bt_disable_adapter(); #endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_disable_adapter(); } if (adapter_status_le == BT_LE_ACTIVATED) { @@ -102,10 +97,11 @@ static void __bt_core_handle_adapter_with_flight_mode(gboolean flight_mode) if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status_before_mode) == 0) _bt_core_set_bt_le_status(BT_FLIGHT_MODE, bt_le_status_before_mode); +#ifdef TIZEN_FEATURE_BUSACT _bt_core_service_request_adapter(BT_DISABLE_ADAPTER_LE); -#ifndef USB_BLUETOOTH - _bt_disable_adapter_le(); #endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_disable_adapter_le(); } } else { int flight_mode_value = 0; @@ -137,18 +133,16 @@ static void __bt_core_handle_adapter_with_flight_mode(gboolean flight_mode) _bt_core_get_bt_status(BT_FLIGHT_MODE) != 0) { _bt_core_set_bt_status(BT_FLIGHT_MODE, 0); _bt_core_service_request_adapter(BT_ENABLE_ADAPTER); -#ifndef USB_BLUETOOTH - _bt_enable_adapter(); -#endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_enable_adapter(); } if (adapter_status_le == BT_LE_DEACTIVATED && _bt_core_get_bt_le_status(BT_FLIGHT_MODE) != 0) { _bt_core_set_bt_le_status(BT_FLIGHT_MODE, 0); _bt_core_service_request_adapter(BT_ENABLE_ADAPTER_LE); -#ifndef USB_BLUETOOTH - _bt_enable_adapter_le(); -#endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_enable_adapter_le(); } } } @@ -171,10 +165,11 @@ static void __bt_core_handle_adapter_with_power_saving_mode(int power_saving_mod if (vconf_get_int(VCONFKEY_BT_STATUS, &bt_status_before_mode) == 0) _bt_core_set_bt_status(BT_POWER_SAVING_MODE, bt_status_before_mode); +#ifdef TIZEN_FEATURE_BUSACT _bt_core_service_request_adapter(BT_DISABLE_ADAPTER); -#ifndef USB_BLUETOOTH - _bt_disable_adapter(); #endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_disable_adapter(); } if (adapter_status_le == BT_LE_ACTIVATED) { int bt_le_status_before_mode = 0; @@ -182,11 +177,12 @@ static void __bt_core_handle_adapter_with_power_saving_mode(int power_saving_mod if (vconf_get_int(VCONFKEY_BT_LE_STATUS, &bt_le_status_before_mode) == 0) _bt_core_set_bt_le_status(BT_POWER_SAVING_MODE, bt_le_status_before_mode); +#ifdef TIZEN_FEATURE_BUSACT /* Disable the BT LE */ _bt_core_service_request_adapter(BT_DISABLE_ADAPTER_LE); -#ifndef USB_BLUETOOTH - _bt_disable_adapter_le(); #endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_disable_adapter_le(); } } else { int ps_mode_value = 0; @@ -209,22 +205,20 @@ static void __bt_core_handle_adapter_with_power_saving_mode(int power_saving_mod if (adapter_status == BT_DEACTIVATED && (_bt_core_get_bt_status(BT_POWER_SAVING_MODE) != 0)) { _bt_core_set_bt_status(BT_POWER_SAVING_MODE, 0); _bt_core_service_request_adapter(BT_ENABLE_ADAPTER); -#ifndef USB_BLUETOOTH - _bt_enable_adapter(); -#endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_enable_adapter(); } BT_DBG("BT LE status before Emergency mode() :%d", _bt_core_get_bt_le_status(BT_POWER_SAVING_MODE)); if (adapter_status_le == BT_LE_DEACTIVATED && _bt_core_get_bt_le_status(BT_POWER_SAVING_MODE) != 0) { _bt_core_set_bt_le_status(BT_POWER_SAVING_MODE, 0); /* Enable the BT LE */ _bt_core_service_request_adapter(BT_ENABLE_ADAPTER_LE); -#ifndef USB_BLUETOOTH - _bt_enable_adapter_le(); -#endif + if (!TIZEN_FEATURE_BT_USB_DONGLE) + _bt_enable_adapter_le(); } } } -#ifdef TIZEN_BT_FLIGHTMODE_ENABLED + static void __bt_core_flight_mode_cb(keynode_t *node, void *data) { gboolean flight_mode = FALSE; @@ -242,9 +236,8 @@ static void __bt_core_flight_mode_cb(keynode_t *node, void *data) __bt_core_handle_adapter_with_flight_mode(flight_mode); } -#endif -#ifndef TIZEN_WEARABLE +#ifdef ENABLE_TIZEN_2_4 static void __bt_core_power_saving_mode_cb(keynode_t *node, void *data) { int power_saving_mode = 0; @@ -267,55 +260,71 @@ static void __bt_core_power_saving_mode_cb(keynode_t *node, void *data) void _bt_core_init_vconf_value(void) { gboolean flight_mode = FALSE; +#ifndef ENABLE_TIZEN_2_4 int power_saving_mode = 0; +#endif + int bt_flight_mode = 0; + int bt_ps_mode = 0; _bt_core_handle_flight_mode_noti(); _bt_core_handle_power_saving_mode_noti(); flight_mode = _bt_core_is_flight_mode_enabled(); -#ifndef TIZEN_WEARABLE -#ifdef ENABLE_TIZEN_2_4 - if (vconf_get_int(VCONFKEY_SETAPPL_PSMODE, &power_saving_mode) != 0) - BT_ERR("Fail to get the power_saving_mode status value"); -#endif +#ifndef ENABLE_TIZEN_2_4 + if (!TIZEN_PROFILE_WEARABLE) { + if (vconf_get_int(VCONFKEY_SETAPPL_PSMODE, &power_saving_mode) != 0) + BT_ERR("Fail to get the power_saving_mode status value"); + BT_DBG("flight_mode = %d, power_saving_mode = %d", flight_mode, power_saving_mode); + } #endif BT_DBG("flight_mode = %d, power_saving_mode = %d", flight_mode, power_saving_mode); + if (vconf_get_int(BT_OFF_DUE_TO_FLIGHT_MODE, &bt_flight_mode)) + BT_ERR("Fail get flight mode value"); + _bt_core_set_bt_status(BT_FLIGHT_MODE, bt_flight_mode); + + if (vconf_get_int(BT_OFF_DUE_TO_POWER_SAVING_MODE, &bt_ps_mode)) + BT_ERR("Fail get power saving mode value"); + _bt_core_set_bt_status(BT_POWER_SAVING_MODE, bt_ps_mode); + if (flight_mode == TRUE) __bt_core_handle_adapter_with_flight_mode(flight_mode); +#ifndef ENABLE_TIZEN_2_4 else if (power_saving_mode > 0) __bt_core_handle_adapter_with_power_saving_mode(power_saving_mode); +#endif else BT_ERR(""); } void _bt_core_handle_flight_mode_noti(void) { -#ifdef TIZEN_BT_FLIGHTMODE_ENABLED int ret; - BT_DBG("+"); + if (TIZEN_FEATURE_FLIGHTMODE_ENABLED) { + BT_DBG("+"); - ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, - (vconf_callback_fn)__bt_core_flight_mode_cb, NULL); - if (ret < 0) - BT_ERR("Unable to register key handler"); -#else - BT_DBG("Telephony is disabled"); -#endif + ret = vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, + (vconf_callback_fn)__bt_core_flight_mode_cb, NULL); + if (ret < 0) + BT_ERR("Unable to register key handler"); + } else { + BT_DBG("Telephony is disabled"); + } } void _bt_core_handle_power_saving_mode_noti(void) { -#ifndef TIZEN_WEARABLE - int ret = 0; + if (TIZEN_PROFILE_WEARABLE) + return; BT_DBG("+"); #ifdef ENABLE_TIZEN_2_4 + int ret = 0; + ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_PSMODE, (vconf_callback_fn)__bt_core_power_saving_mode_cb, NULL); -#endif if (ret < 0) BT_ERR("Unable to register key handler"); #endif @@ -323,16 +332,16 @@ void _bt_core_handle_power_saving_mode_noti(void) void _bt_core_unregister_vconf_handler(void) { -#ifdef TIZEN_BT_FLIGHTMODE_ENABLED - vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, - (vconf_callback_fn)__bt_core_flight_mode_cb); -#endif + if (TIZEN_FEATURE_FLIGHTMODE_ENABLED) { + vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, + (vconf_callback_fn)__bt_core_flight_mode_cb); + } -#ifndef TIZEN_WEARABLE #ifdef ENABLE_TIZEN_2_4 - vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE, - (vconf_callback_fn)__bt_core_power_saving_mode_cb); -#endif + if (!TIZEN_PROFILE_WEARABLE) { + vconf_ignore_key_changed(VCONFKEY_SETAPPL_PSMODE, + (vconf_callback_fn)__bt_core_power_saving_mode_cb); + } #endif return;