@@ -155,23 +155,29 @@ void NimBLEAdvertising::setName(const std::string& name) {
155155/* *
156156 * @brief Set the advertised manufacturer data.
157157 * @param [in] data The data to advertise.
158+ * @param [in] length The length of the data.
158159 */
159- void NimBLEAdvertising::setManufacturerData (const std::string& data) {
160- std::vector<uint8_t >(data. begin () , data. end () ).swap (m_mfgData);
160+ void NimBLEAdvertising::setManufacturerData (const uint8_t * data, size_t length ) {
161+ std::vector<uint8_t >(data, data + length ).swap (m_mfgData);
161162 m_advData.mfg_data = &m_mfgData[0 ];
162163 m_advData.mfg_data_len = m_mfgData.size ();
163164 m_advDataSet = false ;
164165} // setManufacturerData
165166
167+ /* *
168+ * @brief Set the advertised manufacturer data.
169+ * @param [in] data The data to advertise.
170+ */
171+ void NimBLEAdvertising::setManufacturerData (const std::string& data) {
172+ setManufacturerData (reinterpret_cast <const uint8_t *>(data.data ()), data.length ());
173+ } // setManufacturerData
174+
166175/* *
167176 * @brief Set the advertised manufacturer data.
168177 * @param [in] data The data to advertise.
169178 */
170179void NimBLEAdvertising::setManufacturerData (const std::vector<uint8_t >& data) {
171- std::vector<uint8_t >(data.begin (), data.end ()).swap (m_mfgData);
172- m_advData.mfg_data = &m_mfgData[0 ];
173- m_advData.mfg_data_len = m_mfgData.size ();
174- m_advDataSet = false ;
180+ setManufacturerData (&data[0 ], data.size ());
175181} // setManufacturerData
176182
177183/* *
0 commit comments