From f3827b09ae588e731e98a760d4d15a7ddebcbab5 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 7 Aug 2024 17:51:55 +0200 Subject: [PATCH] avrcp_cover_art_client: move obex srm state into obex_srm_t --- src/classic/avrcp_cover_art_client.c | 20 ++++++++++---------- src/classic/avrcp_cover_art_client.h | 13 +++++++------ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/classic/avrcp_cover_art_client.c b/src/classic/avrcp_cover_art_client.c index fd484ff37..4e97b9cdb 100644 --- a/src/classic/avrcp_cover_art_client.c +++ b/src/classic/avrcp_cover_art_client.c @@ -163,7 +163,7 @@ static void avrcp_cover_art_client_parser_callback_connect(void * user_data, uin static void avrcp_cover_art_client_prepare_srm_header(avrcp_cover_art_client_t * cover_art_client){ if (cover_art_client->flow_control_enabled == false){ goep_client_header_add_srm_enable(cover_art_client->goep_cid); - cover_art_client->srm_state = AVRCP_COVER_ART_SRM_W4_CONFIRM; + cover_art_client->obex_srm.srm_state = AVRCP_COVER_ART_SRM_W4_CONFIRM; } } @@ -173,40 +173,40 @@ static void obex_srm_init(avrcp_cover_art_obex_srm_t * obex_srm){ } static void avrcp_cover_art_client_handle_srm_headers(avrcp_cover_art_client_t *context) { - const avrcp_cover_art_obex_srm_t * obex_srm = &context->obex_srm; + avrcp_cover_art_obex_srm_t * obex_srm = &context->obex_srm; // Update SRM state based on SRM headers - switch (context->srm_state){ + switch (obex_srm->srm_state){ case AVRCP_COVER_ART_SRM_W4_CONFIRM: switch (obex_srm->srm_value){ case OBEX_SRM_ENABLE: switch (obex_srm->srmp_value){ case OBEX_SRMP_WAIT: - context->srm_state = AVRCP_COVER_ART_SRM_ENABLED_BUT_WAITING; + obex_srm->srm_state = AVRCP_COVER_ART_SRM_ENABLED_BUT_WAITING; break; default: - context->srm_state = AVRCP_COVER_ART_SRM_ENABLED; + obex_srm->srm_state = AVRCP_COVER_ART_SRM_ENABLED; break; } break; default: - context->srm_state = AVRCP_COVER_ART_SRM_DISABLED; + obex_srm->srm_state = AVRCP_COVER_ART_SRM_DISABLED; break; } break; case AVRCP_COVER_ART_SRM_ENABLED_BUT_WAITING: switch (obex_srm->srmp_value){ case OBEX_SRMP_WAIT: - context->srm_state = AVRCP_COVER_ART_SRM_ENABLED_BUT_WAITING; + context->obex_srm.srm_state = AVRCP_COVER_ART_SRM_ENABLED_BUT_WAITING; break; default: - context->srm_state = AVRCP_COVER_ART_SRM_ENABLED; + context->obex_srm.srm_state = AVRCP_COVER_ART_SRM_ENABLED; break; } break; default: break; } - log_info("SRM state %u", context->srm_state); + log_info("SRM state %u", obex_srm->srm_state); } static void avrcp_cover_art_client_parser_callback_get_operation(void * user_data, uint8_t header_id, uint16_t total_len, uint16_t data_offset, const uint8_t * data_buffer, uint16_t data_len){ @@ -384,7 +384,7 @@ static void avrcp_cover_art_client_goep_data_handler(avrcp_cover_art_client_t * switch (op_info.response_code) { case OBEX_RESP_CONTINUE: avrcp_cover_art_client_handle_srm_headers(cover_art_client); - if (cover_art_client->srm_state == AVRCP_COVER_ART_SRM_ENABLED) { + if (cover_art_client->obex_srm.srm_state == AVRCP_COVER_ART_SRM_ENABLED) { // prepare response avrcp_cover_art_client_prepare_get_operation(cover_art_client); break; diff --git a/src/classic/avrcp_cover_art_client.h b/src/classic/avrcp_cover_art_client.h index 941815fc8..021b0e854 100644 --- a/src/classic/avrcp_cover_art_client.h +++ b/src/classic/avrcp_cover_art_client.h @@ -79,11 +79,6 @@ typedef enum { AVRCP_COVER_ART_W4_ABORT_COMPLETE, } avrcp_cover_art_state_t; -typedef struct { - uint8_t srm_value; - uint8_t srmp_value; -} avrcp_cover_art_obex_srm_t; - typedef enum { AVRCP_COVER_ART_SRM_DISABLED, AVRCP_COVER_ART_SRM_W4_CONFIRM, @@ -91,6 +86,13 @@ typedef enum { AVRCP_COVER_ART_SRM_ENABLED } avrcp_cover_art_srm_state_t; +typedef struct { + avrcp_cover_art_srm_state_t srm_state; + + uint8_t srm_value; + uint8_t srmp_value; +} avrcp_cover_art_obex_srm_t; + typedef struct { btstack_linked_item_t item; @@ -121,7 +123,6 @@ typedef struct { // obex srm avrcp_cover_art_obex_srm_t obex_srm; - avrcp_cover_art_srm_state_t srm_state; // request const char * object_type;