mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-04-25 09:02:30 +00:00
pan, pbap_client, rfcomm: prefix globals, update deinit function
This commit is contained in:
parent
fb460ca00a
commit
41fcd84f30
@ -54,14 +54,14 @@
|
|||||||
#include "classic/sdp_util.h"
|
#include "classic/sdp_util.h"
|
||||||
#include "l2cap.h"
|
#include "l2cap.h"
|
||||||
|
|
||||||
static const char default_panu_service_name[] = "Personal Ad-hoc User Service";
|
static const char pan_default_panu_service_name[] = "Personal Ad-hoc User Service";
|
||||||
static const char default_panu_service_desc[] = "Personal Ad-hoc User Service";
|
static const char pan_default_panu_service_desc[] = "Personal Ad-hoc User Service";
|
||||||
|
|
||||||
static const char default_nap_service_name[] = "Network Access Point Service";
|
static const char pan_default_nap_service_name[] = "Network Access Point Service";
|
||||||
static const char default_nap_service_desc[] = "Personal Ad-hoc Network Service which provides access to a network";
|
static const char pan_default_nap_service_desc[] = "Personal Ad-hoc Network Service which provides access to a network";
|
||||||
|
|
||||||
static const char default_gn_service_name[] = "Group Ad-hoc Network Service";
|
static const char pan_default_gn_service_name[] = "Group Ad-hoc Network Service";
|
||||||
static const char default_gn_service_desc[] = "Personal Group Ad-hoc Network Service";
|
static const char pan_default_gn_service_desc[] = "Personal Group Ad-hoc Network Service";
|
||||||
|
|
||||||
static void pan_create_service(uint8_t *service, uint32_t service_record_handle,
|
static void pan_create_service(uint8_t *service, uint32_t service_record_handle,
|
||||||
uint32_t service_uuid, uint16_t * network_packet_types, const char *name, const char *descriptor,
|
uint32_t service_uuid, uint16_t * network_packet_types, const char *name, const char *descriptor,
|
||||||
@ -156,13 +156,13 @@ static void pan_create_service(uint8_t *service, uint32_t service_record_handle,
|
|||||||
} else {
|
} else {
|
||||||
switch (service_uuid){
|
switch (service_uuid){
|
||||||
case BLUETOOTH_SERVICE_CLASS_PANU:
|
case BLUETOOTH_SERVICE_CLASS_PANU:
|
||||||
de_add_data(service, DE_STRING, strlen(default_panu_service_name), (uint8_t *) default_panu_service_name);
|
de_add_data(service, DE_STRING, strlen(pan_default_panu_service_name), (uint8_t *) pan_default_panu_service_name);
|
||||||
break;
|
break;
|
||||||
case BLUETOOTH_SERVICE_CLASS_NAP:
|
case BLUETOOTH_SERVICE_CLASS_NAP:
|
||||||
de_add_data(service, DE_STRING, strlen(default_nap_service_name), (uint8_t *) default_nap_service_name);
|
de_add_data(service, DE_STRING, strlen(pan_default_nap_service_name), (uint8_t *) pan_default_nap_service_name);
|
||||||
break;
|
break;
|
||||||
case BLUETOOTH_SERVICE_CLASS_GN:
|
case BLUETOOTH_SERVICE_CLASS_GN:
|
||||||
de_add_data(service, DE_STRING, strlen(default_gn_service_name), (uint8_t *) default_gn_service_name);
|
de_add_data(service, DE_STRING, strlen(pan_default_gn_service_name), (uint8_t *) pan_default_gn_service_name);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -176,13 +176,13 @@ static void pan_create_service(uint8_t *service, uint32_t service_record_handle,
|
|||||||
} else {
|
} else {
|
||||||
switch (service_uuid){
|
switch (service_uuid){
|
||||||
case BLUETOOTH_SERVICE_CLASS_PANU:
|
case BLUETOOTH_SERVICE_CLASS_PANU:
|
||||||
de_add_data(service, DE_STRING, strlen(default_panu_service_desc), (uint8_t *) default_panu_service_desc);
|
de_add_data(service, DE_STRING, strlen(pan_default_panu_service_desc), (uint8_t *) pan_default_panu_service_desc);
|
||||||
break;
|
break;
|
||||||
case BLUETOOTH_SERVICE_CLASS_NAP:
|
case BLUETOOTH_SERVICE_CLASS_NAP:
|
||||||
de_add_data(service, DE_STRING, strlen(default_nap_service_desc), (uint8_t *) default_nap_service_desc);
|
de_add_data(service, DE_STRING, strlen(pan_default_nap_service_desc), (uint8_t *) pan_default_nap_service_desc);
|
||||||
break;
|
break;
|
||||||
case BLUETOOTH_SERVICE_CLASS_GN:
|
case BLUETOOTH_SERVICE_CLASS_GN:
|
||||||
de_add_data(service, DE_STRING, strlen(default_gn_service_desc), (uint8_t *) default_gn_service_desc);
|
de_add_data(service, DE_STRING, strlen(pan_default_gn_service_desc), (uint8_t *) pan_default_gn_service_desc);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -69,18 +69,6 @@ const char * pbap_vcard_entry_type = "x-bt/vcard";
|
|||||||
|
|
||||||
const char * pbap_vcard_listing_name = "pb";
|
const char * pbap_vcard_listing_name = "pb";
|
||||||
|
|
||||||
static uint32_t pbap_supported_features = \
|
|
||||||
PBAP_SUPPORTED_FEATURES_DOWNLOAD |
|
|
||||||
PBAP_SUPPORTED_FEATURES_BROWSING |
|
|
||||||
PBAP_SUPPORTED_FEATURES_DATABASE_IDENTIFIER |
|
|
||||||
PBAP_SUPPORTED_FEATURES_FOLDER_VERSION_COUNTERS |
|
|
||||||
PBAP_SUPPORTED_FEATURES_VCARD_SELECTING |
|
|
||||||
PBAP_SUPPORTED_FEATURES_ENHANCED_MISSED_CALLS |
|
|
||||||
PBAP_SUPPORTED_FEATURES_DEFAULT_CONTACT_IMAGE_FORMAT |
|
|
||||||
PBAP_SUPPORTED_FEATURES_X_BT_UCI_VCARD_PROPERTY |
|
|
||||||
PBAP_SUPPORTED_FEATURES_X_BT_UID_VCARD_PROPERTY |
|
|
||||||
PBAP_SUPPORTED_FEATURES_CONTACT_REFERENCING;
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PBAP_INIT = 0,
|
PBAP_INIT = 0,
|
||||||
PBAP_W4_GOEP_CONNECTION,
|
PBAP_W4_GOEP_CONNECTION,
|
||||||
@ -157,8 +145,10 @@ typedef struct pbap_client {
|
|||||||
uint8_t flow_next_triggered;
|
uint8_t flow_next_triggered;
|
||||||
} pbap_client_t;
|
} pbap_client_t;
|
||||||
|
|
||||||
static pbap_client_t _pbap_client;
|
static uint32_t pbap_client_supported_features;
|
||||||
static pbap_client_t * pbap_client = &_pbap_client;
|
|
||||||
|
static pbap_client_t pbap_client_singleton;
|
||||||
|
static pbap_client_t * pbap_client = &pbap_client_singleton;
|
||||||
|
|
||||||
static void pbap_client_emit_connected_event(pbap_client_t * context, uint8_t status){
|
static void pbap_client_emit_connected_event(pbap_client_t * context, uint8_t status){
|
||||||
uint8_t event[15];
|
uint8_t event[15];
|
||||||
@ -296,7 +286,7 @@ static void pbap_handle_can_send_now(void){
|
|||||||
if (goep_client_get_pbap_supported_features(pbap_client->goep_cid) != PBAP_FEATURES_NOT_PRESENT){
|
if (goep_client_get_pbap_supported_features(pbap_client->goep_cid) != PBAP_FEATURES_NOT_PRESENT){
|
||||||
application_parameters[0] = PBAP_APPLICATION_PARAMETER_PBAP_SUPPORTED_FEATURES;
|
application_parameters[0] = PBAP_APPLICATION_PARAMETER_PBAP_SUPPORTED_FEATURES;
|
||||||
application_parameters[1] = 4;
|
application_parameters[1] = 4;
|
||||||
big_endian_store_32(application_parameters, 2, pbap_supported_features);
|
big_endian_store_32(application_parameters, 2, pbap_client_supported_features);
|
||||||
goep_client_header_add_application_parameters(pbap_client->goep_cid, &application_parameters[0], 6);
|
goep_client_header_add_application_parameters(pbap_client->goep_cid, &application_parameters[0], 6);
|
||||||
}
|
}
|
||||||
pbap_client->state = PBAP_W4_CONNECT_RESPONSE;
|
pbap_client->state = PBAP_W4_CONNECT_RESPONSE;
|
||||||
@ -716,7 +706,7 @@ static void pbap_packet_handler_goep(uint8_t *packet, uint16_t size){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pbap_client->state = PBAP_CONNECTED;
|
pbap_client->state = PBAP_CONNECTED;
|
||||||
pbap_client->vcard_selector_supported = pbap_supported_features & goep_client_get_pbap_supported_features(pbap_client->goep_cid) & PBAP_SUPPORTED_FEATURES_VCARD_SELECTING;
|
pbap_client->vcard_selector_supported = pbap_client_supported_features & goep_client_get_pbap_supported_features(pbap_client->goep_cid) & PBAP_SUPPORTED_FEATURES_VCARD_SELECTING;
|
||||||
pbap_client_emit_connected_event(pbap_client, 0);
|
pbap_client_emit_connected_event(pbap_client, 0);
|
||||||
break;
|
break;
|
||||||
case OBEX_RESP_UNAUTHORIZED:
|
case OBEX_RESP_UNAUTHORIZED:
|
||||||
@ -915,13 +905,29 @@ static void pbap_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pbap_client_init(void){
|
static void pbap_client_reset_state(void) {
|
||||||
memset(pbap_client, 0, sizeof(pbap_client_t));
|
pbap_client_supported_features =
|
||||||
|
PBAP_SUPPORTED_FEATURES_DOWNLOAD |
|
||||||
|
PBAP_SUPPORTED_FEATURES_BROWSING |
|
||||||
|
PBAP_SUPPORTED_FEATURES_DATABASE_IDENTIFIER |
|
||||||
|
PBAP_SUPPORTED_FEATURES_FOLDER_VERSION_COUNTERS |
|
||||||
|
PBAP_SUPPORTED_FEATURES_VCARD_SELECTING |
|
||||||
|
PBAP_SUPPORTED_FEATURES_ENHANCED_MISSED_CALLS |
|
||||||
|
PBAP_SUPPORTED_FEATURES_DEFAULT_CONTACT_IMAGE_FORMAT |
|
||||||
|
PBAP_SUPPORTED_FEATURES_X_BT_UCI_VCARD_PROPERTY |
|
||||||
|
PBAP_SUPPORTED_FEATURES_X_BT_UID_VCARD_PROPERTY |
|
||||||
|
PBAP_SUPPORTED_FEATURES_CONTACT_REFERENCING;
|
||||||
pbap_client->state = PBAP_INIT;
|
pbap_client->state = PBAP_INIT;
|
||||||
pbap_client->cid = 1;
|
pbap_client->cid = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void pbap_client_init(void){
|
||||||
|
pbap_client_reset_state();
|
||||||
|
}
|
||||||
|
|
||||||
void pbap_client_deinit(void){
|
void pbap_client_deinit(void){
|
||||||
|
pbap_client_reset_state();
|
||||||
|
memset(pbap_client, 0, sizeof(pbap_client_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t pbap_connect(btstack_packet_handler_t handler, bd_addr_t addr, uint16_t * out_cid){
|
uint8_t pbap_connect(btstack_packet_handler_t handler, bd_addr_t addr, uint16_t * out_cid){
|
||||||
|
@ -2188,10 +2188,6 @@ static void rfcomm_channel_state_machine_with_channel(rfcomm_channel_t *channel,
|
|||||||
// MARK: RFCOMM BTstack API
|
// MARK: RFCOMM BTstack API
|
||||||
|
|
||||||
void rfcomm_init(void){
|
void rfcomm_init(void){
|
||||||
rfcomm_client_cid_generator = 0;
|
|
||||||
rfcomm_multiplexers = NULL;
|
|
||||||
rfcomm_services = NULL;
|
|
||||||
rfcomm_channels = NULL;
|
|
||||||
rfcomm_security_level = gap_get_security_level();
|
rfcomm_security_level = gap_get_security_level();
|
||||||
#ifdef RFCOMM_USE_ERTM
|
#ifdef RFCOMM_USE_ERTM
|
||||||
rfcomm_ertm_id = 0;
|
rfcomm_ertm_id = 0;
|
||||||
@ -2199,6 +2195,10 @@ void rfcomm_init(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void rfcomm_deinit(void){
|
void rfcomm_deinit(void){
|
||||||
|
rfcomm_client_cid_generator = 0;
|
||||||
|
rfcomm_multiplexers = NULL;
|
||||||
|
rfcomm_services = NULL;
|
||||||
|
rfcomm_channels = NULL;
|
||||||
#ifdef RFCOMM_USE_ERTM
|
#ifdef RFCOMM_USE_ERTM
|
||||||
rfcomm_ertm_request_callback = NULL;
|
rfcomm_ertm_request_callback = NULL;
|
||||||
rfcomm_ertm_released_callback = NULL;
|
rfcomm_ertm_released_callback = NULL;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user