Remove const from NimBLEConnInfo references in callbacks.

The use of const is a unnecessary breaking change as there is nothing that can be changed in the class.
This commit is contained in:
h2zero 2024-08-11 16:14:55 -06:00
parent 2d3ff4922e
commit 031ba8f437
19 changed files with 113 additions and 112 deletions

View file

@ -6,6 +6,7 @@ on:
push: push:
branches: branches:
- master - master
- remove-conninfo-const
jobs: jobs:
build-esp-idf-component: build-esp-idf-component:

View file

@ -383,13 +383,13 @@ The security callback methods are now incorporated in the `NimBLEServerCallbacks
The callback methods are: The callback methods are:
> `bool onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pin)` > `bool onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pin)`
Receives the pin when using numeric comparison authentication. Receives the pin when using numeric comparison authentication.
Call `NimBLEDevice::injectConfirmPIN(connInfo, true);` to accept or `NimBLEDevice::injectConfirmPIN(connInfo, false);` to reject. Call `NimBLEDevice::injectConfirmPIN(connInfo, true);` to accept or `NimBLEDevice::injectConfirmPIN(connInfo, false);` to reject.
<br/> <br/>
> `void onPassKeyEntry(const NimBLEConnInfo& connInfo)` > `void onPassKeyEntry(NimBLEConnInfo& connInfo)`
Client callback; client should respond with the passkey (pin) by calling `NimBLEDevice::injectPassKey(connInfo, 123456);` Client callback; client should respond with the passkey (pin) by calling `NimBLEDevice::injectPassKey(connInfo, 123456);`
<br/> <br/>
@ -399,7 +399,7 @@ Client callback; client should respond with the passkey (pin) by calling `NimBLE
Server callback; should return the passkey (pin) expected from the client. Server callback; should return the passkey (pin) expected from the client.
<br/> <br/>
> `void onAuthenticationComplete(const NimBLEConnInfo& connInfo)` > `void onAuthenticationComplete(NimBLEConnInfo& connInfo)`
Authentication complete, success or failed information is available from the `NimBLEConnInfo` methods. Authentication complete, success or failed information is available from the `NimBLEConnInfo` methods.
<br/> <br/>

View file

