BLE Gatt Server Socket notify implementation.
[platform/core/connectivity/bluetooth-frwk.git] / bt-service-adaptation / services / bt-request-handler.c
index c47990c..ded26a9 100644 (file)
@@ -2256,6 +2256,72 @@ int __bt_bluez_request(int function_name,
 
                break;
        }
+       case BT_GATT_SERVER_ACQURE_WRITE_RESPONSE: {
+
+               bluetooth_gatt_server_acquire_response_params_t param;
+               char *app;
+               GDBusMessage *msg;
+               msg = g_dbus_method_invocation_get_message(context);
+               GUnixFDList *fd_list;
+               int fd  = -1;;
+               int *fd_list_array;
+               int len;
+
+               BT_ERR("sending acquire write  respose \n");
+
+               fd_list = g_dbus_message_get_unix_fd_list(msg);
+
+               memset(&param, 0x00, sizeof(bluetooth_gatt_server_acquire_response_params_t));
+
+               app = (char*)g_dbus_method_invocation_get_sender(context);
+
+               __bt_service_get_parameters(in_param1, &param,
+                               sizeof(bluetooth_gatt_server_acquire_response_params_t));
+
+               BT_ERR("sending acquire write  respose sent \n  ");
+
+               fd_list_array = g_unix_fd_list_peek_fds(fd_list, &len);
+               BT_INFO("Num fds in fd_list is : %d, fd_list[0]: %d", len, fd_list_array[0]);
+               fd = fd_list_array[0];
+
+               param.fd = fd;
+               result = _bt_gatt_server_acquire_send_response(app, &param, fd_list);
+
+               break;
+       }
+       case BT_GATT_SERVER_ACQUIRE_NOTIFY_RESPONSE: {
+
+               bluetooth_gatt_server_acquire_response_params_t param;
+               char *app;
+               GDBusMessage *msg;
+               msg = g_dbus_method_invocation_get_message(context);
+               GUnixFDList *fd_list;
+               int fd  = -1;
+               int *fd_list_array;
+               int len;
+
+               BT_ERR("sending acquire write  respose \n");
+
+               fd_list = g_dbus_message_get_unix_fd_list(msg);
+
+               memset(&param, 0x00, sizeof(bluetooth_gatt_server_acquire_response_params_t));
+
+               app = (char*)g_dbus_method_invocation_get_sender(context);
+
+               __bt_service_get_parameters(in_param1, &param,
+                               sizeof(bluetooth_gatt_server_acquire_response_params_t));
+
+               BT_ERR("sending acquire write  respose sent \n  ");
+
+               fd_list_array = g_unix_fd_list_peek_fds(fd_list, &len);
+               BT_INFO("Num fds in fd_list is : %d, fd_list[0]: %d", len, fd_list_array[0]);
+               fd = fd_list_array[0];
+
+               param.fd = fd;
+               result = _bt_gatt_server_acquire_send_response(app, &param, fd_list);
+
+               break;
+       }
        case BT_GATT_SERVER_SEND_INDICATION: {
                bluetooth_gatt_server_indication_params_t param;
                bluetooth_gatt_att_data_t data;
@@ -3564,6 +3630,7 @@ gboolean __bt_service_check_privilege(int function_name,
        case BT_GATT_SERVER_STOP_SERVICE:
        case BT_GATT_SERVER_DELETE_SERVICE:
        case BT_GATT_SERVER_SEND_RESPONSE:
+       case BT_GATT_SERVER_ACQURE_WRITE_RESPONSE:
        case BT_GATT_SERVER_SEND_INDICATION:
        case BT_GATT_SERVER_UPDATE_VALUE:
        case BT_GATT_SERVER_DEREGISTER: