static bool __rfcomm_record_rx_data(void)
{
- BT_INFO("");
- if (bluetooth_get_battery_monitor_state()) {
- if (rx_data) {
- int ret = _bt_common_send_rfcomm_rx_details(rx_data);
- if (ret == BLUETOOTH_ERROR_NONE) {
- rx_data = 0;
- return TRUE;
- }
- else {
- BT_ERR("RFCOMM rx data could not be registered");
- }
+ if (rx_data) {
+ int ret = _bt_common_send_rfcomm_rx_details(rx_data);
+ if (ret == BLUETOOTH_ERROR_NONE) {
+ rx_data = 0;
+ return TRUE;
+ } else {
+ BT_ERR("RFCOMM rx data could not be registered");
}
}
+
+ rx_data = 0;
rx_tag = 0;
+
return FALSE;
}
BT_INFO_C("### Connected [RFCOMM Server]");
+ if (_bt_common_send_rfcomm_conn_info(RFCOMM_ROLE_SERVER,
+ TRUE, conn_info.socket_fd) != BLUETOOTH_ERROR_NONE)
+ BT_ERR("Fail to send the connection info");
+
_bt_common_event_cb(BLUETOOTH_EVENT_RFCOMM_CONNECTED,
BLUETOOTH_ERROR_NONE, &conn_info,
event_info->cb, event_info->user_data);
BT_INFO("Disconnected FD [%d]", conn->fd);
disconn_info.socket_fd = conn->fd;
+ if (_bt_common_send_rfcomm_conn_info(RFCOMM_ROLE_SERVER,
+ FALSE, disconn_info.socket_fd) != BLUETOOTH_ERROR_NONE)
+ BT_ERR("Fail to send the connection info");
+
_bt_common_event_cb(BLUETOOTH_EVENT_RFCOMM_DISCONNECTED,
BLUETOOTH_ERROR_NONE, &disconn_info,
event_info->cb, event_info->user_data);
if (bluetooth_get_battery_monitor_state()) {
if (rx_tag == 0) {
- BT_INFO("Adding rfcomm rx timeout function for battery monitor");
+ BT_DBG("Adding rfcomm rx timeout function for battery monitor");
rx_tag = g_timeout_add_seconds(BATTERY_MONITOR_RFCOMM_INTERVAL, (GSourceFunc)__rfcomm_record_rx_data, NULL);
}
rx_data += len;
return;
}
+
+void _bt_rfcomm_server_reset_timer(void)
+{
+ if (rx_tag > 0) {
+ g_source_remove(rx_tag);
+ rx_tag = 0;
+ }
+
+ rx_data = 0;
+}
#else
#define BT_RFCOMM_SERVER_ID_MAX 254