@ -39,7 +39,7 @@ class ClientCallbacks : public NimBLEClientCallbacks {
/********************* Security handled here ********************** /********************* Security handled here **********************
****** Note: these are the same return values as defaults ********/ ****** Note: these are the same return values as defaults ********/
void onPassKeyEntry(const NimBLEConnInfo& connInfo){ void onPassKeyEntry(NimBLEConnInfo& connInfo){
printf("Server Passkey Entry\n"); printf("Server Passkey Entry\n");
/** This should prompt the user to enter the passkey displayed /** This should prompt the user to enter the passkey displayed
* on the peer device. * on the peer device.
@ -47,14 +47,14 @@ class ClientCallbacks : public NimBLEClientCallbacks {
NimBLEDevice::injectPassKey(connInfo, 123456); NimBLEDevice::injectPassKey(connInfo, 123456);
}; };
void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pass_key){ void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pass_key){
printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key); printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key);
/** Inject false if passkeys don't match. */ /** Inject false if passkeys don't match. */
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
}; };
/** Pairing process complete, we can check the results in connInfo */ /** Pairing process complete, we can check the results in connInfo */
void onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void onAuthenticationComplete(NimBLEConnInfo& connInfo){
if(!connInfo.isEncrypted()) { if(!connInfo.isEncrypted()) {
printf("Encrypt connection failed - disconnecting\n"); printf("Encrypt connection failed - disconnecting\n");
/** Find the client with the connection handle provided in desc */ /** Find the client with the connection handle provided in desc */

View file

@ -52,13 +52,13 @@ class ServerCallbacks: public NimBLEServerCallbacks {
return 123456; return 123456;
}; };
void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pass_key){ void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pass_key){
printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key); printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key);
/** Inject false if passkeys don't match. */ /** Inject false if passkeys don't match. */
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
}; };
void onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void onAuthenticationComplete(NimBLEConnInfo& connInfo){
/** Check that encryption was successful, if not we disconnect the client */ /** Check that encryption was successful, if not we disconnect the client */
if(!connInfo.isEncrypted()) { if(!connInfo.isEncrypted()) {
NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle()); NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle());

View file

@ -25,7 +25,7 @@ class ServerCallbacks : public NimBLEServerCallbacks {
} }
// Same as before but now includes the name parameter // Same as before but now includes the name parameter
void onAuthenticationComplete(const NimBLEConnInfo& connInfo, const std::string& name) override { void onAuthenticationComplete(NimBLEConnInfo& connInfo, const std::string& name) override {
if (!connInfo.isEncrypted()) { if (!connInfo.isEncrypted()) {
NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle()); NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle());
printf("Encrypt connection failed - disconnecting client\n"); printf("Encrypt connection failed - disconnecting client\n");

View file

@ -51,7 +51,7 @@ class MyClientCallback : public BLEClientCallbacks {
} }
/***************** New - Security handled here ******************** /***************** New - Security handled here ********************
****** Note: these are the same return values as defaults ********/ ****** Note: these are the same return values as defaults ********/
void onPassKeyEntry(const NimBLEConnInfo& connInfo){ void onPassKeyEntry(NimBLEConnInfo& connInfo){
printf("Server Passkey Entry\n"); printf("Server Passkey Entry\n");
/** This should prompt the user to enter the passkey displayed /** This should prompt the user to enter the passkey displayed
* on the peer device. * on the peer device.
@ -59,14 +59,14 @@ class MyClientCallback : public BLEClientCallbacks {
NimBLEDevice::injectPassKey(connInfo, 123456); NimBLEDevice::injectPassKey(connInfo, 123456);
}; };
void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pass_key){ void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pass_key){
printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key); printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key);
/** Inject false if passkeys don't match. */ /** Inject false if passkeys don't match. */
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
}; };
/** Pairing process complete, we can check the results in connInfo */ /** Pairing process complete, we can check the results in connInfo */
void onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void onAuthenticationComplete(NimBLEConnInfo& connInfo){
if(!connInfo.isEncrypted()) { if(!connInfo.isEncrypted()) {
printf("Encrypt connection failed - disconnecting\n"); printf("Encrypt connection failed - disconnecting\n");
/** Find the client with the connection handle provided in desc */ /** Find the client with the connection handle provided in desc */

View file

@ -65,13 +65,13 @@ class MyServerCallbacks: public BLEServerCallbacks {
return 123456; return 123456;
}; };
void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pass_key){ void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pass_key){
printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key); printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key);
/** Inject false if passkeys don't match. */ /** Inject false if passkeys don't match. */
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
}; };
void onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void onAuthenticationComplete(NimBLEConnInfo& connInfo){
/** Check that encryption was successful, if not we disconnect the client */ /** Check that encryption was successful, if not we disconnect the client */
if(!connInfo.isEncrypted()) { if(!connInfo.isEncrypted()) {
NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle()); NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle());

View file

@ -67,13 +67,13 @@ class MyServerCallbacks: public BLEServerCallbacks {
return 123456; return 123456;
}; };
void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pass_key){ void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pass_key){
printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key); printf("The passkey YES/NO number: %" PRIu32 "\n", pass_key);
/** Inject false if passkeys don't match. */ /** Inject false if passkeys don't match. */
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
}; };
void onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void onAuthenticationComplete(NimBLEConnInfo& connInfo){
/** Check that encryption was successful, if not we disconnect the client */ /** Check that encryption was successful, if not we disconnect the client */
if(!connInfo.isEncrypted()) { if(!connInfo.isEncrypted()) {
NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle()); NimBLEDevice::getServer()->disconnect(connInfo.getConnHandle());

View file

@ -203,7 +203,7 @@ size_t NimBLECharacteristic::getSubscribedCount() const {
* @brief Set the subscribe status for this characteristic.\n * @brief Set the subscribe status for this characteristic.\n
* This will maintain a vector of subscribed clients and their indicate/notify status. * This will maintain a vector of subscribed clients and their indicate/notify status.
*/ */
void NimBLECharacteristic::setSubscribe(const ble_gap_event* event, const NimBLEConnInfo& connInfo) { void NimBLECharacteristic::setSubscribe(const ble_gap_event* event, NimBLEConnInfo& connInfo) {
uint16_t subVal = 0; uint16_t subVal = 0;
if (event->subscribe.cur_notify > 0 && (m_properties & NIMBLE_PROPERTY::NOTIFY)) { if (event->subscribe.cur_notify > 0 && (m_properties & NIMBLE_PROPERTY::NOTIFY)) {
subVal |= NIMBLE_SUB_NOTIFY; subVal |= NIMBLE_SUB_NOTIFY;
@ -379,11 +379,11 @@ void NimBLECharacteristic::sendValue(const uint8_t* value, size_t length, bool i
NIMBLE_LOGD(LOG_TAG, "<< sendValue"); NIMBLE_LOGD(LOG_TAG, "<< sendValue");
} // sendValue } // sendValue
void NimBLECharacteristic::readEvent(const NimBLEConnInfo& connInfo) { void NimBLECharacteristic::readEvent(NimBLEConnInfo& connInfo) {
m_pCallbacks->onRead(this, connInfo); m_pCallbacks->onRead(this, connInfo);
} }
void NimBLECharacteristic::writeEvent(const uint8_t* val, uint16_t len, const NimBLEConnInfo& connInfo) { void NimBLECharacteristic::writeEvent(const uint8_t* val, uint16_t len, NimBLEConnInfo& connInfo) {
setValue(val, len); setValue(val, len);
m_pCallbacks->onWrite(this, connInfo); m_pCallbacks->onWrite(this, connInfo);
} }
@ -432,7 +432,7 @@ std::string NimBLECharacteristic::toString() const {
* @param [in] pCharacteristic The characteristic that is the source of the event. * @param [in] pCharacteristic The characteristic that is the source of the event.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
*/ */
void NimBLECharacteristicCallbacks::onRead(NimBLECharacteristic* pCharacteristic, const NimBLEConnInfo& connInfo) { void NimBLECharacteristicCallbacks::onRead(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo) {
NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onRead: default"); NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onRead: default");
} // onRead } // onRead
@ -441,7 +441,7 @@ void NimBLECharacteristicCallbacks::onRead(NimBLECharacteristic* pCharacteristic
* @param [in] pCharacteristic The characteristic that is the source of the event. * @param [in] pCharacteristic The characteristic that is the source of the event.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
*/ */
void NimBLECharacteristicCallbacks::onWrite(NimBLECharacteristic* pCharacteristic, const NimBLEConnInfo& connInfo) { void NimBLECharacteristicCallbacks::onWrite(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo) {
NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onWrite: default"); NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onWrite: default");
} // onWrite } // onWrite
@ -467,7 +467,7 @@ void NimBLECharacteristicCallbacks::onStatus(NimBLECharacteristic* pCharacterist
* * 3 = Notifications and Indications * * 3 = Notifications and Indications
*/ */
void NimBLECharacteristicCallbacks::onSubscribe(NimBLECharacteristic* pCharacteristic, void NimBLECharacteristicCallbacks::onSubscribe(NimBLECharacteristic* pCharacteristic,
const NimBLEConnInfo& connInfo, NimBLEConnInfo& connInfo,
uint16_t subValue) { uint16_t subValue) {
NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onSubscribe: default"); NIMBLE_LOGD("NimBLECharacteristicCallbacks", "onSubscribe: default");
} }

View file

@ -114,9 +114,9 @@ class NimBLECharacteristic : public NimBLELocalValueAttribute {
friend class NimBLEService; friend class NimBLEService;
void setService(NimBLEService* pService); void setService(NimBLEService* pService);
void setSubscribe(const ble_gap_event* event, const NimBLEConnInfo& connInfo); void setSubscribe(const ble_gap_event* event, NimBLEConnInfo& connInfo);
void readEvent(const NimBLEConnInfo& connInfo) override; void readEvent(NimBLEConnInfo& connInfo) override;
void writeEvent(const uint8_t* val, uint16_t len, const NimBLEConnInfo& connInfo) override; void writeEvent(const uint8_t* val, uint16_t len, NimBLEConnInfo& connInfo) override;
void sendValue(const uint8_t* value, void sendValue(const uint8_t* value,
size_t length, size_t length,
bool is_notification = true, bool is_notification = true,
@ -138,10 +138,10 @@ class NimBLECharacteristic : public NimBLELocalValueAttribute {
class NimBLECharacteristicCallbacks { class NimBLECharacteristicCallbacks {
public: public:
virtual ~NimBLECharacteristicCallbacks() {} virtual ~NimBLECharacteristicCallbacks() {}
virtual void onRead(NimBLECharacteristic* pCharacteristic, const NimBLEConnInfo& connInfo); virtual void onRead(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo);
virtual void onWrite(NimBLECharacteristic* pCharacteristic, const NimBLEConnInfo& connInfo); virtual void onWrite(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo);
virtual void onStatus(NimBLECharacteristic* pCharacteristic, int code); virtual void onStatus(NimBLECharacteristic* pCharacteristic, int code);
virtual void onSubscribe(NimBLECharacteristic* pCharacteristic, const NimBLEConnInfo& connInfo, uint16_t subValue); virtual void onSubscribe(NimBLECharacteristic* pCharacteristic, NimBLEConnInfo& connInfo, uint16_t subValue);
}; };
#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ #endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */

View file

@ -1327,20 +1327,20 @@ bool NimBLEClientCallbacks::onConnParamsUpdateRequest(NimBLEClient* pClient, con
return true; return true;
} }
void NimBLEClientCallbacks::onPassKeyEntry(const NimBLEConnInfo& connInfo){ void NimBLEClientCallbacks::onPassKeyEntry(NimBLEConnInfo& connInfo){
NIMBLE_LOGD("NimBLEClientCallbacks", "onPassKeyEntry: default: 123456"); NIMBLE_LOGD("NimBLEClientCallbacks", "onPassKeyEntry: default: 123456");
NimBLEDevice::injectPassKey(connInfo, 123456); NimBLEDevice::injectPassKey(connInfo, 123456);
} //onPassKeyEntry } //onPassKeyEntry
void NimBLEClientCallbacks::onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void NimBLEClientCallbacks::onAuthenticationComplete(NimBLEConnInfo& connInfo){
NIMBLE_LOGD("NimBLEClientCallbacks", "onAuthenticationComplete: default"); NIMBLE_LOGD("NimBLEClientCallbacks", "onAuthenticationComplete: default");
} }
void NimBLEClientCallbacks::onIdentity(const NimBLEConnInfo& connInfo){ void NimBLEClientCallbacks::onIdentity(NimBLEConnInfo& connInfo){
NIMBLE_LOGD("NimBLEClientCallbacks", "onIdentity: default"); NIMBLE_LOGD("NimBLEClientCallbacks", "onIdentity: default");
} // onIdentity } // onIdentity
void NimBLEClientCallbacks::onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pin){ void NimBLEClientCallbacks::onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pin){
NIMBLE_LOGD("NimBLEClientCallbacks", "onConfirmPIN: default: true"); NIMBLE_LOGD("NimBLEClientCallbacks", "onConfirmPIN: default: true");
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
} }

View file

@ -148,27 +148,27 @@ public:
* @brief Called when server requests a passkey for pairing. * @brief Called when server requests a passkey for pairing.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
*/ */
virtual void onPassKeyEntry(const NimBLEConnInfo& connInfo); virtual void onPassKeyEntry(NimBLEConnInfo& connInfo);
/** /**
* @brief Called when the pairing procedure is complete. * @brief Called when the pairing procedure is complete.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.\n * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.\n
* This can be used to check the status of the connection encryption/pairing. * This can be used to check the status of the connection encryption/pairing.
*/ */
virtual void onAuthenticationComplete(const NimBLEConnInfo& connInfo); virtual void onAuthenticationComplete(NimBLEConnInfo& connInfo);
/** /**
* @brief Called when using numeric comparision for pairing. * @brief Called when using numeric comparision for pairing.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
* @param [in] pin The pin to compare with the server. * @param [in] pin The pin to compare with the server.
*/ */
virtual void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pin); virtual void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pin);
/** /**
* @brief Called when the peer identity address is resolved. * @brief Called when the peer identity address is resolved.
* @param [in] connInfo A reference to a NimBLEConnInfo instance with information * @param [in] connInfo A reference to a NimBLEConnInfo instance with information
*/ */
virtual void onIdentity(const NimBLEConnInfo& connInfo); virtual void onIdentity(NimBLEConnInfo& connInfo);
}; };
#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */ #endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_CENTRAL */

View file

@ -118,11 +118,11 @@ std::string NimBLEDescriptor::toString() const {
return res; return res;
} // toString } // toString
void NimBLEDescriptor::readEvent(const NimBLEConnInfo& connInfo) { void NimBLEDescriptor::readEvent(NimBLEConnInfo& connInfo) {
m_pCallbacks->onRead(this, connInfo); m_pCallbacks->onRead(this, connInfo);
} // readEvent } // readEvent
void NimBLEDescriptor::writeEvent(const uint8_t* val, uint16_t len, const NimBLEConnInfo& connInfo) { void NimBLEDescriptor::writeEvent(const uint8_t* val, uint16_t len, NimBLEConnInfo& connInfo) {
setValue(val, len); setValue(val, len);
m_pCallbacks->onWrite(this, connInfo); m_pCallbacks->onWrite(this, connInfo);
} // writeEvent } // writeEvent
@ -132,7 +132,7 @@ void NimBLEDescriptor::writeEvent(const uint8_t* val, uint16_t len, const NimBLE
* @param [in] pDescriptor The descriptor that is the source of the event. * @param [in] pDescriptor The descriptor that is the source of the event.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
*/ */
void NimBLEDescriptorCallbacks::onRead(NimBLEDescriptor* pDescriptor, const NimBLEConnInfo& connInfo) { void NimBLEDescriptorCallbacks::onRead(NimBLEDescriptor* pDescriptor, NimBLEConnInfo& connInfo) {
NIMBLE_LOGD("NimBLEDescriptorCallbacks", "onRead: default"); NIMBLE_LOGD("NimBLEDescriptorCallbacks", "onRead: default");
} // onRead } // onRead
@ -141,7 +141,7 @@ void NimBLEDescriptorCallbacks::onRead(NimBLEDescriptor* pDescriptor, const NimB
* @param [in] pDescriptor The descriptor that is the source of the event. * @param [in] pDescriptor The descriptor that is the source of the event.
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
*/ */
void NimBLEDescriptorCallbacks::onWrite(NimBLEDescriptor* pDescriptor, const NimBLEConnInfo& connInfo) { void NimBLEDescriptorCallbacks::onWrite(NimBLEDescriptor* pDescriptor, NimBLEConnInfo& connInfo) {
NIMBLE_LOGD("NimBLEDescriptorCallbacks", "onWrite: default"); NIMBLE_LOGD("NimBLEDescriptorCallbacks", "onWrite: default");
} // onWrite } // onWrite

View file

@ -51,8 +51,8 @@ class NimBLEDescriptor : public NimBLELocalValueAttribute {
friend class NimBLEService; friend class NimBLEService;
void setCharacteristic(NimBLECharacteristic* pChar); void setCharacteristic(NimBLECharacteristic* pChar);
void readEvent(const NimBLEConnInfo& connInfo) override; void readEvent(NimBLEConnInfo& connInfo) override;
void writeEvent(const uint8_t* val, uint16_t len, const NimBLEConnInfo& connInfo) override; void writeEvent(const uint8_t* val, uint16_t len, NimBLEConnInfo& connInfo) override;
NimBLEDescriptorCallbacks* m_pCallbacks{nullptr}; NimBLEDescriptorCallbacks* m_pCallbacks{nullptr};
NimBLECharacteristic* m_pCharacteristic{nullptr}; NimBLECharacteristic* m_pCharacteristic{nullptr};
@ -68,8 +68,8 @@ class NimBLEDescriptor : public NimBLELocalValueAttribute {
class NimBLEDescriptorCallbacks { class NimBLEDescriptorCallbacks {
public: public:
virtual ~NimBLEDescriptorCallbacks() = default; virtual ~NimBLEDescriptorCallbacks() = default;
virtual void onRead(NimBLEDescriptor* pDescriptor, const NimBLEConnInfo& connInfo); virtual void onRead(NimBLEDescriptor* pDescriptor, NimBLEConnInfo& connInfo);
virtual void onWrite(NimBLEDescriptor* pDescriptor, const NimBLEConnInfo& connInfo); virtual void onWrite(NimBLEDescriptor* pDescriptor, NimBLEConnInfo& connInfo);
}; };
# include "NimBLE2904.h" # include "NimBLE2904.h"

View file

@ -1142,7 +1142,7 @@ int NimBLEDevice::startSecurity(uint16_t conn_id) {
* @param [in] pin The 6-digit pin to inject * @param [in] pin The 6-digit pin to inject
* @return true if the passkey was injected successfully. * @return true if the passkey was injected successfully.
*/ */
bool NimBLEDevice::injectPassKey(const NimBLEConnInfo& peerInfo, uint32_t pin) { bool NimBLEDevice::injectPassKey(NimBLEConnInfo& peerInfo, uint32_t pin) {
int rc = 0; int rc = 0;
struct ble_sm_io pkey = {0,0}; struct ble_sm_io pkey = {0,0};
@ -1160,7 +1160,7 @@ bool NimBLEDevice::injectPassKey(const NimBLEConnInfo& peerInfo, uint32_t pin) {
* @param [in] peerInfo Connection information for the peer * @param [in] peerInfo Connection information for the peer
* @param [in] accept Whether the user confirmed or declined the comparison * @param [in] accept Whether the user confirmed or declined the comparison
*/ */
bool NimBLEDevice::injectConfirmPIN(const NimBLEConnInfo& peerInfo, bool accept) { bool NimBLEDevice::injectConfirmPIN(NimBLEConnInfo& peerInfo, bool accept) {
int rc = 0; int rc = 0;
struct ble_sm_io pkey = {0,0}; struct ble_sm_io pkey = {0,0};

View file

@ -135,8 +135,8 @@ public:
static void setSecurityPasskey(uint32_t pin); static void setSecurityPasskey(uint32_t pin);
static uint32_t getSecurityPasskey(); static uint32_t getSecurityPasskey();
static int startSecurity(uint16_t conn_id); static int startSecurity(uint16_t conn_id);
static bool injectConfirmPIN(const NimBLEConnInfo& peerInfo, bool accept); static bool injectConfirmPIN(NimBLEConnInfo& peerInfo, bool accept);
static bool injectPassKey(const NimBLEConnInfo& peerInfo, uint32_t pin); static bool injectPassKey(NimBLEConnInfo& peerInfo, uint32_t pin);
static int setMTU(uint16_t mtu); static int setMTU(uint16_t mtu);
static uint16_t getMTU(); static uint16_t getMTU();
static bool isIgnored(const NimBLEAddress &address); static bool isIgnored(const NimBLEAddress &address);

View file

@ -124,7 +124,7 @@ class NimBLELocalValueAttribute : public NimBLELocalAttribute {
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
* @details This function is called by NimBLEServer when a read request is received. * @details This function is called by NimBLEServer when a read request is received.
*/ */
virtual void readEvent(const NimBLEConnInfo& connInfo) = 0; virtual void readEvent(NimBLEConnInfo& connInfo) = 0;
/** /**
* @brief Callback function to support a write request. * @brief Callback function to support a write request.
@ -133,7 +133,7 @@ class NimBLELocalValueAttribute : public NimBLELocalAttribute {
* @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info. * @param [in] connInfo A reference to a NimBLEConnInfo instance containing the peer info.
* @details This function is called by NimBLEServer when a write request is received. * @details This function is called by NimBLEServer when a write request is received.
*/ */
virtual void writeEvent(const uint8_t* val, uint16_t len, const NimBLEConnInfo& connInfo) = 0; virtual void writeEvent(const uint8_t* val, uint16_t len, NimBLEConnInfo& connInfo) = 0;
/** /**
* @brief Get a pointer to value of the attribute. * @brief Get a pointer to value of the attribute.

View file

@ -460,7 +460,7 @@ std::string NimBLEServer::getPeerNameInternal(uint16_t conn_handle, TaskHandle_t
* @returns A string containing the name. * @returns A string containing the name.
* @note This is a blocking call and should NOT be called from any callbacks! * @note This is a blocking call and should NOT be called from any callbacks!
*/ */
std::string NimBLEServer::getPeerName(const NimBLEConnInfo& connInfo) { std::string NimBLEServer::getPeerName(NimBLEConnInfo& connInfo) {
std::string name = getPeerNameInternal(connInfo.getConnHandle(), xTaskGetCurrentTaskHandle()); std::string name = getPeerNameInternal(connInfo.getConnHandle(), xTaskGetCurrentTaskHandle());
return name; return name;
} }
@ -1073,20 +1073,20 @@ uint32_t NimBLEServerCallbacks::onPassKeyDisplay(){
return 123456; return 123456;
} //onPassKeyDisplay } //onPassKeyDisplay
void NimBLEServerCallbacks::onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pin){ void NimBLEServerCallbacks::onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pin){
NIMBLE_LOGD("NimBLEServerCallbacks", "onConfirmPIN: default: true"); NIMBLE_LOGD("NimBLEServerCallbacks", "onConfirmPIN: default: true");
NimBLEDevice::injectConfirmPIN(connInfo, true); NimBLEDevice::injectConfirmPIN(connInfo, true);
} // onConfirmPIN } // onConfirmPIN
void NimBLEServerCallbacks::onIdentity(const NimBLEConnInfo& connInfo){ void NimBLEServerCallbacks::onIdentity(NimBLEConnInfo& connInfo){
NIMBLE_LOGD("NimBLEServerCallbacks", "onIdentity: default"); NIMBLE_LOGD("NimBLEServerCallbacks", "onIdentity: default");
} // onIdentity } // onIdentity
void NimBLEServerCallbacks::onAuthenticationComplete(const NimBLEConnInfo& connInfo){ void NimBLEServerCallbacks::onAuthenticationComplete(NimBLEConnInfo& connInfo){
NIMBLE_LOGD("NimBLEServerCallbacks", "onAuthenticationComplete: default"); NIMBLE_LOGD("NimBLEServerCallbacks", "onAuthenticationComplete: default");
} // onAuthenticationComplete } // onAuthenticationComplete
void NimBLEServerCallbacks::onAuthenticationComplete(const NimBLEConnInfo& connInfo, const std::string& name){ void NimBLEServerCallbacks::onAuthenticationComplete(NimBLEConnInfo& connInfo, const std::string& name){
NIMBLE_LOGD("NimBLEServerCallbacks", "onAuthenticationComplete: default"); NIMBLE_LOGD("NimBLEServerCallbacks", "onAuthenticationComplete: default");
} // onAuthenticationComplete } // onAuthenticationComplete

View file

@ -78,7 +78,7 @@ public:
NimBLEConnInfo getPeerInfo(size_t index); NimBLEConnInfo getPeerInfo(size_t index);
NimBLEConnInfo getPeerInfo(const NimBLEAddress& address); NimBLEConnInfo getPeerInfo(const NimBLEAddress& address);
NimBLEConnInfo getPeerIDInfo(uint16_t id); NimBLEConnInfo getPeerIDInfo(uint16_t id);
std::string getPeerName(const NimBLEConnInfo& connInfo); std::string getPeerName(NimBLEConnInfo& connInfo);
void getPeerNameOnConnect(bool enable); void getPeerNameOnConnect(bool enable);
#if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_) #if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_)
void advertiseOnDisconnect(bool); void advertiseOnDisconnect(bool);
@ -183,14 +183,14 @@ public:
* Should be passed back to NimBLEDevice::injectConfirmPIN * Should be passed back to NimBLEDevice::injectConfirmPIN
* @param [in] pin The pin to compare with the client. * @param [in] pin The pin to compare with the client.
*/ */
virtual void onConfirmPIN(const NimBLEConnInfo& connInfo, uint32_t pin); virtual void onConfirmPIN(NimBLEConnInfo& connInfo, uint32_t pin);
/** /**
* @brief Called when the pairing procedure is complete. * @brief Called when the pairing procedure is complete.
* @param [in] connInfo A reference to a NimBLEConnInfo instance with information * @param [in] connInfo A reference to a NimBLEConnInfo instance with information
* about the peer connection parameters. * about the peer connection parameters.
*/ */
virtual void onAuthenticationComplete(const NimBLEConnInfo& connInfo); virtual void onAuthenticationComplete(NimBLEConnInfo& connInfo);
/** /**
* @brief Called when the pairing procedure is complete. * @brief Called when the pairing procedure is complete.
@ -198,13 +198,13 @@ public:
* @param [in] name The name of the connected peer device. * @param [in] name The name of the connected peer device.
* about the peer connection parameters. * about the peer connection parameters.
*/ */
virtual void onAuthenticationComplete(const NimBLEConnInfo& connInfo, const std::string& name); virtual void onAuthenticationComplete(NimBLEConnInfo& connInfo, const std::string& name);
/** /**
* @brief Called when the peer identity address is resolved. * @brief Called when the peer identity address is resolved.
* @param [in] connInfo A reference to a NimBLEConnInfo instance with information * @param [in] connInfo A reference to a NimBLEConnInfo instance with information
*/ */
virtual void onIdentity(const NimBLEConnInfo& connInfo); virtual void onIdentity(NimBLEConnInfo& connInfo);
}; // NimBLEServerCallbacks }; // NimBLEServerCallbacks
#endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */ #endif /* CONFIG_BT_ENABLED && CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */