*
*/
-
-
#include "bm_listeners.h"
#include "bm_dbg.h"
#include <bm_common.h>
static int use_ptr = 0;
static TapiHandle *handle = NULL;
-
-
-
static int bm_battery_level_listener()
{
ENTER;
return battery_level;
}
-
-
-
static int bm_battery_status_listener()
{
ENTER;
return bm_status;
}
-
-
static int bm_battery_health_listener()
{
ENTER;
return -1;
}
-
if (health == DEVICE_BATTERY_HEALTH_GOOD)
bm_health = BD_BHLT_GOOD;
else if (health == DEVICE_BATTERY_HEALTH_COLD)
else
return BD_BHLT_NONE;
-
EXIT;
return bm_health;
}
-
-
static int bm_battery_plugtype_listener()
{
ENTER;
return -1;
}
-
BD_BPLT_IDX bm_plugtype = BD_BPLT_NONE;
if (source == DEVICE_BATTERY_POWER_SOURCE_AC)
bm_plugtype = BD_BPLT_AC;
int val, ret;
/* get the battery voltage*/
-
- property = DEVICE_BATTERY_PROPERTY_VOLTAGE_NOW;
- ret = device_battery_get_property(property, &val);
- if (ret != BATTERY_MONITOR_ERROR_NONE) {
- _ERR("Failed to get battery voltage (%d)", ret);
- return ret;
- }
- ts->battery_voltage = val;
+ property = DEVICE_BATTERY_PROPERTY_VOLTAGE_NOW;
+ ret = device_battery_get_property(property, &val);
+ if (ret != BATTERY_MONITOR_ERROR_NONE) {
+ _ERR("Failed to get battery voltage (%d)", ret);
+ return ret;
+ }
+ ts->battery_voltage = val;
/* get the battery temperature*/
-
- property = DEVICE_BATTERY_PROPERTY_TEMPERATURE;
- ret = device_battery_get_property(property, &val);
- if (ret != BATTERY_MONITOR_ERROR_NONE) {
- _ERR("Failed to get battery temperature (%d)", ret);
- return ret;
- }
- ts->battery_temperature = val;
+ property = DEVICE_BATTERY_PROPERTY_TEMPERATURE;
+ ret = device_battery_get_property(property, &val);
+ if (ret != BATTERY_MONITOR_ERROR_NONE) {
+ _ERR("Failed to get battery temperature (%d)", ret);
+ return ret;
+ }
+ ts->battery_temperature = val;
/* get the battery charge*/
/* property = DEVICE_BATTERY_PROPERTY_CAPACITY;
}
_INFO("success to get battery capacity (%d)", ret);
*/
- ts->battery_charge = 0;
+
+ ts->battery_charge = 0;
EXIT;
return BATTERY_MONITOR_ERROR_NONE;
}
-
-
-
static void fill_bt_adapter_state_changed_data(int adapter_state)
{
ENTER;
_INFO("state: %s", (adapter_state == BT_ADAPTER_ENABLED) ? "ENABLED" : "DISABLED");
- int bt_state ;
+ int bt_state;
if (adapter_state == BT_ADAPTER_ENABLED)
bt_state = 1;
else
_INFO("__bm_bt_adapter_state_changed_cb bt_state = %d ", bt_state);
-
if (data_obj) {
if (adapter_state == BT_ADAPTER_ENABLED) {
data_obj->event_code = ET_NONE;
_ERR(" data_obj->event_tag object creation fails ");
return;
}
-
data_obj->state_2 |= ST2_BLUETOOTH_ON_FLAG;
} else {
data_obj->event_code = ET_NONE;
data_obj->event_tag->sp_idx = bt_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
-
data_obj->state_2 &= ~(ST2_BLUETOOTH_ON_FLAG);
}
}
EXIT;
return;
-
-
-
}
-
-
-
-
static void fill_bt_device_discovery_state_changed_data(int discovery_state)
{
-
ENTER;
- _INFO("__bt_adapter_state_changed_cb");
+
_INFO(" discovery_state = %d", discovery_state);
if (data_obj) {
data_obj->event_tag->sp_idx = bt_scan_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_2 |= ST2_BLUETOOTH_SCAN_FLAG;
break;
case BT_ADAPTER_DEVICE_DISCOVERY_FINISHED:
-
data_obj->event_code = ET_NONE;
data_obj->event_code = ET_CONNECTIVITY_CHANGED;
data_obj->event_code |= ET_FLAG_FINISH;
data_obj->event_tag->sp_idx = bt_scan_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_2 &= ~(ST2_BLUETOOTH_SCAN_FLAG);
bt_flag = 0;
}
EXIT;
-
+ return;
}
-
-
-
-
static void fill_bt_device_connection_state_changed_data(int connected)
{
ENTER;
if (!connected)
_INFO("bt is disconnected");
-
if (data_obj) {
if (connected) {
data_obj->event_code = ET_NONE;
}
EXIT;
+ return;
}
-
static void fill_wifi_device_state_data(int state)
{
ENTER;
data_obj->event_tag->sp_idx = wifi_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_2 |= ST2_WIFI_ON_FLAG;
} else {
data_obj->event_tag->sp_idx = wifi_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_2 &= ~(ST2_WIFI_ON_FLAG);
}
}
-
-
EXIT;
+ return;
}
-
-
-
static void fill_wifi_scan_changed_data(int state)
{
ENTER;
_INFO("Wifi Scan changed, scan state : %d\n", state);
-
if (data_obj) {
if (state == WIFI_MANAGER_SCAN_STATE_SCANNING) {
data_obj->event_code = ET_NONE;
data_obj->event_tag = NULL;
data_obj->event_tag = (history_tag_s *)calloc(1, sizeof(history_tag_s));
if (data_obj->event_tag) {
- if (!wifi_flag) {
+ if (!wifi_flag) {
listener_hsp++;
wifi_scan_hsp = listener_hsp;
wifi_flag = 1;
data_obj->event_tag->sp_idx = wifi_scan_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_1 |= ST1_WIFI_SCAN_FLAG;
} else {
data_obj->event_tag->sp_idx = wifi_scan_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_1 &= ~(ST1_WIFI_SCAN_FLAG);
wifi_flag = 0;
}
EXIT;
+ return;
}
-
static void fill_wifi_connection_state_changed_data(int state)
{
ENTER;
data_obj->event_tag->sp_idx = wifi_connected_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
break;
case WIFI_MANAGER_CONNECTION_STATE_DISCONNECTED:
data_obj->event_tag->sp_idx = wifi_connected_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
break;
default:
}
EXIT;
+ return;
}
-
-
-
-
static void fill_device_display_change(int value)
{
ENTER;
data_obj->event_tag->sp_idx = display_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_1 |= ST1_SCREEN_ON_FLAG;
data_obj->state_1 &= ~(ST1_SCREEN_DOZE_FLAG);
data_obj->event_tag->sp_idx = display_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_1 |= ST1_SCREEN_DOZE_FLAG;
break;
data_obj->event_tag->sp_idx = display_hsp;
} else {
_ERR(" data_obj->event_tag object creation fails ");
- return ;
+ return;
}
data_obj->state_1 &= ~(ST1_SCREEN_ON_FLAG);
data_obj->state_1 &= ~(ST1_SCREEN_DOZE_FLAG);
break;
}
-
EXIT;
+ return;
}
-
-
static void fill_display_brightness_change(int brightness_level)
{
ENTER;
}
EXIT;
+ return;
}
-
static void fill_battery_capacity_change(int charging_level)
{
ENTER;
}
EXIT;
+ return;
}
-
-
static void fill_charging_status_change(int charging)
{
ENTER;
_INFO("event Tag creation succeeded \n");
data_obj->event_tag->sp_idx = charging_hsp;
} else {
- _ERR(" data_obj->event_tag object creation fails ");
+ _ERR(" data_obj->event_tag object creation fails ");
return;
}
-
data_obj->state_2 |= ST2_CHARGING_FLAG;
} else {
data_obj->event_code = ET_NONE;
_INFO("event Tag creation succeeded \n");
data_obj->event_tag->sp_idx = charging_hsp;
} else {
- _ERR(" data_obj->event_tag object creation fails ");
- return ;
+ _ERR(" data_obj->event_tag object creation fails ");
+ return;
}
-
data_obj->state_2 &= ~(ST2_CHARGING_FLAG);
}
}
EXIT;
+ return;
}
-
-
-
static void fill_signal_strength_change(int ss)
{
ENTER;
}
EXIT;
+ return;
}
-
-
-
static void fill_location_change(int gps)
{
ENTER;
_ERR(" data_obj->event_tag object creation fails ");
return;
}
-
data_obj->state_1 |= ST1_GPS_ON_FLAG;
} else {
data_obj->event_code = ET_NONE;
_ERR(" data_obj->event_tag object creation fails ");
return ;
}
-
data_obj->state_1 &= ~(ST1_GPS_ON_FLAG);
}
}
-
EXIT;
+ return;
}
-
-
static void bm_create_event_data(int type, int val)
{
ENTER;
if (!data_obj)
return;
-
switch (type) {
case LISTEN_BT_STATE:
fill_bt_adapter_state_changed_data(val);
return;
}
-
data_obj->cmd_s = CM_UPD;
data_obj->time_current = 0;
data_obj->wakelock_tag = NULL;
data_obj->wakereason_tag = NULL;
-
if (bd_store_history_item(data_obj) != BATTERY_MONITOR_ERROR_NONE) {
_ERR("Failed to store history items ");
return;
}
EXIT;
-
+ return;
}
-
-
-
void* event_producer(void *data)
{
ENTER;
BM_FREE(event);
EXIT;
pthread_exit(NULL);
-
-
}
-
-
-
-void __bm_bt_adapter_state_changed_cb(int result,
- bt_adapter_state_e adapter_state, void *user_data)
+void __bm_bt_adapter_state_changed_cb(int result, bt_adapter_state_e adapter_state, void *user_data)
{
ENTER;
_INFO("__bt_adapter_state_changed_cb");
return;
}
-
EXIT;
+ return;
}
-
-
-
-void __bm_bt_device_connection_state_changed_cb(bool connected,
- bt_device_connection_info_s *conn_info, void *user_data)
+void __bm_bt_device_connection_state_changed_cb(bool connected, bt_device_connection_info_s *conn_info, void *user_data)
{
ENTER;
if (!connected)
_INFO("disconnection reason [%d]", conn_info->disconn_reason);
-
event_pool *bt_event = (event_pool *)calloc(1, sizeof(event_pool));
if (!bt_event) {
_ERR("Failed to allocated memory ");
return;
}
-
EXIT;
+ return;
}
-
-
-
-
-static void __bm_bt_device_discovery_state_changed_cb(
- int result, bt_adapter_device_discovery_state_e discovery_state,
- bt_adapter_device_discovery_info_s *discovery_info,
- void *user_data)
+static void __bm_bt_device_discovery_state_changed_cb(int result, bt_adapter_device_discovery_state_e discovery_state,
+ bt_adapter_device_discovery_info_s *discovery_info, void *user_data)
{
ENTER;
_INFO("__bt_adapter_state_changed_cb");
}
EXIT;
+ return;
}
-
-
static void __bm_wifi_device_state_callback(wifi_manager_device_state_e state, void* user_data)
{
ENTER;
return;
}
-
-
EXIT;
+ return;
}
-
-
-
-
static void __bm_wifi_scan_changed_callback(wifi_manager_scan_state_e state, void* user_data)
{
ENTER;
wifi_event->type = LISTEN_WIFI_SCAN_STATE;
wifi_event->val = state;
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, wifi_event)) {
_ERR("Failed to pthread_create.");
return;
}
EXIT;
+ return;
}
-
-
static void __bm_wifi_connection_state_changed_callback(wifi_manager_connection_state_e state, wifi_manager_ap_h ap, void *user_data)
{
ENTER;
wifi_event->type = LISTEN_WIFI_CONNECTION_STATE;
wifi_event->val = state;
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, wifi_event)) {
_ERR("Failed to pthread_create.");
return;
}
EXIT;
+ return;
}
-
-
static void __bm_device_display_change(device_callback_e type, void *value, void *user_data)
{
ENTER;
device_event->type = LISTEN_DEVICE_DISPLAY_STATE;
device_event->val = state;
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, device_event)) {
_ERR("Failed to pthread_create.");
return;
}
EXIT;
+ return;
}
-
-
static void __bm_display_brightness_change(keynode_t *key, void* data)
{
ENTER;
brightness_flag = flag;
}
-
_INFO(" device brightness changed =%d ", brightness_level);
event_pool *display_event = (event_pool *)calloc(1, sizeof(event_pool));
display_event->type = LISTEN_BRIGHTNESS_CHANGE;
display_event->val = brightness_flag;
-
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, display_event)) {
_ERR("Failed to pthread_create.");
return;
}
-
EXIT;
+ return;
}
-
-
static void __bm_battery_capacity_change(keynode_t *key, void* data)
{
ENTER;
charging_event->type = LISTEN_BATTERY_CAPACITY_CHANGE;
charging_event->val = charging;
-
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, charging_event)) {
_ERR("Failed to pthread_create.");
return;
}
-
EXIT;
+ return;
}
-
static void __bm_charging_status_change(keynode_t *key, void* data)
{
ENTER;
charging_event->type = LISTEN_CHARGING_STATUS_CHANGE;
charging_event->val = charging;
-
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, charging_event)) {
_ERR("Failed to pthread_create.");
return;
}
-
EXIT;
+ return;
}
-
-
static void __bm_location_change(keynode_t *key, void* data)
{
ENTER;
int charging = 0;
vconf_get_int(VCONFKEY_LOCATION_ENABLED, &charging);
- _INFO(" device location changed =%d ", charging);
+ _INFO(" device location changed = %d ", charging);
event_pool *location_event = (event_pool *)calloc(1, sizeof(event_pool));
if (!location_event) {
location_event->type = LISTEN_LOCATION_CHANGE;
location_event->val = charging;
-
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, location_event)) {
_ERR("Failed to pthread_create.");
return;
}
-
EXIT;
+ return;
}
-
-
-
static void __bm_noti_signal_strength(TapiHandle *handle, const char *noti_id, void *data, void *user_data)
{
ENTER;
signal_event->type = LISTEN_SIGNAL_STRENGTH_CHANGE;
signal_event->val = ss_flag;
-
- pthread_t producer ;
+ pthread_t producer;
if (pthread_create(&producer, NULL, event_producer, signal_event)) {
_ERR("Failed to pthread_create.");
return;
}
-
EXIT;
+ return;
}
-
-
static int bm_charging_status_listeners()
{
ENTER;
- /* Charging callbacks */
+ /* Charging callbacks */
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_SYSMAN_CHARGER_STATUS, __bm_charging_status_change, NULL);
if (ret != 0) {
EXIT;
return 0;
-
}
-
-
static int bm_battery_capacity_listeners()
{
ENTER;
- /* Charging callbacks */
+ /* Charging callbacks */
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_SYSMAN_BATTERY_CAPACITY, __bm_battery_capacity_change, NULL);
if (ret != 0) {
return 0;
}
-
-
static int bm_location_listeners()
{
ENTER;
- /* Charging callbacks */
+ /* Charging callbacks */
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_LOCATION_ENABLED, __bm_location_change, NULL);
if (ret != 0) {
return 0;
}
-
static int bm_screen_subscribe_listeners()
{
ENTER;
- /* Screen callbacks */
+ /* Screen callbacks */
int ret = device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE, __bm_device_display_change, NULL);
if (ret != BATTERY_MONITOR_ERROR_NONE) {
_ERR("device_add_callback failed: %s", get_error_message(ret));
return 0;
}
-
-
static int bm_signal_strength_listeners()
{
ENTER;
- /* Screen callbacks */
+ /* Screen callbacks */
handle = tel_init(NULL);
if (handle) {
int ret = tel_register_noti_event(handle, TAPI_NOTI_NETWORK_SIGNALSTRENGTH, __bm_noti_signal_strength, NULL);
return 0;
}
-
-
static int bm_display_brightness_listeners()
{
ENTER;
- /* Screen callbacks */
+ /* Screen callbacks */
int ret = 0;
ret = vconf_notify_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, __bm_display_brightness_change, NULL);
if (ret != 0) {
EXIT;
return 0;
-
}
-
-
-
static int bm_wifi_subscribe_listeners()
{
ENTER;
- /* Wifi callbacks */
+ /* Wifi callbacks */
int rv = wifi_manager_initialize(&wifi);
if (rv == WIFI_MANAGER_ERROR_NONE) {
int ret = wifi_manager_set_device_state_changed_cb(wifi, __bm_wifi_device_state_callback, NULL);
EXIT;
return 0;
-
}
-
static int bm_bluetooth_subscribe_listeners()
{
ENTER;
- /* Bluetooth callbacks */
+ /* Bluetooth callbacks */
int rv = bt_initialize();
if (rv == BT_ERROR_NONE) {
_INFO("bt_device_set_connection_state_changed_cb ret =%d \n", ret);
ret = bt_adapter_set_state_changed_cb(__bm_bt_adapter_state_changed_cb, NULL);
- _INFO("bt_adapter_set_state_changed_cb ret =%d \n", ret);
+ _INFO("bt_adapter_set_state_changed_cb ret =%d \n", ret);
ret = bt_adapter_set_device_discovery_state_changed_cb(__bm_bt_device_discovery_state_changed_cb, NULL);
_INFO("bt_adapter_set_device_discovery_state_changed_cb ret =%d \n", ret);
_INFO("bluetooth init succeeded\n");
EXIT;
return 0;
-
}
-
-
-
void* event_consumer()
{
ENTER;
EXIT;
}
-
-
static int bm_initialize_history_data_obj()
{
ENTER;
- pthread_t consumer;
+ pthread_t consumer;
if (pthread_create(&consumer, NULL, event_consumer, NULL)) {
_ERR("Failed to pthread_create.");
return BATTERY_MONITOR_ERROR_NOT_SUPPORTED;
return BATTERY_MONITOR_ERROR_NONE;
}
-
-
-
-
int bd_initialize_listeners(void)
{
ENTER;
-
-
-
/* Initialize Hash Table */
- if (!bm_initialize_history_data_obj()) {
+ if (!bm_initialize_history_data_obj())
_INFO("bm_initialize_history_data_obj succeeded \n");
- } else {
+ else {
_ERR("bm_initialize_history_data_obj failed \n");
return BATTERY_MONITOR_ERROR_OUT_OF_MEMORY;
}
-
-
/* Wifi callbacks */
if (!bm_wifi_subscribe_listeners())
_INFO("Wifi listeners succeeded to subscribed\n");
else
_ERR("Wifi listeners failed to subscribed\n");
-
-
/* BlueTooth callbacks */
-
if (!bm_bluetooth_subscribe_listeners())
_INFO("bluetooth listeners succeeded to subscribed\n");
else
_ERR("bluetooth listeners failed to subscribed\n");
-
/* Screen wakeup callbacks */
if (!bm_screen_subscribe_listeners())
_INFO("Display listeners succeeded to subscribed\n");
else
_ERR("Display listeners failed to subscribed\n");
-
- /* Brightness change callbacks */
+ /* Brightness change callbacks */
if (!bm_display_brightness_listeners())
_INFO("Brightness listeners succeeded to subscribed\n");
else
_ERR("Brightness listeners failed to subscribed\n");
-
- /* battery_capacity change callbacks */
+ /* battery_capacity change callbacks */
if (!bm_battery_capacity_listeners())
_INFO("battery_capacity listeners succeeded to subscribed\n");
else
_ERR("battery_capacity listeners failed to subscribed\n");
- /* battery charging change callbacks */
+ /* battery charging change callbacks */
if (!bm_charging_status_listeners())
_INFO("battery charging listeners succeeded to subscribed\n");
else
_ERR("battery charging listeners failed to subscribed\n");
- /* GPS change callbacks */
+ /* GPS change callbacks */
if (!bm_location_listeners())
_INFO("location listeners succeeded to subscribed\n");
else
_ERR("location listeners failed to subscribed\n");
-
- /* Signal strength callbacks */
+ /* Signal strength callbacks */
if (!bm_signal_strength_listeners())
_INFO("Signal strength listeners succeeded to subscribed\n");
else
return BATTERY_MONITOR_ERROR_NONE;
}
-
int bd_deinitialize_listeners()
{
ENTER;
_INFO("de-initializing History listeners");
-
- /* wifi */
-
+ /* Wi-Fi */
/*unset the callbacks related to wifi*/
if (wifi_manager_unset_connection_state_changed_cb(wifi) != WIFI_MANAGER_ERROR_NONE)
_ERR("wifi_manager_unset_connection_state_changed_cb() failed.\n");
else
_INFO("wifi_manager_deinitialize() success.\n");
-
/* Bluetooth */
-
/* unset bluetooth device connection state changed state event callback*/
if (bt_device_unset_connection_state_changed_cb() != BT_ERROR_NONE)
_ERR("bt_device_unset_connection_state_changed_cb() failed.\n");
else
_INFO("bt_deinitialize() success.\n");
-
//Brightness
if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, __bm_display_brightness_change) < 0)
_ERR("failed to de-register vconf callback");
EXIT;
return BATTERY_MONITOR_ERROR_NONE;
-
}
-
-