- case BT_TDS_PROVIDER_REGISTER: {
- char *sender = NULL;
-
- sender = (char *)g_dbus_method_invocation_get_sender(context);
- result = _bt_tds_provider_register(sender);
-
- break;
- }
- case BT_TDS_PROVIDER_UNREGISTER: {
- char *sender = NULL;
-
- sender = (char *)g_dbus_method_invocation_get_sender(context);
- result = _bt_tds_provider_unregister(sender);
-
- break;
- }
- case BT_TDS_PROVIDER_SET_MANUF_DATA: {
- char *sender = NULL;
- unsigned int length = 0;
- bluetooth_advertising_data_t manuf_data;
-
- __bt_service_get_parameters(in_param1,
- &length, sizeof(unsigned int));
- __bt_service_get_parameters(in_param2,
- &manuf_data, sizeof(bluetooth_advertising_data_t));
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- result = _bt_tds_provider_set_manuf_data(sender, manuf_data.data, length);
- break;
- }
- case BT_TDS_PROVIDER_CREATE: {
- char *sender = NULL;
- unsigned int tds_handle = 0;
- int transport;
-
- __bt_service_get_parameters(in_param1,
- &tds_handle, sizeof(unsigned int));
- __bt_service_get_parameters(in_param2,
- &transport, sizeof(int));
- sender = (char *)g_dbus_method_invocation_get_sender(context);
- result = _bt_tds_provider_transport_create(sender, transport, tds_handle);
-
- break;
- }
- case BT_TDS_PROVIDER_DESTROY: {
- char *sender = NULL;
- unsigned int tds_handle = 0;
-
- __bt_service_get_parameters(in_param1,
- &tds_handle, sizeof(unsigned int));
- sender = (char *)g_dbus_method_invocation_get_sender(context);
- result = _bt_tds_provider_transport_remove(sender, tds_handle);
-
- break;
- }
- case BT_TDS_PROVIDER_SET_TRANSPORT_DATA: {
- char *sender = NULL;
- unsigned int tds_handle = 0;
- int transport_state = 0;
- bluetooth_tds_data_t tds_data;
-
- __bt_service_get_parameters(in_param1,
- &tds_handle, sizeof(unsigned int));
- __bt_service_get_parameters(in_param2,
- &transport_state, sizeof(int));
- __bt_service_get_parameters(in_param3,
- &tds_data, sizeof(bluetooth_tds_data_t));
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- result = _bt_tds_provider_set_transport_data(sender, tds_handle,
- transport_state, tds_data.data, tds_data.length);
- break;
- }
- case BT_TDS_SEND_ACTIVATION_RESPONSE: {
- bluetooth_device_address_t address = { {0} };
- bluetooth_tds_data_t tds_data;
- char *sender = NULL;
- unsigned int tds_handle = 0;
- int response;
-
- __bt_service_get_parameters(in_param1,
- &tds_handle, sizeof(unsigned int));
- __bt_service_get_parameters(in_param2,
- &response, sizeof(int));
- __bt_service_get_parameters(in_param3, &address,
- sizeof(bluetooth_device_address_t));
- __bt_service_get_parameters(in_param4,
- &tds_data, sizeof(bluetooth_tds_data_t));
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- result = _bt_tds_provider_send_activation_response(sender, tds_handle,
- &address, response, tds_data.data, tds_data.length);
- break;
- }
- case BT_TDS_READ_TRANSPORT_DATA: {
- char *handle;
- char *data = NULL;
- guint data_len = 0;
-
- char *sender = NULL;
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- bluetooth_device_address_t address = { {0} };
- __bt_service_get_parameters(in_param2,
- &address, sizeof(bluetooth_device_address_t));
-
- data_len = g_variant_get_size(in_param1);
- data = (char *)g_variant_get_data(in_param1);
-
- handle = g_strndup(data, data_len);
- BT_DBG("Read TDS Transport Block [%s]", handle);
-
- result = _bt_tds_read_transport_data(request_id, sender, &address, handle);
-
- if (result != BLUETOOTH_ERROR_NONE) {
- BT_ERR("Reading TDS Transport data failed result [%d]", result);
- g_array_append_vals(*out_param1, &address,
- sizeof(bluetooth_device_address_t));
- }
- if (handle)
- g_free(handle);
- break;
- }
- case BT_TDS_ENABLE_CONTROL_POINT: {
- char *handle;
- char *data = NULL;
- guint data_len = 0;
- bluetooth_device_address_t address = { {0} };
-
- char *sender = NULL;
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- data_len = g_variant_get_size(in_param1);
- data = (char *)g_variant_get_data(in_param1);
- __bt_service_get_parameters(in_param2,
- &address, sizeof(bluetooth_device_address_t));
-
- handle = g_strndup(data, data_len);
- BT_DBG("TDS Control point CCCD handle [%s]", handle);
-
- result = _bt_tds_enable_control_point(request_id, sender, &address, handle);
-
- if (result != BLUETOOTH_ERROR_NONE) {
- BT_ERR("Enabling TDS CCCD failed result [%d]", result);
- g_array_append_vals(*out_param1, &address,
- sizeof(bluetooth_device_address_t));
- }
- if (handle)
- g_free(handle);
- break;
- }
- case BT_TDS_ACTIVATE_CONTROL_POINT: {
- char *handle;
- char *data = NULL;
- guint data_len = 0;
- bluetooth_control_point_data_t tds_data;
- char *sender = NULL;
-
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- bluetooth_device_address_t address = { {0} };
-
- data_len = g_variant_get_size(in_param1);
- data = (char *)g_variant_get_data(in_param1);
-
- __bt_service_get_parameters(in_param2,
- &address, sizeof(bluetooth_device_address_t));
-
- __bt_service_get_parameters(in_param3,
- &tds_data, sizeof(bluetooth_control_point_data_t));
-
- handle = g_strndup(data, data_len);
- BT_DBG("TDS Activate Control point handle [%s]", handle);
-
- result = _bt_tds_activate_control_point(request_id, sender, &address, handle,
- tds_data.data, tds_data.length);
-
- if (result != BLUETOOTH_ERROR_NONE) {
- BT_ERR("Activating TDS Control Point request failed result [%d]", result);
- g_array_append_vals(*out_param1, &address,
- sizeof(bluetooth_device_address_t));
- }
- if (handle)
- g_free(handle);
- break;
- }
- case BT_OTP_SERVER_INIT: {
- const char *directory;
- directory = (const char *)g_variant_get_data(in_param1);
- result = bt_otp_server_init(request_id, directory);
- break;
- }
- case BT_OTP_SERVER_DEINIT: {
- result = bt_otp_server_deinit(request_id);
- break;
- }
- case BT_OTP_READ_VALUE: {
- char *handle;
- char *data = NULL;
- guint data_len = 0;
-
- char *sender = NULL;
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- data_len = g_variant_get_size(in_param1);
- data = (char *)g_variant_get_data(in_param1);
-
- handle = g_strndup(data, data_len);
- BT_DBG("Read OTP Characteristic Value [%s]", handle);
-
- result = _bt_otp_read_characteristic_value(request_id, sender, handle);
-
- if (result != BLUETOOTH_ERROR_NONE) {
- BT_ERR("Reading OTP Characteristic Value failed result [%d]", result);
- g_array_append_vals(*out_param1, handle, data_len);
- }
- if (handle)
- g_free(handle);
- break;
- }
- case BT_OTP_ENABLE_NOTIFICATION: {
- char *handle;
- char *data = NULL;
- guint data_len = 0;
-
- char *sender = NULL;
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- data_len = g_variant_get_size(in_param1);
- data = (char *)g_variant_get_data(in_param1);
-
- handle = g_strndup(data, data_len);
- BT_DBG("OTP Control point CCCD handle [%s]", handle);
-
- result = _bt_otp_enable_notification(request_id, sender, handle);
-
- if (result != BLUETOOTH_ERROR_NONE) {
- BT_ERR("Enabling OTP CCCD failed result [%d]", result);
- g_array_append_vals(*out_param1, handle, data_len);
- }
- if (handle)
- g_free(handle);
- break;
- }
- case BT_OTP_WRITE_VALUE: {
- char *handle;
- char *data = NULL;
- guint data_len = 0;
- char *sender = NULL;
- bluetooth_otp_charc_data_t otp_charc_data;
- sender = (char *)g_dbus_method_invocation_get_sender(context);
-
- data_len = g_variant_get_size(in_param1);
- data = (char *)g_variant_get_data(in_param1);
-
- handle = g_strndup(data, data_len);
- BT_DBG("OTP Write Characteristic value [%s]", handle);
-
- __bt_service_get_parameters(in_param2,
- &otp_charc_data, sizeof(bluetooth_otp_charc_data_t));
-
- int i;
- for (i = 0; i < otp_charc_data.length; i++)
- BT_DBG("Value[%d] = %u", i, otp_charc_data.data[i]);
-
- result = _bt_otp_write_characteristic_value(request_id, sender, handle,
- otp_charc_data.data, otp_charc_data.length);
-
- if (result != BLUETOOTH_ERROR_NONE) {
- BT_ERR("OTP Write Characteristic failed result [%d]", result);
- g_array_append_vals(*out_param1, handle, data_len);
- }
- if (handle)
- g_free(handle);
- break;
- }
- case BT_LE_OTC_CONNECT: {
- BT_DBG("OTC Connect");
- bluetooth_device_address_t address = { {0} };
- __bt_service_get_parameters(in_param1, &address,
- sizeof(bluetooth_device_address_t));
-
- result = _bt_otp_connect_otc(request_id, &address);
- break;
- }
- case BT_LE_OTC_DISCONNECT: {
- BT_DBG("OTC Disconnect");
- bluetooth_device_address_t address = { {0} };
-
- __bt_service_get_parameters(in_param1, &address,
- sizeof(bluetooth_device_address_t));
- result = _bt_otp_disconnect_otc(&address);