From e9b53984328277dfb61524f580b1fe0bdf4aa5e4 Mon Sep 17 00:00:00 2001 From: Matthias Ringwald Date: Wed, 22 Aug 2018 15:07:37 +0200 Subject: [PATCH] daemon: use btstack_link_key_db_tlv for all targets --- platform/daemon/src/daemon.c | 17 +++++------------ port/daemon/configure.ac | 12 +++--------- port/daemon/src/Makefile.in | 1 + 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/platform/daemon/src/daemon.c b/platform/daemon/src/daemon.c index 4cd947c79..188d1c647 100644 --- a/platform/daemon/src/daemon.c +++ b/platform/daemon/src/daemon.c @@ -77,6 +77,7 @@ #else #include "btstack_run_loop_posix.h" #endif + #include "btstack_version.h" #include "classic/btstack_link_key_db.h" #include "classic/btstack_link_key_db_tlv.h" @@ -1467,6 +1468,7 @@ static void daemon_packet_handler(void * connection, uint8_t packet_type, uint16 case BTSTACK_EVENT_STATE: if (btstack_event_state_get_state(packet) != HCI_STATE_WORKING) break; if (tlv_setup_done) break; + // setup TLV using local address as part of the name gap_local_bd_addr(addr); log_info("BTstack up and running at %s", bd_addr_to_str(addr)); @@ -1474,11 +1476,9 @@ static void daemon_packet_handler(void * connection, uint8_t packet_type, uint16 tlv_impl = btstack_tlv_posix_init_instance(&tlv_context, string_buffer); btstack_tlv_set_instance(tlv_impl, &tlv_context); - // setup link key db as well, if not done already (a big ugly, but will be evaluated at compile time) - if ((void *)&BTSTACK_LINK_KEY_DB_INSTANCE == (void *)&btstack_link_key_db_tlv_get_instance){ - hci_set_link_key_db(btstack_link_key_db_tlv_get_instance(tlv_impl, &tlv_context)); - } - + // setup link key db + hci_set_link_key_db(btstack_link_key_db_tlv_get_instance(tlv_impl, &tlv_context)); + // init le device db to use TLV le_device_db_tlv_configure(tlv_impl, &tlv_context); le_device_db_init(); @@ -1958,13 +1958,6 @@ int btstack_server_run(int tcp_flag){ platform_iphone_register_preferences_changed(preferences_changed_callback); #endif -#ifdef BTSTACK_LINK_KEY_DB_INSTANCE - // setup link key db, if not done already (a big ugly, but will be evaluated at compile time) - if ((void *)&BTSTACK_LINK_KEY_DB_INSTANCE != (void *)&btstack_link_key_db_tlv_get_instance){ - btstack_link_key_db = BTSTACK_LINK_KEY_DB_INSTANCE(); - } -#endif - #ifdef BTSTACK_DEVICE_NAME_DB_INSTANCE btstack_device_name_db = BTSTACK_DEVICE_NAME_DB_INSTANCE(); #endif diff --git a/port/daemon/configure.ac b/port/daemon/configure.ac index 9e2957df9..88988e498 100644 --- a/port/daemon/configure.ac +++ b/port/daemon/configure.ac @@ -37,8 +37,7 @@ case "$host_os" in LDFLAGS+="-framework CoreFoundation -framework Foundation" BTSTACK_LIB_LDFLAGS="-dynamiclib -install_name \$(prefix)/lib/libBTstack.dylib" BTSTACK_LIB_EXTENSION="dylib" - REMOTE_DEVICE_DB_SOURCES="btstack_link_key_db_corefoundation.m btstack_device_name_db_corefoundation.m rfcomm_service_db_corefoundation.m" - BTSTACK_LINK_KEY_DB_INSTANCE="btstack_link_key_db_corefoundation_instance" + REMOTE_DEVICE_DB_SOURCES="btstack_device_name_db_corefoundation.m rfcomm_service_db_corefoundation.m" BTSTACK_DEVICE_NAME_DB_INSTANCE="btstack_device_name_db_corefoundation_instance" UNIX_SOCKETS=yes HCI_USB_LIB=libusb @@ -50,8 +49,7 @@ case "$host_os" in LDFLAGS+="-lws2_32" BTSTACK_LIB_LDFLAGS="-shared" BTSTACK_LIB_EXTENSION="dll" - REMOTE_DEVICE_DB_SOURCES="btstack_link_key_db_tlv.c rfcomm_service_db_memory.c" - BTSTACK_LINK_KEY_DB_INSTANCE="btstack_link_key_db_tlv_instance" + REMOTE_DEVICE_DB_SOURCES="rfcomm_service_db_memory.c" # BTSTACK_DEVICE_NAME_DB_INSTANCE="btstack_device_name_db_memory_instance" UNIX_SOCKETS=no HCI_USB_LIB=winusb @@ -61,8 +59,7 @@ case "$host_os" in btstack_run_loop_SOURCES="btstack_run_loop_posix.c" BTSTACK_LIB_LDFLAGS="-shared -Wl,-rpath,\$(prefix)/lib" BTSTACK_LIB_EXTENSION="so" - REMOTE_DEVICE_DB_SOURCES="btstack_link_key_db_tlv.c rfcomm_service_db_memory.c" - BTSTACK_LINK_KEY_DB_INSTANCE="btstack_link_key_db_tlv_get_instance" + REMOTE_DEVICE_DB_SOURCES="rfcomm_service_db_memory.c" # BTSTACK_DEVICE_NAME_DB_INSTANCE="btstack_device_name_db_fs_instance" UNIX_SOCKETS=yes HCI_USB_LIB=libusb @@ -183,9 +180,6 @@ else echo "#define UART_DEVICE \"$UART_DEVICE\"" >> btstack_config.h echo "#define UART_SPEED $UART_SPEED" >> btstack_config.h fi -if test ! -z "$BTSTACK_LINK_KEY_DB_INSTANCE" ; then - echo "#define BTSTACK_LINK_KEY_DB_INSTANCE $BTSTACK_LINK_KEY_DB_INSTANCE" >> btstack_config.h -fi if test ! -z "$BTSTACK_DEVICE_NAME_DB_INSTANCE" ; then echo "#define BTSTACK_DEVICE_NAME_DB_INSTANCE $BTSTACK_DEVICE_NAME_DB_INSTANCE" >> btstack_config.h fi diff --git a/port/daemon/src/Makefile.in b/port/daemon/src/Makefile.in index 6423506af..3c6393fa7 100644 --- a/port/daemon/src/Makefile.in +++ b/port/daemon/src/Makefile.in @@ -57,6 +57,7 @@ BTdaemon_SOURCES = \ btstack_memory_pool.c \ btstack_tlv.c \ btstack_tlv_posix.c \ + btstack_link_key_db_tlv.c \ daemon.c \ gatt_client.c \ hci.c \