Volume Offset Control Service Server API
src/le-audio/gatt-service/volume_offset_control_service_server.h
typedef struct {
btstack_linked_item_t item;
hci_con_handle_t con_handle;
// service
uint16_t start_handle;
uint16_t end_handle;
uint8_t index;
vocs_info_t * info;
att_service_handler_t service_handler;
btstack_context_callback_registration_t scheduled_tasks_callback;
uint8_t scheduled_tasks;
// ORG_BLUETOOTH_CHARACTERISTIC_OFFSET_STATE
uint16_t volume_offset_state_value_handle;
uint8_t volume_offset_state_change_counter;
uint16_t volume_offset_state_client_configuration_handle;
uint16_t volume_offset_state_client_configuration;
btstack_context_callback_registration_t volume_offset_state_callback;
// ORG_BLUETOOTH_CHARACTERISTIC_AUDIO_LOCATION
uint16_t audio_location_value_handle;
uint16_t audio_location_client_configuration_handle;
uint16_t audio_location_client_configuration;
btstack_context_callback_registration_t audio_location_callback;
// ORG_BLUETOOTH_CHARACTERISTIC_VOLUME_OFFSET_CONTROL_POINT
uint16_t volume_offset_control_point_value_handle;
// ORG_BLUETOOTH_CHARACTERISTIC_AUDIO_OUTPUT_DESCRIPTION
uint16_t audio_output_description_value_handle;
uint8_t audio_output_description_len;
uint16_t audio_output_description_client_configuration_handle;
uint16_t audio_output_description_client_configuration;
btstack_context_callback_registration_t audio_output_description_callback;
} volume_offset_control_service_server_t;
/**
* @brief Init Volume Offset Control Service Server with ATT DB
* @param vocs service storage
*/
void volume_offset_control_service_server_init(volume_offset_control_service_server_t * vocs);
/**
* @brief Set volume offset of the VOCS service. If successful, all registered clients will be notified of change.
* @param vocs service
* @param volume_offset
* @return status ERROR_CODE_SUCCESS if successful
*/
uint8_t volume_offset_control_service_server_set_volume_offset(volume_offset_control_service_server_t * vocs, int16_t volume_offset);
/**
* @brief Set audio location of the VOCS service. If successful, all registered clients will be notified of change.
* @param vocs service
* @param audio_location see VOCS_AUDIO_LOCATION_* defines above
* @return status ERROR_CODE_SUCCESS if successful
*/
uint8_t volume_offset_control_service_server_set_audio_location(volume_offset_control_service_server_t * vocs, uint32_t audio_location);
/**
* @brief Set audio output description of the VOCS service. If successful, all registered clients will be notified of change.
* @param vocs service
* @param audio_output_desc
* @return status ERROR_CODE_SUCCESS if successful
*/
void volume_offset_control_service_server_set_audio_output_description(volume_offset_control_service_server_t * vocs, const char * audio_output_desc);