|| service_function == BT_GET_IS_ALIAS_SET
|| service_function == BT_GET_CONNECTED_LINK_TYPE
|| service_function == BT_IS_SERVICE_USED
+ || service_function == BT_RFCOMM_LISTEN_AND_ACCEPT
|| service_function == BT_RFCOMM_LISTEN
|| service_function == BT_HDP_REGISTER_SINK_APP
|| service_function == BT_HDP_UNREGISTER_SINK_APP
result = BLUETOOTH_ERROR_NONE;
break;
}
+ case BT_RFCOMM_LISTEN_AND_ACCEPT: {
+ char *uuid;
+ int socket_fd = -1;
+
+ sender = (char *)g_dbus_method_invocation_get_sender(context);
+ uuid = (char *)g_variant_get_data(in_param1);
+
+ result = _bt_rfcomm_socket_listen(sender, uuid, true);
+ if (result > 0) {
+ BT_ERR("BT_RFCOMM_LISTEN_AND_ACCEPT success, save context");
+
+ result = BLUETOOTH_ERROR_NONE;
+ _bt_save_invocation_context(context,
+ result, sender, function_name, NULL);
+ } else {
+ g_array_append_vals(*out_param1, &socket_fd, sizeof(int));
+ }
+ break;
+ }
case BT_RFCOMM_LISTEN: {
char *uuid;
int socket_fd = -1;
sender = (char *)g_dbus_method_invocation_get_sender(context);
uuid = (char *)g_variant_get_data(in_param1);
- result = _bt_rfcomm_socket_listen(sender, uuid);
+ result = _bt_rfcomm_socket_listen(sender, uuid, false);
if (result > 0) {
BT_ERR("BT_RFCOMM_LISTEN success, save context");
case BT_PBAP_PULL_VCARD:
case BT_PBAP_PHONEBOOK_SEARCH:
+ case BT_RFCOMM_LISTEN_AND_ACCEPT:
+
ret_val = cynara_check(p_cynara, client_creds, client_session, user_creds,
BT_PRIVILEGE_PUBLIC);