Skip to content

Commit 7dc77ed

Browse files
committed
Add overload for NimBLEAdvertising::setManufacturerData.
Adds an overload for `NimBLEAdvertising::setManufacturerData` that takes a `const uint8_t*` and , size_t` paramter.
1 parent 1ba4e9b commit 7dc77ed

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

src/NimBLEAdvertising.cpp

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,23 +151,29 @@ void NimBLEAdvertising::setName(const std::string& name) {
151151
/**
152152
* @brief Set the advertised manufacturer data.
153153
* @param [in] data The data to advertise.
154+
* @param [in] length The length of the data.
154155
*/
155-
void NimBLEAdvertising::setManufacturerData(const std::string& data) {
156-
std::vector<uint8_t>(data.begin(), data.end()).swap(m_mfgData);
156+
void NimBLEAdvertising::setManufacturerData(const uint8_t* data, size_t length) {
157+
std::vector<uint8_t>(data, data + length).swap(m_mfgData);
157158
m_advData.mfg_data = &m_mfgData[0];
158159
m_advData.mfg_data_len = m_mfgData.size();
159160
m_advDataSet = false;
160161
} // setManufacturerData
161162

163+
/**
164+
* @brief Set the advertised manufacturer data.
165+
* @param [in] data The data to advertise.
166+
*/
167+
void NimBLEAdvertising::setManufacturerData(const std::string& data) {
168+
setManufacturerData(reinterpret_cast<const uint8_t*>(data.data()), data.length());
169+
} // setManufacturerData
170+
162171
/**
163172
* @brief Set the advertised manufacturer data.
164173
* @param [in] data The data to advertise.
165174
*/
166175
void NimBLEAdvertising::setManufacturerData(const std::vector<uint8_t>& data) {
167-
std::vector<uint8_t>(data.begin(), data.end()).swap(m_mfgData);
168-
m_advData.mfg_data = &m_mfgData[0];
169-
m_advData.mfg_data_len = m_mfgData.size();
170-
m_advDataSet = false;
176+
setManufacturerData(&data[0], data.size());
171177
} // setManufacturerData
172178

173179
/**

src/NimBLEAdvertising.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ class NimBLEAdvertising {
9494
bool stop();
9595
void setAppearance(uint16_t appearance);
9696
void setName(const std::string& name);
97+
void setManufacturerData(const uint8_t* data, size_t length);
9798
void setManufacturerData(const std::string& data);
9899
void setManufacturerData(const std::vector<uint8_t>& data);
99100
void setURI(const std::string& uri);

0 commit comments

Comments
 (0)