return &user_info[type];
}
-int _bt_common_send_rfcomm_rx_details(bluetooth_rfcomm_received_data_t *data)
+int _bt_common_send_rfcomm_rx_details(unsigned int len)
{
uid_t uid = getuid();
pid_t pid = getpid();
- int size = data->buffer_size;
+ unsigned int size = len;
int ret = BLUETOOTH_ERROR_NONE;
BT_INFO("+");
g_array_append_vals(in_param1, &uid, sizeof(uid_t));
g_array_append_vals(in_param2, &pid, sizeof(pid_t));
- g_array_append_vals(in_param3, &size, sizeof(int));
+ g_array_append_vals(in_param3, &size, sizeof(unsigned int));
ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_SEND_RX_DETAILS,
in_param1, in_param2, in_param3, in_param4, &out_param);
return ret;
}
-int _bt_common_send_rfcomm_tx_details(int len)
+int _bt_common_send_rfcomm_tx_details(unsigned int len)
{
uid_t uid = getuid();
pid_t pid = getpid();
- int size = len;
+ unsigned int size = len;
int ret = BLUETOOTH_ERROR_NONE;
BT_INFO("+");
g_array_append_vals(in_param1, &uid, sizeof(uid_t));
g_array_append_vals(in_param2, &pid, sizeof(pid_t));
- g_array_append_vals(in_param3, &size, sizeof(int));
+ g_array_append_vals(in_param3, &size, sizeof(unsigned int));
ret = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_SEND_TX_DETAILS,
in_param1, in_param2, in_param3, in_param4, &out_param);
BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
- BT_DBG("-");
+ BT_INFO("-");
return ret;
}
+int _bt_common_send_rfcomm_conn_info(int role, gboolean connected, int socket_fd)
+{
+ int result = BLUETOOTH_ERROR_NONE;
+
+ if (bluetooth_get_battery_monitor_state() == 0) {
+ BT_DBG("Battery monitor state is off");
+ return BLUETOOTH_ERROR_NONE;
+ }
+
+ BT_INIT_PARAMS();
+ BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ g_array_append_vals(in_param1, &role, sizeof(int));
+ g_array_append_vals(in_param2, &connected, sizeof(gboolean));
+ g_array_append_vals(in_param3, &socket_fd, sizeof(int));
+
+ result = _bt_send_request(BT_BLUEZ_SERVICE, BT_RFCOMM_UPDATE_CONNECTION_INFO,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
+
+ BT_DBG("result: %x", result);
+
+ BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
+
+ return result;
+}
+
void _bt_common_event_cb(int event, int result, void *param,
void *callback, void *user_data)
{
- BT_DBG("+");
bluetooth_event_param_t bt_event = { 0, };
bt_event.event = event;
bt_event.result = result;
void _bt_gatt_server_event_cb(int event, int result, void *param,
void *callback, void *user_data)
{
- BT_INFO("__bt_gatt_server_event_cb");
gatt_server_event_param_t bt_event = { 0, 0, NULL, NULL };
bt_event.event = event;
bt_event.result = result;
bt_event.param_data = param;
if (callback) {
- BT_INFO("GATT Server event callback is registered");
((gatt_server_cb_func_ptr)callback)(bt_event.event, &bt_event,
user_data);
} else {
GVariant *value = NULL;
GVariant *ret = NULL;
int result = BLUETOOTH_ERROR_INTERNAL;
- BT_INFO("+");
+
retv_if(remote_uuid == NULL, BLUETOOTH_ERROR_INTERNAL);
gconn = _bt_get_system_private_conn();
retv_if(gconn == NULL, BLUETOOTH_ERROR_INTERNAL);
{
GDBusProxy *proxy;
char *object_path;
+ GDBusConnection *gconn;
+ GError *err = NULL;
object_path = _bt_get_device_object_path(address);
if (object_path == NULL)
return BLUETOOTH_ERROR_INTERNAL;
- proxy = __bt_gdbus_get_device_proxy(object_path);
+ gconn = _bt_get_system_shared_conn();
+ if (gconn == NULL) {
+ g_free(object_path);
+ return BLUETOOTH_ERROR_INTERNAL;
+ }
+
+ proxy = g_dbus_proxy_new_sync(gconn, G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
+ NULL, BT_BLUEZ_NAME,
+ object_path,
+ BT_DEVICE_INTERFACE,
+ NULL, &err);
+
g_free(object_path);
- if (proxy == NULL) {
- BT_ERR("Error while getting proxy");
+
+ if (proxy == NULL && err) {
+ BT_ERR("Unable to create proxy: %s", err->message);
+ g_clear_error(&err);
return BLUETOOTH_ERROR_INTERNAL;
}
_bt_set_obex_server_id(BT_NO_SERVER);
+ _bt_reset_battery_monitor_info();
+
_bt_gdbus_deinit_proxys();
if (profile_gproxy) {