#include "oal-device-mgr.h"
static const bt_interface_t * blued_api;
-#ifdef TIZEN_BT_HAL
-static int dbfw_rssi;
-#endif
void device_mgr_init(const bt_interface_t * stack_if)
{
return OAL_STATUS_SUCCESS;
}
+oal_status_t device_get_ida(bt_address_t *device_address, bt_address_t *id_address)
+{
+ int res;
+
+ CHECK_OAL_INITIALIZED();
+
+ OAL_CHECK_PARAMETER(device_address, return);
+
+ API_TRACE();
+
+ res = blued_api->get_device_ida((bt_bdaddr_t*) device_address, (bt_bdaddr_t*) id_address);
+
+ if (res != BT_STATUS_SUCCESS)
+ BT_ERR("get_device_IDA failed: [%s]",status2string(res));
+
+ res = convert_to_oal_status(res);
+ return res;
+}
+
oal_status_t device_accept_pin_request(bt_address_t * addr, const char * pin)
{
int res;
bt_acl_state_t state)
{
event_dev_conn_status_t * conn_status = g_new0(event_dev_conn_status_t, 1);
- //bt_address_t * address = g_new0(bt_address_t, 1);
oal_event_t event;
gsize size = 0;
- BT_DBG("ACL State:%d, state: %d", status, state);
-
memcpy(conn_status->address.addr, bd_addr->address, 6);
#ifdef TIZEN_BT_HAL
- conn_status->status = convert_to_oal_status(status);
- conn_status->rssi = dbfw_rssi;
+ conn_status->status = status;
#else
if (BT_STATUS_SUCCESS != status) {
/* At present only timeout will cause non-success status, later we can add more */
memcpy(conn_status->address.addr, bd_addr->address, 6);
#endif
- BT_INFO("ACL STATE :%d, conn_status->status :%d, BT_ACL_STATE: %d", status, conn_status->status, state);
+ BT_INFO("[ACL] Status: %d, State: %d", conn_status->status, state);
switch (state) {
case BT_ACL_STATE_CONNECTED:
bt_le_conn_state_t state)
{
event_dev_conn_status_t * conn_status = g_new0(event_dev_conn_status_t, 1);
- //bt_address_t * address = g_new0(bt_address_t, 1);
oal_event_t event;
gsize size = 0;
- BT_DBG("LE conn status:%d, state: %d", status, state);
memcpy(conn_status->address.addr, bd_addr->address, 6);
- conn_status->status = convert_to_oal_status(status);
- conn_status->rssi = dbfw_rssi;
+ conn_status->status = status;
+ BT_INFO("[LE ACL] Status: %d, State: %d", conn_status->status, state);
switch (state) {
case BT_LE_CONN_STATE_CONNECTED:
BT_DBG("-");
}
-static gboolean __device_init_dbfw_rssi_cb(gpointer user_data)
+void cb_dbfw_plus_info_received(unsigned char *data, uint32_t length, uint8_t event_code)
{
- dbfw_rssi = 0;
- return FALSE;
-}
+ event_dev_dbfw_plus_info_t *dbfw_info;
+ int len = (length > 512)?512:length;
-static void __device_parse_dbfw_set_rssi(unsigned char *data, uint32_t length)
-{
- ret_if(length < 5);
- dbfw_rssi = 0xFFFFFF00 | data[4];
- BT_INFO("dbfw_rssi = %d", dbfw_rssi);
- g_timeout_add(1000, __device_init_dbfw_rssi_cb, NULL);
-}
+ ret_if(data == NULL || length == 0);
-void cb_dbfw_plus_info_received(unsigned char *data, uint32_t length, uint8_t event_code)
-{
- char evt_str[18];
- char *data_str = NULL;
- int i;
-
- ret_if(data == NULL);
-
- data_str = g_malloc0(length * 2 + 1);
- for (i = 0; i < length; i++)
- snprintf(&data_str[i * 2], 3, "%02X", data[i]);
- data_str[i * 2] = '\0';
-
- switch(event_code) {
- case BT_DBFW_PLUS_EVENT_CODE_LINK_LOSS_INFO:
- BT_DBG("## Event Code: Linkloss Debug Info");
- snprintf(evt_str, 18, "[DBFW]Linkloss(D)");
- __device_parse_dbfw_set_rssi(data, length);
- break;
- case BT_DBFW_PLUS_EVENT_CODE_LINK_LOSS_CLOCK_INFO:
- BT_DBG("## Event Code: Linkloss Clock Info");
- snprintf(evt_str, 18, "[DBFW]Linkloss(C)");
- break;
- case BT_DBFW_PLUS_EVENT_CODE_LINK_LOSS_PAGE_SLOTS:
- BT_DBG("## Event Code: Linkloss Page slots");
- snprintf(evt_str, 18, "[DBFW]Linkloss(P)");
- break;
- case BT_DBFW_PLUS_EVENT_CODE_LINK_LOSS_LMP_TRACE:
- BT_DBG("## Event Code: Linkloss LMP trace");
- snprintf(evt_str, 18, "[DBFW]Linkloss(L)");
- break;
- case BT_DBFW_PLUS_EVENT_CODE_A2DP_INFO:
- BT_DBG("## Event Code: A2DP Info");
- snprintf(evt_str, 18, "[DBFW]A2DP");
- break;
- case BT_DBFW_PLUS_EVENT_CODE_HFP_INFO:
- BT_DBG("## Event Code: HFP Info");
- snprintf(evt_str, 18, "[DBFW]HFP");
- break;
- case BT_DBFW_PLUS_EVENT_CODE_HFP_SCO_PACKET_TYPE_INFO:
- BT_DBG("## Event Code: HFP SCO Packet Type");
- snprintf(evt_str, 18, "[DBFW]SCO");
- break;
- default:
- BT_DBG("## Unknown event code (0x%02x)", event_code);
- snprintf(evt_str, 18, "[DBFW]0x%02X", event_code);
- break;
- }
+ dbfw_info = g_new0(event_dev_dbfw_plus_info_t, 1);
+ dbfw_info->event_code = event_code;
+ memcpy(dbfw_info->data, data, len);
+ dbfw_info->length = len;
- g_free(data_str);
+ send_event(OAL_EVENT_DEVICE_DBFW_PLUS_INFO,
+ dbfw_info, sizeof(event_dev_dbfw_plus_info_t));
}
#endif