This commit is contained in:
h2zero
2025-05-19 23:04:49 +00:00
parent c28bba83ab
commit e1905fcde5
196 changed files with 3206 additions and 1577 deletions

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -236,7 +236,7 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_advertising_8h_source.html'
<div class="ttc" id="aclass_nim_b_l_e_advertising_html_ae0e7d64d51882830750bcb87e2d9678c"><div class="ttname"><a href="class_nim_b_l_e_advertising.html#ae0e7d64d51882830750bcb87e2d9678c">NimBLEAdvertising::getScanData</a></div><div class="ttdeci">const NimBLEAdvertisementData &amp; getScanData()</div><div class="ttdoc">Get the current scan response data.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertising.cpp:375</div></div>
<div class="ttc" id="aclass_nim_b_l_e_advertising_html_ae49d2bd91cabca46ec7c4bbd7fc49407"><div class="ttname"><a href="class_nim_b_l_e_advertising.html#ae49d2bd91cabca46ec7c4bbd7fc49407">NimBLEAdvertising::setConnectableMode</a></div><div class="ttdeci">bool setConnectableMode(uint8_t mode)</div><div class="ttdoc">Set the type of connectable mode to advertise.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertising.cpp:77</div></div>
<div class="ttc" id="aclass_nim_b_l_e_advertising_html_af7cee42f24ad38872936a0bbc9e2ac1e"><div class="ttname"><a href="class_nim_b_l_e_advertising.html#af7cee42f24ad38872936a0bbc9e2ac1e">NimBLEAdvertising::clearData</a></div><div class="ttdeci">void clearData()</div><div class="ttdoc">Clear the advertisement and scan response data and set the flags to BLE_HS_ADV_F_DISC_GEN.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertising.cpp:382</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:117</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html"><div class="ttname"><a href="class_nim_b_l_e_server.html">NimBLEServer</a></div><div class="ttdoc">The model of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:60</div></div>
<div class="ttc" id="aclass_nim_b_l_e_u_u_i_d_html"><div class="ttname"><a href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a></div><div class="ttdoc">A model of a BLE UUID.</div><div class="ttdef"><b>Definition</b> NimBLEUUID.h:41</div></div>
<div class="ttc" id="animconfig_8h_html"><div class="ttname"><a href="nimconfig_8h.html">nimconfig.h</a></div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -315,17 +315,17 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_att_value_8h_source.html','
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="foldopen" id="foldopen00307" data-start="{" data-end="}">
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_att_value.html#ab16b9901e6ff9374c7d2e1afa5aa4671"> 307</a></span> T <a class="code hl_function" href="class_nim_b_l_e_att_value.html#ab16b9901e6ff9374c7d2e1afa5aa4671">getValue</a>(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (!skipSizeCheck &amp;&amp; <a class="code hl_function" href="class_nim_b_l_e_att_value.html#aa8c75101d9898c3ff4646d84521ed61c">size</a>() &lt; <span class="keyword">sizeof</span>(T)) {</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> <span class="keywordflow">return</span> T();</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> }</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> <span class="keywordflow">if</span> (timestamp != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="preprocessor"># if CONFIG_NIMBLE_CPP_ATT_VALUE_TIMESTAMP_ENABLED</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> *timestamp = m_timestamp;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> *timestamp = 0;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> }</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="keywordflow">if</span> (timestamp != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="preprocessor"># if CONFIG_NIMBLE_CPP_ATT_VALUE_TIMESTAMP_ENABLED</span></div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> *timestamp = m_timestamp;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> *timestamp = 0;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> }</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> </div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> <span class="keywordflow">if</span> (!skipSizeCheck &amp;&amp; <a class="code hl_function" href="class_nim_b_l_e_att_value.html#aa8c75101d9898c3ff4646d84521ed61c">size</a>() &lt; <span class="keyword">sizeof</span>(T)) {</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <span class="keywordflow">return</span> T();</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> }</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> <span class="keywordflow">return</span> *(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>T*<span class="keyword">&gt;</span>(m_attr_value));</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> }</div>
</div>
@ -383,10 +383,10 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_att_value_8h_source.html','
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a7473ad95c2240e0d1ce5c2d57f8914c2"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a7473ad95c2240e0d1ce5c2d57f8914c2">NimBLEAttValue::NimBLEAttValue</a></div><div class="ttdeci">NimBLEAttValue(const NimBLEAttValue &amp;source)</div><div class="ttdoc">Copy constructor.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:140</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a778d1da5334049292fdfba221bcd5772"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a778d1da5334049292fdfba221bcd5772">NimBLEAttValue::NimBLEAttValue</a></div><div class="ttdeci">NimBLEAttValue(NimBLEAttValue &amp;&amp;source)</div><div class="ttdoc">Move constructor.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:143</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a86acbb5ab3a35b3d5692c2e05fdccadd"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a86acbb5ab3a35b3d5692c2e05fdccadd">NimBLEAttValue::data</a></div><div class="ttdeci">const uint8_t * data() const</div><div class="ttdoc">Returns a pointer to the internal buffer of the value.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:161</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a8ca8d07c06a79e30bf6279e6817e4881"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a8ca8d07c06a79e30bf6279e6817e4881">NimBLEAttValue::operator[]</a></div><div class="ttdeci">uint8_t operator[](int pos) const</div><div class="ttdoc">Subscript operator.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.cpp:153</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a8ca8d07c06a79e30bf6279e6817e4881"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a8ca8d07c06a79e30bf6279e6817e4881">NimBLEAttValue::operator[]</a></div><div class="ttdeci">uint8_t operator[](int pos) const</div><div class="ttdoc">Subscript operator.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.cpp:154</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a91cbe0ba44781943390a80514383ee58"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a91cbe0ba44781943390a80514383ee58">NimBLEAttValue::end</a></div><div class="ttdeci">const uint8_t * end() const</div><div class="ttdoc">Iterator end.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:170</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a98da1765d9cfd2d93cdac2fb7a108a79"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a98da1765d9cfd2d93cdac2fb7a108a79">NimBLEAttValue::setValue</a></div><div class="ttdeci">bool setValue(const T &amp;v)</div><div class="ttdoc">Template to set value to the value of &lt;type&gt;val.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:244</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_aa217dfc649daed50eb75c7168442f86e"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#aa217dfc649daed50eb75c7168442f86e">NimBLEAttValue::append</a></div><div class="ttdeci">NimBLEAttValue &amp; append(const uint8_t *value, uint16_t len)</div><div class="ttdoc">Append data to the value.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.cpp:114</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_aa217dfc649daed50eb75c7168442f86e"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#aa217dfc649daed50eb75c7168442f86e">NimBLEAttValue::append</a></div><div class="ttdeci">NimBLEAttValue &amp; append(const uint8_t *value, uint16_t len)</div><div class="ttdoc">Append data to the value.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.cpp:115</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_aa8c75101d9898c3ff4646d84521ed61c"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#aa8c75101d9898c3ff4646d84521ed61c">NimBLEAttValue::size</a></div><div class="ttdeci">uint16_t size() const</div><div class="ttdoc">Returns the current size of the value in bytes.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:158</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_aade512f55c6f962941aee7078677356b"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#aade512f55c6f962941aee7078677356b">NimBLEAttValue::setValue</a></div><div class="ttdeci">bool setValue(const char *s, uint16_t len=0)</div><div class="ttdoc">Set value to the value of const char*.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:203</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_ab16b9901e6ff9374c7d2e1afa5aa4671"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#ab16b9901e6ff9374c7d2e1afa5aa4671">NimBLEAttValue::getValue</a></div><div class="ttdeci">T getValue(time_t *timestamp=nullptr, bool skipSizeCheck=false) const</div><div class="ttdoc">Template to return the value as a &lt;type&gt;.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:307</div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -175,157 +175,161 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_characteristic_8h_source.ht
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00092" data-start="{" data-end="}">
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954"> 92</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">notify</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(T), connHandle);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !std::is_array&lt;T&gt;::value &amp;&amp; !Has_c_str_length&lt;T&gt;::value &amp;&amp;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> !Has_data_size&lt;T&gt;::value,</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00094" data-start="{" data-end="}">
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954"> 94</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">notify</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(T), connHandle);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">typename</span> std::enable_if&lt;Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00107" data-start="{" data-end="}">
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28"> 107</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28">notify</a>(<span class="keyword">const</span> T&amp; s, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(s.c_str()), s.length(), connHandle);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">typename</span> std::enable_if&lt;Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00109" data-start="{" data-end="}">
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28"> 109</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28">notify</a>(<span class="keyword">const</span> T&amp; s, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(s.c_str()), s.length(), connHandle);</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> }</div>
</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">typename</span> std::enable_if&lt;Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00122" data-start="{" data-end="}">
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954"> 122</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">notify</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), connHandle);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">typename</span> std::enable_if&lt;Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00124" data-start="{" data-end="}">
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954"> 124</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">notify</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), connHandle);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00138" data-start="{" data-end="}">
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31"> 138</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">indicate</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(T), connHandle);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> }</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !std::is_array&lt;T&gt;::value &amp;&amp; !Has_c_str_length&lt;T&gt;::value &amp;&amp;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> !Has_data_size&lt;T&gt;::value,</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00142" data-start="{" data-end="}">
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31"> 142</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">indicate</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(T), connHandle);</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> }</div>
</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">typename</span> std::enable_if&lt;Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00153" data-start="{" data-end="}">
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b"> 153</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b">indicate</a>(<span class="keyword">const</span> T&amp; s, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(s.c_str()), s.length(), connHandle);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> }</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">typename</span> std::enable_if&lt;Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00157" data-start="{" data-end="}">
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b"> 157</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b">indicate</a>(<span class="keyword">const</span> T&amp; s, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(s.c_str()), s.length(), connHandle);</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> }</div>
</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">typename</span> std::enable_if&lt;Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00168" data-start="{" data-end="}">
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31"> 168</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">indicate</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), connHandle);</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> }</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">typename</span> std::enable_if&lt;Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="preprocessor"># endif</span></div>
<div class="foldopen" id="foldopen00172" data-start="{" data-end="}">
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31"> 172</a></span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">indicate</a>(<span class="keyword">const</span> T&amp; v, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), connHandle);</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> }</div>
</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> </div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">const</span> T&amp; value,</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_data_size&lt;T&gt;::value) {</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.data()), value.size(), connHandle);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_c_str_length&lt;T&gt;::value) {</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.c_str()), value.length(), connHandle);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;value), <span class="keyword">sizeof</span>(value), connHandle);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> }</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">const</span> T&amp; value, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_data_size&lt;T&gt;::value) {</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.data()), value.size(), connHandle);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_c_str_length&lt;T&gt;::value) {</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.c_str()), value.length(), connHandle);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;value), <span class="keyword">sizeof</span>(value), connHandle);</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> }</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> }</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_service.html">NimBLEService</a>;</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !std::is_array&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">const</span> T&amp; value, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_data_size&lt;T&gt;::value) {</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.data()), value.size(), connHandle);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_c_str_length&lt;T&gt;::value) {</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.c_str()), value.length(), connHandle);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;value), <span class="keyword">sizeof</span>(value), connHandle);</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> }</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> }</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !std::is_array&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> T&amp; value, uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_data_size&lt;T&gt;::value) {</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.data()), value.size(), connHandle);</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_c_str_length&lt;T&gt;::value) {</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(value.c_str()), value.length(), connHandle);</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">return</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a>(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;value), <span class="keyword">sizeof</span>(value), connHandle);</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> }</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> }</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keywordtype">void</span> setService(<a class="code hl_class" href="class_nim_b_l_e_service.html">NimBLEService</a>* pService);</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keywordtype">void</span> readEvent(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordtype">void</span> writeEvent(<span class="keyword">const</span> uint8_t* val, uint16_t len, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keywordtype">bool</span> sendValue(<span class="keyword">const</span> uint8_t* value,</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">size_t</span> length,</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">bool</span> is_notification = <span class="keyword">true</span>,</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> </div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <a class="code hl_class" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a>* m_pCallbacks{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <a class="code hl_class" href="class_nim_b_l_e_service.html">NimBLEService</a>* m_pService{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> std::vector&lt;NimBLEDescriptor*&gt; m_vDescriptors{};</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span>}; <span class="comment">// NimBLECharacteristic</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_service.html">NimBLEService</a>;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">void</span> setService(<a class="code hl_class" href="class_nim_b_l_e_service.html">NimBLEService</a>* pService);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keywordtype">void</span> readEvent(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordtype">void</span> writeEvent(<span class="keyword">const</span> uint8_t* val, uint16_t len, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) <span class="keyword">override</span>;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keywordtype">bool</span> sendValue(<span class="keyword">const</span> uint8_t* value,</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keywordtype">size_t</span> length,</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> <span class="keywordtype">bool</span> is_notification = <span class="keyword">true</span>,</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> uint16_t connHandle = BLE_HS_CONN_HANDLE_NONE) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <a class="code hl_class" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a>* m_pCallbacks{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <a class="code hl_class" href="class_nim_b_l_e_service.html">NimBLEService</a>* m_pService{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> std::vector&lt;NimBLEDescriptor*&gt; m_vDescriptors{};</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span>}; <span class="comment">// NimBLECharacteristic</span></div>
</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> </div>
<div class="foldopen" id="foldopen00243" data-start="{" data-end="};">
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic_callbacks.html"> 243</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a> {</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_characteristic_callbacks.html">~NimBLECharacteristicCallbacks</a>() {}</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#a120d3dade06fbc941a93edbdc0e4d830">onRead</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#ab4edbb758f0212fd190dedad6c9b8ec9">onWrite</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#a6f9b1f0f15492e3d47662e5e2ff0baee">onStatus</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <span class="keywordtype">int</span> code);</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#a024951384bb777d7ee71bfd1d5eff185">onSubscribe</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo, uint16_t subValue);</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span>};</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
<div class="foldopen" id="foldopen00247" data-start="{" data-end="};">
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_characteristic_callbacks.html"> 247</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a> {</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_characteristic_callbacks.html">~NimBLECharacteristicCallbacks</a>() {}</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#a120d3dade06fbc941a93edbdc0e4d830">onRead</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#ab4edbb758f0212fd190dedad6c9b8ec9">onWrite</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#a6f9b1f0f15492e3d47662e5e2ff0baee">onStatus</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <span class="keywordtype">int</span> code);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_characteristic_callbacks.html#a024951384bb777d7ee71bfd1d5eff185">onSubscribe</a>(<a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>* pCharacteristic, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo, uint16_t subValue);</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span>};</div>
</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span><span class="preprocessor">#endif </span><span class="comment">/*NIMBLE_CPP_CHARACTERISTIC_H_*/</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_PERIPHERAL */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="preprocessor">#endif </span><span class="comment">/*NIMBLE_CPP_CHARACTERISTIC_H_*/</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclass_nim_b_l_e2904_html"><div class="ttname"><a href="class_nim_b_l_e2904.html">NimBLE2904</a></div><div class="ttdoc">Descriptor for Characteristic Presentation Format.</div><div class="ttdef"><b>Definition</b> NimBLE2904.h:39</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a></div><div class="ttdoc">Callbacks that can be associated with a BLE characteristic to inform of events.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:243</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_a024951384bb777d7ee71bfd1d5eff185"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#a024951384bb777d7ee71bfd1d5eff185">NimBLECharacteristicCallbacks::onSubscribe</a></div><div class="ttdeci">virtual void onSubscribe(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &amp;connInfo, uint16_t subValue)</div><div class="ttdoc">Callback function called when a client changes subscription status.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:396</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_a120d3dade06fbc941a93edbdc0e4d830"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#a120d3dade06fbc941a93edbdc0e4d830">NimBLECharacteristicCallbacks::onRead</a></div><div class="ttdeci">virtual void onRead(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Callback function to support a read request.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:362</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_a6f9b1f0f15492e3d47662e5e2ff0baee"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#a6f9b1f0f15492e3d47662e5e2ff0baee">NimBLECharacteristicCallbacks::onStatus</a></div><div class="ttdeci">virtual void onStatus(NimBLECharacteristic *pCharacteristic, int code)</div><div class="ttdoc">Callback function to support a Notify/Indicate Status report.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:382</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_ab4edbb758f0212fd190dedad6c9b8ec9"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#ab4edbb758f0212fd190dedad6c9b8ec9">NimBLECharacteristicCallbacks::onWrite</a></div><div class="ttdeci">virtual void onWrite(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Callback function to support a write request.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:371</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a></div><div class="ttdoc">Callbacks that can be associated with a BLE characteristic to inform of events.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:247</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_a024951384bb777d7ee71bfd1d5eff185"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#a024951384bb777d7ee71bfd1d5eff185">NimBLECharacteristicCallbacks::onSubscribe</a></div><div class="ttdeci">virtual void onSubscribe(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &amp;connInfo, uint16_t subValue)</div><div class="ttdoc">Callback function called when a client changes subscription status.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:412</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_a120d3dade06fbc941a93edbdc0e4d830"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#a120d3dade06fbc941a93edbdc0e4d830">NimBLECharacteristicCallbacks::onRead</a></div><div class="ttdeci">virtual void onRead(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Callback function to support a read request.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:378</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_a6f9b1f0f15492e3d47662e5e2ff0baee"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#a6f9b1f0f15492e3d47662e5e2ff0baee">NimBLECharacteristicCallbacks::onStatus</a></div><div class="ttdeci">virtual void onStatus(NimBLECharacteristic *pCharacteristic, int code)</div><div class="ttdoc">Callback function to support a Notify/Indicate Status report.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:398</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_callbacks_html_ab4edbb758f0212fd190dedad6c9b8ec9"><div class="ttname"><a href="class_nim_b_l_e_characteristic_callbacks.html#ab4edbb758f0212fd190dedad6c9b8ec9">NimBLECharacteristicCallbacks::onWrite</a></div><div class="ttdeci">virtual void onWrite(NimBLECharacteristic *pCharacteristic, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Callback function to support a write request.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:387</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a></div><div class="ttdoc">The model of a BLE Characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:40</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a0a7d8e25403d4045f0790a4baeb5248c"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a0a7d8e25403d4045f0790a4baeb5248c">NimBLECharacteristic::getProperties</a></div><div class="ttdeci">uint16_t getProperties() const</div><div class="ttdoc">Get the properties of the characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:200</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a283bd1661b5865dd247b1b59bcbf46d6"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a283bd1661b5865dd247b1b59bcbf46d6">NimBLECharacteristic::getDescriptorByHandle</a></div><div class="ttdeci">NimBLEDescriptor * getDescriptorByHandle(uint16_t handle) const</div><div class="ttdoc">Return the BLE Descriptor for the given handle.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:187</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a29dc2505e1d3b4a7d6800d1547965d17"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a29dc2505e1d3b4a7d6800d1547965d17">NimBLECharacteristic::setCallbacks</a></div><div class="ttdeci">void setCallbacks(NimBLECharacteristicCallbacks *pCallbacks)</div><div class="ttdoc">Set the callback handlers for this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:323</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a29dc2505e1d3b4a7d6800d1547965d17"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a29dc2505e1d3b4a7d6800d1547965d17">NimBLECharacteristic::setCallbacks</a></div><div class="ttdeci">void setCallbacks(NimBLECharacteristicCallbacks *pCallbacks)</div><div class="ttdoc">Set the callback handlers for this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:339</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a2c0ed8932ee257a8632e3d72e353489b"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a2c0ed8932ee257a8632e3d72e353489b">NimBLECharacteristic::removeDescriptor</a></div><div class="ttdeci">void removeDescriptor(NimBLEDescriptor *pDescriptor, bool deleteDsc=false)</div><div class="ttdoc">Remove a descriptor from the characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:137</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a3ae5959f98c503de42660e195470192b"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b">NimBLECharacteristic::indicate</a></div><div class="ttdeci">bool indicate(const T &amp;s, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send a indication with a value from a class that has a c_str() and length() method.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:153</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a3ae5959f98c503de42660e195470192b"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b">NimBLECharacteristic::indicate</a></div><div class="ttdeci">bool indicate(const T &amp;s, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send a indication with a value from a class that has a c_str() and length() method.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:157</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a3dd5745ea2cd75e12d27c51fc90b4914"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a3dd5745ea2cd75e12d27c51fc90b4914">NimBLECharacteristic::getDescriptorByUUID</a></div><div class="ttdeci">NimBLEDescriptor * getDescriptorByUUID(const char *uuid) const</div><div class="ttdoc">Return the BLE Descriptor for the given UUID.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:164</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a7fe29c5ec571d0513c51b8cbac942f4a"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a7fe29c5ec571d0513c51b8cbac942f4a">NimBLECharacteristic::~NimBLECharacteristic</a></div><div class="ttdeci">~NimBLECharacteristic()</div><div class="ttdoc">Destructor.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:54</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a8afe29701cd595d8b3c34cc59400b86b"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a8afe29701cd595d8b3c34cc59400b86b">NimBLECharacteristic::getService</a></div><div class="ttdeci">NimBLEService * getService() const</div><div class="ttdoc">Get the service that owns this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:207</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a95e454eacf23ae8e1e251b76d7857954"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">NimBLECharacteristic::notify</a></div><div class="ttdeci">bool notify(const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send a notification with a value from a struct or array.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:92</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_aa824e4b90d8f9418d7c9ccc8735a6e31"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">NimBLECharacteristic::indicate</a></div><div class="ttdeci">bool indicate(const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send an indication with a value from a struct or array.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:138</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_a95e454eacf23ae8e1e251b76d7857954"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">NimBLECharacteristic::notify</a></div><div class="ttdeci">bool notify(const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send a notification with a value from a struct or array.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:94</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_aa824e4b90d8f9418d7c9ccc8735a6e31"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">NimBLECharacteristic::indicate</a></div><div class="ttdeci">bool indicate(const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send an indication with a value from a struct or array.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:142</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_aa9817ffdcc2d57e65e4ec3d88836af3f"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#aa9817ffdcc2d57e65e4ec3d88836af3f">NimBLECharacteristic::createDescriptor</a></div><div class="ttdeci">NimBLEDescriptor * createDescriptor(const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t maxLen=BLE_ATT_ATTR_MAX_LEN)</div><div class="ttdoc">Create a new BLE Descriptor associated with this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:67</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_aabdc2745d2523239a9ab3f02e39aa3cf"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">NimBLECharacteristic::indicate</a></div><div class="ttdeci">bool indicate(uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Send an indication.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:221</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_ab05a81528522e7f12acff65fa86f9a28"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28">NimBLECharacteristic::notify</a></div><div class="ttdeci">bool notify(const T &amp;s, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send a notification with a value from a class that has a c_str() and length() method.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:107</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_ac194f58f909f9e447949a41c2a7cdf00"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#ac194f58f909f9e447949a41c2a7cdf00">NimBLECharacteristic::getCallbacks</a></div><div class="ttdeci">NimBLECharacteristicCallbacks * getCallbacks() const</div><div class="ttdoc">Get the callback handlers for this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:334</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_ab05a81528522e7f12acff65fa86f9a28"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28">NimBLECharacteristic::notify</a></div><div class="ttdeci">bool notify(const T &amp;s, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Template to send a notification with a value from a class that has a c_str() and length() method.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:109</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_ac194f58f909f9e447949a41c2a7cdf00"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#ac194f58f909f9e447949a41c2a7cdf00">NimBLECharacteristic::getCallbacks</a></div><div class="ttdeci">NimBLECharacteristicCallbacks * getCallbacks() const</div><div class="ttdoc">Get the callback handlers for this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:350</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_ac4482e038124724d8bb6d147bcdb5481"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">NimBLECharacteristic::notify</a></div><div class="ttdeci">bool notify(uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</div><div class="ttdoc">Send a notification.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:243</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_acc3402da680a988f6fa38100d9c98275"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#acc3402da680a988f6fa38100d9c98275">NimBLECharacteristic::create2904</a></div><div class="ttdeci">NimBLE2904 * create2904()</div><div class="ttdoc">Create a Characteristic Presentation Format Descriptor for this characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:95</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_aed4b2241c89ad2a8f49117e2b9433e5b"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#aed4b2241c89ad2a8f49117e2b9433e5b">NimBLECharacteristic::addDescriptor</a></div><div class="ttdeci">void addDescriptor(NimBLEDescriptor *pDescriptor)</div><div class="ttdoc">Add a descriptor to the characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:105</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_afd70c1d2f95f78e01dbdb92cd009559a"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#afd70c1d2f95f78e01dbdb92cd009559a">NimBLECharacteristic::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Return a string representation of the characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:342</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html_afd70c1d2f95f78e01dbdb92cd009559a"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html#afd70c1d2f95f78e01dbdb92cd009559a">NimBLECharacteristic::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Return a string representation of the characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.cpp:358</div></div>
<div class="ttc" id="aclass_nim_b_l_e_conn_info_html"><div class="ttname"><a href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a></div><div class="ttdoc">Connection information.</div><div class="ttdef"><b>Definition</b> NimBLEConnInfo.h:32</div></div>
<div class="ttc" id="aclass_nim_b_l_e_descriptor_html"><div class="ttname"><a href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a></div><div class="ttdoc">A model of a BLE descriptor.</div><div class="ttdef"><b>Definition</b> NimBLEDescriptor.h:33</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html"><div class="ttname"><a href="class_nim_b_l_e_server.html">NimBLEServer</a></div><div class="ttdoc">The model of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:60</div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -192,9 +192,9 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_client_8h_source.html','');
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_client.html#a004a85999b1ee4283e1e8e1e31090cca">setConnectPhy</a>(uint8_t phyMask);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_client.html#a165957953c2773dacc6a203c969f6069">updatePhy</a>(uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions = 0);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_client.html#a6ca4e212d5b69d4759bd695def020525">getPhy</a>(uint8_t* txPhy, uint8_t* rxPhy);</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_client.html#a165957953c2773dacc6a203c969f6069">updatePhy</a>(uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions = 0);</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_client.html#a6ca4e212d5b69d4759bd695def020525">getPhy</a>(uint8_t* txPhy, uint8_t* rxPhy);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">struct </span>Config {</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> uint8_t deleteCallbacks : 1; <span class="comment">// Delete the callback object when the client is deleted.</span></div>
@ -265,35 +265,33 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_client_8h_source.html','');
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_client_callbacks.html#a92662eb9ecf882b2c55bc6d9b4de97bc">onMTUChange</a>(<a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* pClient, uint16_t MTU);</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_client_callbacks.html#a4e91ebb66e46b7f3ccc6291ece0b549c">onPhyUpdate</a>(<a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* pClient, uint8_t txPhy, uint8_t rxPhy);</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span>};</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_client_callbacks.html#a4e91ebb66e46b7f3ccc6291ece0b549c">onPhyUpdate</a>(<a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* pClient, uint8_t txPhy, uint8_t rxPhy);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span>};</div>
</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_CENTRAL */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span><span class="preprocessor">#endif </span><span class="comment">/* NIMBLE_CPP_CLIENT_H_ */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> </div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_CENTRAL */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span><span class="preprocessor">#endif </span><span class="comment">/* NIMBLE_CPP_CLIENT_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclass_nim_b_l_e_address_html"><div class="ttname"><a href="class_nim_b_l_e_address.html">NimBLEAddress</a></div><div class="ttdoc">A BLE device address.</div><div class="ttdef"><b>Definition</b> NimBLEAddress.h:41</div></div>
<div class="ttc" id="aclass_nim_b_l_e_advertised_device_html"><div class="ttname"><a href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a></div><div class="ttdoc">A representation of a BLE advertised device found by a scan.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertisedDevice.h:45</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html"><div class="ttname"><a href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a></div><div class="ttdoc">A specialized container class to hold BLE attribute values.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:71</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html">NimBLEClientCallbacks</a></div><div class="ttdoc">Callbacks associated with a BLE client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.h:150</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a4e91ebb66e46b7f3ccc6291ece0b549c"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a4e91ebb66e46b7f3ccc6291ece0b549c">NimBLEClientCallbacks::onPhyUpdate</a></div><div class="ttdeci">virtual void onPhyUpdate(NimBLEClient *pClient, uint8_t txPhy, uint8_t rxPhy)</div><div class="ttdoc">Called when the PHY update procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1302</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a6e7cfa81cd43420f78d6da727c67928b"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a6e7cfa81cd43420f78d6da727c67928b">NimBLEClientCallbacks::onConfirmPasskey</a></div><div class="ttdeci">virtual void onConfirmPasskey(NimBLEConnInfo &amp;connInfo, uint32_t pin)</div><div class="ttdoc">Called when using numeric comparision for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1292</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a8bc6a072e1cc974ef084eb2cad18dac6"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a8bc6a072e1cc974ef084eb2cad18dac6">NimBLEClientCallbacks::onConnParamsUpdateRequest</a></div><div class="ttdeci">virtual bool onConnParamsUpdateRequest(NimBLEClient *pClient, const ble_gap_upd_params *params)</div><div class="ttdoc">Called when server requests to update the connection parameters.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1274</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a92662eb9ecf882b2c55bc6d9b4de97bc"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a92662eb9ecf882b2c55bc6d9b4de97bc">NimBLEClientCallbacks::onMTUChange</a></div><div class="ttdeci">virtual void onMTUChange(NimBLEClient *pClient, uint16_t MTU)</div><div class="ttdoc">Called when the connection MTU changes.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1297</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a96de53d9745f243d544cd89498f979ae"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a96de53d9745f243d544cd89498f979ae">NimBLEClientCallbacks::onConnect</a></div><div class="ttdeci">virtual void onConnect(NimBLEClient *pClient)</div><div class="ttdoc">Called after client connects.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1262</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_aacb0b757e6e7c7984d8389c83fe1937d"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#aacb0b757e6e7c7984d8389c83fe1937d">NimBLEClientCallbacks::onPassKeyEntry</a></div><div class="ttdeci">virtual void onPassKeyEntry(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when server requests a passkey for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1279</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ac03333d26d570e55b285da460c0def76"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ac03333d26d570e55b285da460c0def76">NimBLEClientCallbacks::onIdentity</a></div><div class="ttdeci">virtual void onIdentity(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the peer identity address is resolved.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1288</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ad0eb6bee07ef8c41dd8924aaca3bc71e"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ad0eb6bee07ef8c41dd8924aaca3bc71e">NimBLEClientCallbacks::onConnectFail</a></div><div class="ttdeci">virtual void onConnectFail(NimBLEClient *pClient, int reason)</div><div class="ttdoc">Called when a connection attempt fails.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1266</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ad618179ade926482a7f2d94b0deabd69"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ad618179ade926482a7f2d94b0deabd69">NimBLEClientCallbacks::onDisconnect</a></div><div class="ttdeci">virtual void onDisconnect(NimBLEClient *pClient, int reason)</div><div class="ttdoc">Called when disconnected from the server.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1270</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ae8e2abef6949ac87abf5ecad1a4dfe35"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ae8e2abef6949ac87abf5ecad1a4dfe35">NimBLEClientCallbacks::onAuthenticationComplete</a></div><div class="ttdeci">virtual void onAuthenticationComplete(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the pairing procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1284</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a4e91ebb66e46b7f3ccc6291ece0b549c"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a4e91ebb66e46b7f3ccc6291ece0b549c">NimBLEClientCallbacks::onPhyUpdate</a></div><div class="ttdeci">virtual void onPhyUpdate(NimBLEClient *pClient, uint8_t txPhy, uint8_t rxPhy)</div><div class="ttdoc">Called when the PHY update procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1299</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a6e7cfa81cd43420f78d6da727c67928b"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a6e7cfa81cd43420f78d6da727c67928b">NimBLEClientCallbacks::onConfirmPasskey</a></div><div class="ttdeci">virtual void onConfirmPasskey(NimBLEConnInfo &amp;connInfo, uint32_t pin)</div><div class="ttdoc">Called when using numeric comparision for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1290</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a8bc6a072e1cc974ef084eb2cad18dac6"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a8bc6a072e1cc974ef084eb2cad18dac6">NimBLEClientCallbacks::onConnParamsUpdateRequest</a></div><div class="ttdeci">virtual bool onConnParamsUpdateRequest(NimBLEClient *pClient, const ble_gap_upd_params *params)</div><div class="ttdoc">Called when server requests to update the connection parameters.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1272</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a92662eb9ecf882b2c55bc6d9b4de97bc"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a92662eb9ecf882b2c55bc6d9b4de97bc">NimBLEClientCallbacks::onMTUChange</a></div><div class="ttdeci">virtual void onMTUChange(NimBLEClient *pClient, uint16_t MTU)</div><div class="ttdoc">Called when the connection MTU changes.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1295</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_a96de53d9745f243d544cd89498f979ae"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#a96de53d9745f243d544cd89498f979ae">NimBLEClientCallbacks::onConnect</a></div><div class="ttdeci">virtual void onConnect(NimBLEClient *pClient)</div><div class="ttdoc">Called after client connects.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1260</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_aacb0b757e6e7c7984d8389c83fe1937d"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#aacb0b757e6e7c7984d8389c83fe1937d">NimBLEClientCallbacks::onPassKeyEntry</a></div><div class="ttdeci">virtual void onPassKeyEntry(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when server requests a passkey for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1277</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ac03333d26d570e55b285da460c0def76"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ac03333d26d570e55b285da460c0def76">NimBLEClientCallbacks::onIdentity</a></div><div class="ttdeci">virtual void onIdentity(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the peer identity address is resolved.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1286</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ad0eb6bee07ef8c41dd8924aaca3bc71e"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ad0eb6bee07ef8c41dd8924aaca3bc71e">NimBLEClientCallbacks::onConnectFail</a></div><div class="ttdeci">virtual void onConnectFail(NimBLEClient *pClient, int reason)</div><div class="ttdoc">Called when a connection attempt fails.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1264</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ad618179ade926482a7f2d94b0deabd69"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ad618179ade926482a7f2d94b0deabd69">NimBLEClientCallbacks::onDisconnect</a></div><div class="ttdeci">virtual void onDisconnect(NimBLEClient *pClient, int reason)</div><div class="ttdoc">Called when disconnected from the server.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1268</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_callbacks_html_ae8e2abef6949ac87abf5ecad1a4dfe35"><div class="ttname"><a href="class_nim_b_l_e_client_callbacks.html#ae8e2abef6949ac87abf5ecad1a4dfe35">NimBLEClientCallbacks::onAuthenticationComplete</a></div><div class="ttdeci">virtual void onAuthenticationComplete(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the pairing procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1282</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html"><div class="ttname"><a href="class_nim_b_l_e_client.html">NimBLEClient</a></div><div class="ttdoc">A model of a BLE client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.h:49</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a004a85999b1ee4283e1e8e1e31090cca"><div class="ttname"><a href="class_nim_b_l_e_client.html#a004a85999b1ee4283e1e8e1e31090cca">NimBLEClient::setConnectPhy</a></div><div class="ttdeci">void setConnectPhy(uint8_t phyMask)</div><div class="ttdoc">Set the PHY types to use when connecting to a server.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:408</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a0accd665926ea77d85ecb483b2b853fe"><div class="ttname"><a href="class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe">NimBLEClient::end</a></div><div class="ttdeci">std::vector&lt; NimBLERemoteService * &gt;::iterator end()</div><div class="ttdoc">Get iterator to the end of the vector of remote service pointers.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:614</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a0bdaf55b06367d1abd6f59bfbe1e8689"><div class="ttname"><a href="class_nim_b_l_e_client.html#a0bdaf55b06367d1abd6f59bfbe1e8689">NimBLEClient::isConnected</a></div><div class="ttdeci">bool isConnected() const</div><div class="ttdoc">Are we connected to a server?</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1218</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a0bdaf55b06367d1abd6f59bfbe1e8689"><div class="ttname"><a href="class_nim_b_l_e_client.html#a0bdaf55b06367d1abd6f59bfbe1e8689">NimBLEClient::isConnected</a></div><div class="ttdeci">bool isConnected() const</div><div class="ttdoc">Are we connected to a server?</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1216</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a0f940c51807469db1f1802b742180beb"><div class="ttname"><a href="class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb">NimBLEClient::deleteService</a></div><div class="ttdeci">size_t deleteService(const NimBLEUUID &amp;uuid)</div><div class="ttdoc">Delete a service by UUID from the local database to free resources.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:116</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a1019178a12799ca2c3a84f523b3a7db9"><div class="ttname"><a href="class_nim_b_l_e_client.html#a1019178a12799ca2c3a84f523b3a7db9">NimBLEClient::discoverAttributes</a></div><div class="ttdeci">bool discoverAttributes()</div><div class="ttdoc">Retrieves the full database of attributes that the peripheral has available.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:702</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a165957953c2773dacc6a203c969f6069"><div class="ttname"><a href="class_nim_b_l_e_client.html#a165957953c2773dacc6a203c969f6069">NimBLEClient::updatePhy</a></div><div class="ttdeci">bool updatePhy(uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions=0)</div><div class="ttdoc">Request a change to the PHY used for this peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:430</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a165957953c2773dacc6a203c969f6069"><div class="ttname"><a href="class_nim_b_l_e_client.html#a165957953c2773dacc6a203c969f6069">NimBLEClient::updatePhy</a></div><div class="ttdeci">bool updatePhy(uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions=0)</div><div class="ttdoc">Request a change to the PHY used for this peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:431</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a17718339f76eb621db0d7919c73b9267"><div class="ttname"><a href="class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267">NimBLEClient::setConnectionParams</a></div><div class="ttdeci">void setConnectionParams(uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout, uint16_t scanInterval=16, uint16_t scanWindow=16)</div><div class="ttdoc">Set the connection parameters to use when connecting to a server.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:464</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a19d97b47f01f0862e04f3011752b2f2f"><div class="ttname"><a href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">NimBLEClient::exchangeMTU</a></div><div class="ttdeci">bool exchangeMTU()</div><div class="ttdoc">Begin the MTU exchange process with the server.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:905</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a2645d4a2f8e381bf9bbffdfca846ae17"><div class="ttname"><a href="class_nim_b_l_e_client.html#a2645d4a2f8e381bf9bbffdfca846ae17">NimBLEClient::getRssi</a></div><div class="ttdeci">int getRssi() const</div><div class="ttdoc">Ask the BLE server for the RSSI value.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:585</div></div>
@ -307,10 +305,10 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_client_8h_source.html','');
<div class="ttc" id="aclass_nim_b_l_e_client_html_a665a5ef97b3ab0307bccc54872d3c218"><div class="ttname"><a href="class_nim_b_l_e_client.html#a665a5ef97b3ab0307bccc54872d3c218">NimBLEClient::setSelfDelete</a></div><div class="ttdeci">void setSelfDelete(bool deleteOnDisconnect, bool deleteOnConnectFail)</div><div class="ttdoc">Set or unset a flag to delete this client when disconnected or connection failed.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:378</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a668d476de250055a106a9f46bb7719f3"><div class="ttname"><a href="class_nim_b_l_e_client.html#a668d476de250055a106a9f46bb7719f3">NimBLEClient::deleteServices</a></div><div class="ttdeci">void deleteServices()</div><div class="ttdoc">Delete all service objects created by this client and clear the vector.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:102</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a6b801e91a37745445499dadfb4c38597"><div class="ttname"><a href="class_nim_b_l_e_client.html#a6b801e91a37745445499dadfb4c38597">NimBLEClient::getCharacteristic</a></div><div class="ttdeci">NimBLERemoteCharacteristic * getCharacteristic(uint16_t handle)</div><div class="ttdoc">Get the remote characteristic with the specified handle.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:859</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a6ca4e212d5b69d4759bd695def020525"><div class="ttname"><a href="class_nim_b_l_e_client.html#a6ca4e212d5b69d4759bd695def020525">NimBLEClient::getPhy</a></div><div class="ttdeci">bool getPhy(uint8_t *txPhy, uint8_t *rxPhy)</div><div class="ttdoc">Get the PHY used for this peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:445</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a6ca4e212d5b69d4759bd695def020525"><div class="ttname"><a href="class_nim_b_l_e_client.html#a6ca4e212d5b69d4759bd695def020525">NimBLEClient::getPhy</a></div><div class="ttdeci">bool getPhy(uint8_t *txPhy, uint8_t *rxPhy)</div><div class="ttdoc">Get the PHY used for this peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:446</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a7f3230e45ac77bd4cb50b5c270f9c74c"><div class="ttname"><a href="class_nim_b_l_e_client.html#a7f3230e45ac77bd4cb50b5c270f9c74c">NimBLEClient::getMTU</a></div><div class="ttdeci">uint16_t getMTU() const</div><div class="ttdoc">Get the current mtu of this connection.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:877</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a89d5aee4deaba953b8f77af75e3ee910"><div class="ttname"><a href="class_nim_b_l_e_client.html#a89d5aee4deaba953b8f77af75e3ee910">NimBLEClient::setPeerAddress</a></div><div class="ttdeci">bool setPeerAddress(const NimBLEAddress &amp;address)</div><div class="ttdoc">Set the peer address.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:571</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a8ead2efdfdf23db4f7847a133939cd75"><div class="ttname"><a href="class_nim_b_l_e_client.html#a8ead2efdfdf23db4f7847a133939cd75">NimBLEClient::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Return a string representation of this client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1241</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a8ead2efdfdf23db4f7847a133939cd75"><div class="ttname"><a href="class_nim_b_l_e_client.html#a8ead2efdfdf23db4f7847a133939cd75">NimBLEClient::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Return a string representation of this client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1239</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_a967d0c75083706f336f2283eac6d0de2"><div class="ttname"><a href="class_nim_b_l_e_client.html#a967d0c75083706f336f2283eac6d0de2">NimBLEClient::setValue</a></div><div class="ttdeci">bool setValue(const NimBLEUUID &amp;serviceUUID, const NimBLEUUID &amp;characteristicUUID, const NimBLEAttValue &amp;value, bool response=false)</div><div class="ttdoc">Set the value of a specific characteristic associated with a specific service.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:832</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_ab09639b499fdcd0021a2432b2b8203f5"><div class="ttname"><a href="class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5">NimBLEClient::begin</a></div><div class="ttdeci">std::vector&lt; NimBLERemoteService * &gt;::iterator begin()</div><div class="ttdoc">Get iterator to the beginning of the vector of remote service pointers.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:606</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_ac053fba7c84201dc6e7455231cf99f4a"><div class="ttname"><a href="class_nim_b_l_e_client.html#ac053fba7c84201dc6e7455231cf99f4a">NimBLEClient::getConfig</a></div><div class="ttdeci">Config getConfig() const</div><div class="ttdoc">Get a copy of the clients configuration.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:387</div></div>
@ -319,12 +317,12 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_client_8h_source.html','');
<div class="ttc" id="aclass_nim_b_l_e_client_html_ad89d8202400ecb573ce0e2ec5fc801dc"><div class="ttname"><a href="class_nim_b_l_e_client.html#ad89d8202400ecb573ce0e2ec5fc801dc">NimBLEClient::setConfig</a></div><div class="ttdeci">void setConfig(Config config)</div><div class="ttdoc">Set the client configuration options.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:395</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_adefe48b87e8a814e1643cdb8c3759298"><div class="ttname"><a href="class_nim_b_l_e_client.html#adefe48b87e8a814e1643cdb8c3759298">NimBLEClient::getServices</a></div><div class="ttdeci">const std::vector&lt; NimBLERemoteService * &gt; &amp; getServices(bool refresh=false)</div><div class="ttdoc">Get a pointer to the vector of found services.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:685</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_ae22379ab10bd82932d2303fb3753c366"><div class="ttname"><a href="class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366">NimBLEClient::getService</a></div><div class="ttdeci">NimBLERemoteService * getService(const char *uuid)</div><div class="ttdoc">Get the service BLE Remote Service instance corresponding to the uuid.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:623</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_aeb0593ebffa7e8833e5854480e41cce5"><div class="ttname"><a href="class_nim_b_l_e_client.html#aeb0593ebffa7e8833e5854480e41cce5">NimBLEClient::getLastError</a></div><div class="ttdeci">int getLastError() const</div><div class="ttdoc">Get the last error code reported by the NimBLE host.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1258</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_aeb0593ebffa7e8833e5854480e41cce5"><div class="ttname"><a href="class_nim_b_l_e_client.html#aeb0593ebffa7e8833e5854480e41cce5">NimBLEClient::getLastError</a></div><div class="ttdeci">int getLastError() const</div><div class="ttdoc">Get the last error code reported by the NimBLE host.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1256</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_aeb3675ab243ae6f0e4e7165cd07f7b80"><div class="ttname"><a href="class_nim_b_l_e_client.html#aeb3675ab243ae6f0e4e7165cd07f7b80">NimBLEClient::setConnectTimeout</a></div><div class="ttdeci">void setConnectTimeout(uint32_t timeout)</div><div class="ttdoc">Set the timeout to wait for connection attempt to complete.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:546</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_aeede4deef7421b9121387a786c07820c"><div class="ttname"><a href="class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c">NimBLEClient::setClientCallbacks</a></div><div class="ttdeci">void setClientCallbacks(NimBLEClientCallbacks *pClientCallbacks, bool deleteCallbacks=true)</div><div class="ttdoc">Set the callbacks that will be invoked when events are received.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1227</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_aeede4deef7421b9121387a786c07820c"><div class="ttname"><a href="class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c">NimBLEClient::setClientCallbacks</a></div><div class="ttdeci">void setClientCallbacks(NimBLEClientCallbacks *pClientCallbacks, bool deleteCallbacks=true)</div><div class="ttdoc">Set the callbacks that will be invoked when events are received.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:1225</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html_af77b2a5390ea811e9405ff81dba8ecac"><div class="ttname"><a href="class_nim_b_l_e_client.html#af77b2a5390ea811e9405ff81dba8ecac">NimBLEClient::cancelConnect</a></div><div class="ttdeci">bool cancelConnect() const</div><div class="ttdoc">Cancel an ongoing connection attempt.</div><div class="ttdef"><b>Definition</b> NimBLEClient.cpp:362</div></div>
<div class="ttc" id="aclass_nim_b_l_e_conn_info_html"><div class="ttname"><a href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a></div><div class="ttdoc">Connection information.</div><div class="ttdef"><b>Definition</b> NimBLEConnInfo.h:32</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:117</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_remote_characteristic_html"><div class="ttname"><a href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a></div><div class="ttdoc">A model of a remote BLE characteristic.</div><div class="ttdef"><b>Definition</b> NimBLERemoteCharacteristic.h:36</div></div>
<div class="ttc" id="aclass_nim_b_l_e_remote_service_html"><div class="ttname"><a href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a></div><div class="ttdoc">A model of a remote BLE service.</div><div class="ttdef"><b>Definition</b> NimBLERemoteService.h:34</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html"><div class="ttname"><a href="class_nim_b_l_e_server.html">NimBLEServer</a></div><div class="ttdoc">The model of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:60</div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -158,315 +158,331 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_device_8h_source.html','');
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM &gt; 0</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor"># define BLEDevice NimBLEDevice</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor"># define BLEClient NimBLEClient</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="preprocessor"># define BLERemoteService NimBLERemoteService</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor"># define BLERemoteCharacteristic NimBLERemoteCharacteristic</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor"># define BLERemoteDescriptor NimBLERemoteDescriptor</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor"># define BLEAdvertisedDevice NimBLEAdvertisedDevice</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor"># define BLEScan NimBLEScan</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor"># define BLEUUID NimBLEUUID</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor"># define BLEAddress NimBLEAddress</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor"># define BLEUtils NimBLEUtils</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor"># define BLEClientCallbacks NimBLEClientCallbacks</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="preprocessor"># define BLEAdvertisedDeviceCallbacks NimBLEScanCallbacks</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor"># define BLEScanResults NimBLEScanResults</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor"># define BLEServer NimBLEServer</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor"># define BLEService NimBLEService</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="preprocessor"># define BLECharacteristic NimBLECharacteristic</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"># define BLEAdvertising NimBLEAdvertising</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor"># define BLEServerCallbacks NimBLEServerCallbacks</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"># define BLECharacteristicCallbacks NimBLECharacteristicCallbacks</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor"># define BLEAdvertisementData NimBLEAdvertisementData</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"># define BLEDescriptor NimBLEDescriptor</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor"># define BLE2904 NimBLE2904</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor"># define BLEDescriptorCallbacks NimBLEDescriptorCallbacks</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor"># define BLEBeacon NimBLEBeacon</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor"># define BLEEddystoneTLM NimBLEEddystoneTLM</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor"># define BLEEddystoneURL NimBLEEddystoneURL</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor"># define BLEConnInfo NimBLEConnInfo</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor"># ifdef CONFIG_BT_NIMBLE_MAX_CONNECTIONS</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor"># define NIMBLE_MAX_CONNECTIONS CONFIG_BT_NIMBLE_MAX_CONNECTIONS</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor"># define NIMBLE_MAX_CONNECTIONS CONFIG_NIMBLE_MAX_CONNECTIONS</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="keyword">enum class</span> NimBLETxPowerType {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> All = 0,</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> Advertise = 1,</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> Scan = 2,</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> Connection = 3</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>};</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="keyword">typedef</span> int (*gap_event_handler)(ble_gap_event* event, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="foldopen" id="foldopen00117" data-start="{" data-end="};">
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_device.html"> 117</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device.html">NimBLEDevice</a> {</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a2e8bb71daabbffd9eab8787493a45ce7">init</a>(<span class="keyword">const</span> std::string&amp; deviceName);</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a66362258c033860e8448032913be355f">deinit</a>(<span class="keywordtype">bool</span> clearAll = <span class="keyword">false</span>);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aaa64b6baff54c010eb8b4d0ba338cc01">setDeviceName</a>(<span class="keyword">const</span> std::string&amp; deviceName);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a425561f1e23856756ab9c1c330da5737">isInitialized</a>();</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a> <a class="code hl_function" href="class_nim_b_l_e_device.html#a77f9f343143d4f074ffb545dd14cbb2b">getAddress</a>();</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="class_nim_b_l_e_device.html#abf8c494b54d9f0c9466c80f25dbdd961">toString</a>();</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aabc68166b6dd4a744a98f94e569f37db">whiteListAdd</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a81abbad5e371fe1cdd91c002b42cc654">whiteListRemove</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ae51e2d4d6169a61133178a1b0d6b5b45">onWhiteList</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab28cc2ec59fc9e62d05826633f53d2a0">getWhiteListCount</a>();</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a> <a class="code hl_function" href="class_nim_b_l_e_device.html#a4a2229e9e517b84773e65c75124b0789">getWhiteListAddress</a>(<span class="keywordtype">size_t</span> index);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a31acb43c150014f06bad74b57c2335ff">setOwnAddrType</a>(uint8_t type);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0f6521729222f9e55e40325824786070">setOwnAddr</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; addr);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0f6521729222f9e55e40325824786070">setOwnAddr</a>(<span class="keyword">const</span> uint8_t* addr);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setDeviceCallbacks(<a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a>* cb);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setScanDuplicateCacheSize(uint16_t cacheSize);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setScanFilterMode(uint8_t type);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a179d1199badd67464cab921672a44405">setCustomGapHandler</a>(gap_event_handler handler);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aa8e340c02418771ce72dec758d560938">setSecurityAuth</a>(<span class="keywordtype">bool</span> bonding, <span class="keywordtype">bool</span> mitm, <span class="keywordtype">bool</span> sc);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aa8e340c02418771ce72dec758d560938">setSecurityAuth</a>(uint8_t auth);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab9fee9e810d5fa18bc8a37053eb9b5d0">setSecurityIOCap</a>(uint8_t iocap);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab0a29a11f71d3ba32645c096067a853b">setSecurityInitKey</a>(uint8_t initKey);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab769a5f5afb3ee486527d41b8c445566">setSecurityRespKey</a>(uint8_t respKey);</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab62da4d606355b20539e37e881f4044d">setSecurityPasskey</a>(uint32_t passKey);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">static</span> uint32_t <a class="code hl_function" href="class_nim_b_l_e_device.html#aa03937eadda020643b536c5d08174d3a">getSecurityPasskey</a>();</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a8b6b4bedfe37725ed9c20e91a3470005">startSecurity</a>(uint16_t connHandle, <span class="keywordtype">int</span>* rcPtr = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a43b83de25635b69cfd663a7f0e7784d6">setMTU</a>(uint16_t mtu);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">static</span> uint16_t <a class="code hl_function" href="class_nim_b_l_e_device.html#a5520cf3f544d571636eed162de394ec2">getMTU</a>();</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a1c07c41733730754fd31efae5a43f085">onReset</a>(<span class="keywordtype">int</span> reason);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a01737196c77959a03964504ee0b48f4d">onSync</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab4771de8c0805836f0e7059199d56411">host_task</a>(<span class="keywordtype">void</span>* param);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a58742d313c683b98b47396383cb6ddfa">getPower</a>(NimBLETxPowerType type = NimBLETxPowerType::All);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ac4c78fbf7344fbc0d6189e92a756db91">setPower</a>(int8_t dbm, NimBLETxPowerType type = NimBLETxPowerType::All);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="preprocessor"># ifdef ESP_PLATFORM</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="preprocessor"># ifndef CONFIG_IDF_TARGET_ESP32P4</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">static</span> esp_power_level_t getPowerLevel(esp_ble_power_type_t powerType = ESP_BLE_PWR_TYPE_DEFAULT);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> setPowerLevel(esp_power_level_t powerLevel, esp_ble_power_type_t powerType = ESP_BLE_PWR_TYPE_DEFAULT);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor"># define BLEDevice NimBLEDevice</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor"># define BLEClient NimBLEClient</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor"># define BLERemoteService NimBLERemoteService</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor"># define BLERemoteCharacteristic NimBLERemoteCharacteristic</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor"># define BLERemoteDescriptor NimBLERemoteDescriptor</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor"># define BLEAdvertisedDevice NimBLEAdvertisedDevice</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor"># define BLEScan NimBLEScan</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor"># define BLEUUID NimBLEUUID</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="preprocessor"># define BLEAddress NimBLEAddress</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor"># define BLEUtils NimBLEUtils</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="preprocessor"># define BLEClientCallbacks NimBLEClientCallbacks</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor"># define BLEAdvertisedDeviceCallbacks NimBLEScanCallbacks</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="preprocessor"># define BLEScanResults NimBLEScanResults</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"># define BLEServer NimBLEServer</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="preprocessor"># define BLEService NimBLEService</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"># define BLECharacteristic NimBLECharacteristic</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="preprocessor"># define BLEAdvertising NimBLEAdvertising</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"># define BLEServerCallbacks NimBLEServerCallbacks</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="preprocessor"># define BLECharacteristicCallbacks NimBLECharacteristicCallbacks</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="preprocessor"># define BLEAdvertisementData NimBLEAdvertisementData</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="preprocessor"># define BLEDescriptor NimBLEDescriptor</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor"># define BLE2904 NimBLE2904</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor"># define BLEDescriptorCallbacks NimBLEDescriptorCallbacks</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor"># define BLEBeacon NimBLEBeacon</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor"># define BLEEddystoneTLM NimBLEEddystoneTLM</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor"># define BLEEddystoneURL NimBLEEddystoneURL</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor"># define BLEConnInfo NimBLEConnInfo</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="preprocessor"># define BLEL2CAPServer NimBLEL2CAPServer</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="preprocessor"># define BLEL2CAPService NimBLEL2CAPService</span></div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor"># define BLEL2CAPServiceCallbacks NimBLEL2CAPServiceCallbacks</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor"># define BLEL2CAPClient NimBLEL2CAPClient</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor"># define BLEL2CAPClientCallbacks NimBLEL2CAPClientCallbacks</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor"># define BLEL2CAPChannel NimBLEL2CAPChannel</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="preprocessor"># define BLEL2CAPChannelCallbacks NimBLEL2CAPChannelCallbacks</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="preprocessor"># ifdef CONFIG_BT_NIMBLE_MAX_CONNECTIONS</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor"># define NIMBLE_MAX_CONNECTIONS CONFIG_BT_NIMBLE_MAX_CONNECTIONS</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor"># define NIMBLE_MAX_CONNECTIONS CONFIG_NIMBLE_MAX_CONNECTIONS</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="keyword">enum class</span> NimBLETxPowerType { All = 0, Advertise = 1, Scan = 2, Connection = 3 };</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> </div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="keyword">typedef</span> int (*gap_event_handler)(ble_gap_event* event, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="foldopen" id="foldopen00122" data-start="{" data-end="};">
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_device.html"> 122</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device.html">NimBLEDevice</a> {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a2e8bb71daabbffd9eab8787493a45ce7">init</a>(<span class="keyword">const</span> std::string&amp; deviceName);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a66362258c033860e8448032913be355f">deinit</a>(<span class="keywordtype">bool</span> clearAll = <span class="keyword">false</span>);</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aaa64b6baff54c010eb8b4d0ba338cc01">setDeviceName</a>(<span class="keyword">const</span> std::string&amp; deviceName);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a425561f1e23856756ab9c1c330da5737">isInitialized</a>();</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a> <a class="code hl_function" href="class_nim_b_l_e_device.html#a77f9f343143d4f074ffb545dd14cbb2b">getAddress</a>();</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="class_nim_b_l_e_device.html#abf8c494b54d9f0c9466c80f25dbdd961">toString</a>();</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aabc68166b6dd4a744a98f94e569f37db">whiteListAdd</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a81abbad5e371fe1cdd91c002b42cc654">whiteListRemove</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ae51e2d4d6169a61133178a1b0d6b5b45">onWhiteList</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab28cc2ec59fc9e62d05826633f53d2a0">getWhiteListCount</a>();</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a> <a class="code hl_function" href="class_nim_b_l_e_device.html#a4a2229e9e517b84773e65c75124b0789">getWhiteListAddress</a>(<span class="keywordtype">size_t</span> index);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a31acb43c150014f06bad74b57c2335ff">setOwnAddrType</a>(uint8_t type);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0f6521729222f9e55e40325824786070">setOwnAddr</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; addr);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0f6521729222f9e55e40325824786070">setOwnAddr</a>(<span class="keyword">const</span> uint8_t* addr);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setDeviceCallbacks(<a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a>* cb);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setScanDuplicateCacheSize(uint16_t cacheSize);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setScanFilterMode(uint8_t type);</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">static</span> <span class="keywordtype">void</span> setScanDuplicateCacheResetTime(uint16_t time);</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a179d1199badd67464cab921672a44405">setCustomGapHandler</a>(gap_event_handler handler);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aa8e340c02418771ce72dec758d560938">setSecurityAuth</a>(<span class="keywordtype">bool</span> bonding, <span class="keywordtype">bool</span> mitm, <span class="keywordtype">bool</span> sc);</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aa8e340c02418771ce72dec758d560938">setSecurityAuth</a>(uint8_t auth);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab9fee9e810d5fa18bc8a37053eb9b5d0">setSecurityIOCap</a>(uint8_t iocap);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab0a29a11f71d3ba32645c096067a853b">setSecurityInitKey</a>(uint8_t initKey);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab769a5f5afb3ee486527d41b8c445566">setSecurityRespKey</a>(uint8_t respKey);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab62da4d606355b20539e37e881f4044d">setSecurityPasskey</a>(uint32_t passKey);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">static</span> uint32_t <a class="code hl_function" href="class_nim_b_l_e_device.html#aa03937eadda020643b536c5d08174d3a">getSecurityPasskey</a>();</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a8b6b4bedfe37725ed9c20e91a3470005">startSecurity</a>(uint16_t connHandle, <span class="keywordtype">int</span>* rcPtr = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a43b83de25635b69cfd663a7f0e7784d6">setMTU</a>(uint16_t mtu);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">static</span> uint16_t <a class="code hl_function" href="class_nim_b_l_e_device.html#a5520cf3f544d571636eed162de394ec2">getMTU</a>();</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a1c07c41733730754fd31efae5a43f085">onReset</a>(<span class="keywordtype">int</span> reason);</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a01737196c77959a03964504ee0b48f4d">onSync</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ab4771de8c0805836f0e7059199d56411">host_task</a>(<span class="keywordtype">void</span>* param);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a58742d313c683b98b47396383cb6ddfa">getPower</a>(NimBLETxPowerType type = NimBLETxPowerType::All);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#ac4c78fbf7344fbc0d6189e92a756db91">setPower</a>(int8_t dbm, NimBLETxPowerType type = NimBLETxPowerType::All);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0e021958df2f2dbf40e52b9022c37594">setDefaultPhy</a>(uint8_t txPhyMask, uint8_t rxPhyMask);</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0e021958df2f2dbf40e52b9022c37594">setDefaultPhy</a>(uint8_t txPhyMask, uint8_t rxPhyMask);</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_scan.html">NimBLEScan</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#af93d92316454b051125460056368baec">getScan</a>();</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a4d9780d0b5fafc279483822af802a508">createServer</a>();</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a41d4cc7c85cba0721c6649b001b31b4d">getServer</a>();</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aff35384524ab80a19ce1ef23fdcd970b">injectConfirmPasskey</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; peerInfo, <span class="keywordtype">bool</span> accept);</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a5071168b3bda69aa4457a43473ad7a96">injectPassKey</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; peerInfo, uint32_t pin);</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#aa994b01b2b5bb9f677f3cffb2f05d140">getAdvertising</a>();</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a181ee3b2b143e50e216fc2728194ff85">startAdvertising</a>(uint8_t instId, <span class="keywordtype">int</span> duration = 0, <span class="keywordtype">int</span> maxEvents = 0);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">stopAdvertising</a>(uint8_t instId);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">stopAdvertising</a>();</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="preprocessor"># if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_)</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#aa994b01b2b5bb9f677f3cffb2f05d140">getAdvertising</a>();</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a181ee3b2b143e50e216fc2728194ff85">startAdvertising</a>(uint32_t duration = 0);</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">stopAdvertising</a>();</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> </div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a010b12177917f33e7d3633736c0cc553">createClient</a>();</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a010b12177917f33e7d3633736c0cc553">createClient</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; peerAddress);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a83aa0a3d9d57358d35082a442edf8549">deleteClient</a>(<a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* pClient);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a9c15d6b767091fae4412428436827c4e">getClientByHandle</a>(uint16_t connHandle);</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#afc7060413706ec7217ea9add4b169117">getClientByPeerAddress</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; peerAddress);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a10aec48b56ef404f42ade96d6244b312">getDisconnectedClient</a>();</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0944f3f6eca16ed4b7fd96d88b2906d9">getCreatedClientCount</a>();</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">static</span> std::vector&lt;NimBLEClient*&gt; <a class="code hl_function" href="class_nim_b_l_e_device.html#acb098c56b7d08636e1745052eb184fb2">getConnectedClients</a>();</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a20fc979ec9dbad5cce7f73e41b2e422e">deleteBond</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a7fe0f568c17130150660e6307851be48">getNumBonds</a>();</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a16bf4f5394735ed8d7f0bb32ca5d269a">isBonded</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a17fe75ad9d4f3d8cfd876b4a9bf70bb0">deleteAllBonds</a>();</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a> <a class="code hl_function" href="class_nim_b_l_e_device.html#ac7f090f4b1a2d593f38b20859e071f0c">getBondedAddress</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> m_synced;</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> m_initialized;</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">static</span> uint32_t m_passkey;</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">static</span> ble_gap_event_listener m_listener;</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keyword">static</span> uint8_t m_ownAddrType;</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">static</span> std::vector&lt;NimBLEAddress&gt; m_whiteList;</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a>* m_pDeviceCallbacks;</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a> defaultDeviceCallbacks;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> </div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_scan.html">NimBLEScan</a>* m_pScan;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>* m_pServer;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>* m_bleAdvertising;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a>* m_bleAdvertising;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> <span class="keyword">static</span> std::array&lt;NimBLEClient*, NIMBLE_MAX_CONNECTIONS&gt; m_pClients;</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> </div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span><span class="preprocessor"># ifdef ESP_PLATFORM</span></div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="preprocessor"># ifdef CONFIG_BTDM_BLE_SCAN_DUPL</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">static</span> uint16_t m_scanDuplicateSize;</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">static</span> uint8_t m_scanFilterMode;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_scan.html">NimBLEScan</a>;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>;</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> </div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a>;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_ext_advertisement.html">NimBLEExtAdvertisement</a>;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span>};</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span><span class="preprocessor"># ifdef ESP_PLATFORM</span></div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span><span class="preprocessor"># ifndef CONFIG_IDF_TARGET_ESP32P4</span></div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">static</span> esp_power_level_t getPowerLevel(esp_ble_power_type_t powerType = ESP_BLE_PWR_TYPE_DEFAULT);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> setPowerLevel(esp_power_level_t powerLevel, esp_ble_power_type_t powerType = ESP_BLE_PWR_TYPE_DEFAULT);</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_scan.html">NimBLEScan</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#af93d92316454b051125460056368baec">getScan</a>();</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> </div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a4d9780d0b5fafc279483822af802a508">createServer</a>();</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a41d4cc7c85cba0721c6649b001b31b4d">getServer</a>();</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM &gt; 0</span></div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>* createL2CAPServer();</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>* getL2CAPServer();</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> </div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#aff35384524ab80a19ce1ef23fdcd970b">injectConfirmPasskey</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; peerInfo, <span class="keywordtype">bool</span> accept);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a5071168b3bda69aa4457a43473ad7a96">injectPassKey</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; peerInfo, uint32_t pin);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#aa994b01b2b5bb9f677f3cffb2f05d140">getAdvertising</a>();</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a181ee3b2b143e50e216fc2728194ff85">startAdvertising</a>(uint8_t instId, <span class="keywordtype">int</span> duration = 0, <span class="keywordtype">int</span> maxEvents = 0);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">stopAdvertising</a>(uint8_t instId);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">stopAdvertising</a>();</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span><span class="preprocessor"># if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_)</span></div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#aa994b01b2b5bb9f677f3cffb2f05d140">getAdvertising</a>();</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a181ee3b2b143e50e216fc2728194ff85">startAdvertising</a>(uint32_t duration = 0);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">stopAdvertising</a>();</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a010b12177917f33e7d3633736c0cc553">createClient</a>();</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a010b12177917f33e7d3633736c0cc553">createClient</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; peerAddress);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a83aa0a3d9d57358d35082a442edf8549">deleteClient</a>(<a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* pClient);</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a9c15d6b767091fae4412428436827c4e">getClientByHandle</a>(uint16_t connHandle);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#afc7060413706ec7217ea9add4b169117">getClientByPeerAddress</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; peerAddress);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_device.html#a10aec48b56ef404f42ade96d6244b312">getDisconnectedClient</a>();</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">static</span> <span class="keywordtype">size_t</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a0944f3f6eca16ed4b7fd96d88b2906d9">getCreatedClientCount</a>();</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">static</span> std::vector&lt;NimBLEClient*&gt; <a class="code hl_function" href="class_nim_b_l_e_device.html#acb098c56b7d08636e1745052eb184fb2">getConnectedClients</a>();</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> </div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a20fc979ec9dbad5cce7f73e41b2e422e">deleteBond</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a7fe0f568c17130150660e6307851be48">getNumBonds</a>();</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a16bf4f5394735ed8d7f0bb32ca5d269a">isBonded</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&amp; address);</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_device.html#a17fe75ad9d4f3d8cfd876b4a9bf70bb0">deleteAllBonds</a>();</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_address.html">NimBLEAddress</a> <a class="code hl_function" href="class_nim_b_l_e_device.html#ac7f090f4b1a2d593f38b20859e071f0c">getBondedAddress</a>(<span class="keywordtype">int</span> index);</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> m_synced;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> m_initialized;</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keyword">static</span> uint32_t m_passkey;</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <span class="keyword">static</span> ble_gap_event_listener m_listener;</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">static</span> uint8_t m_ownAddrType;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> <span class="keyword">static</span> std::vector&lt;NimBLEAddress&gt; m_whiteList;</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a>* m_pDeviceCallbacks;</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a> defaultDeviceCallbacks;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> </div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_scan.html">NimBLEScan</a>* m_pScan;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> </div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>* m_pServer;</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM &gt; 0</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>* m_pL2CAPServer;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>* m_bleAdvertising;</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a>* m_bleAdvertising;</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> </div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <span class="keyword">static</span> std::array&lt;NimBLEClient*, NIMBLE_MAX_CONNECTIONS&gt; m_pClients;</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span><span class="preprocessor"># ifdef ESP_PLATFORM</span></div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span><span class="preprocessor"># if CONFIG_BTDM_BLE_SCAN_DUPL || CONFIG_BT_LE_SCAN_DUPL</span></div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <span class="keyword">static</span> uint16_t m_scanDuplicateSize;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keyword">static</span> uint8_t m_scanFilterMode;</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="keyword">static</span> uint16_t m_scanDuplicateResetTime;</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>;</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> </div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_scan.html">NimBLEScan</a>;</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> </div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a>;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> </div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a>;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_ext_advertisement.html">NimBLEExtAdvertisement</a>;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span>};</div>
</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span><span class="preprocessor"># include &quot;NimBLEClient.h&quot;</span></div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="preprocessor"># include &quot;NimBLERemoteService.h&quot;</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span><span class="preprocessor"># include &quot;NimBLERemoteCharacteristic.h&quot;</span></div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span><span class="preprocessor"># include &quot;NimBLERemoteDescriptor.h&quot;</span></div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> </div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="preprocessor"># include &quot;NimBLEScan.h&quot;</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span><span class="preprocessor"># include &quot;NimBLEServer.h&quot;</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="preprocessor"># include &quot;NimBLEService.h&quot;</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="preprocessor"># include &quot;NimBLECharacteristic.h&quot;</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="preprocessor"># include &quot;NimBLEDescriptor.h&quot;</span></div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span><span class="preprocessor"># include &quot;NimBLEClient.h&quot;</span></div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="preprocessor"># include &quot;NimBLERemoteService.h&quot;</span></div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span><span class="preprocessor"># include &quot;NimBLERemoteCharacteristic.h&quot;</span></div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="preprocessor"># include &quot;NimBLERemoteDescriptor.h&quot;</span></div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="preprocessor"># include &quot;NimBLEExtAdvertising.h&quot;</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="preprocessor"># include &quot;NimBLEAdvertising.h&quot;</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> </div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="preprocessor"># include &quot;NimBLEConnInfo.h&quot;</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="preprocessor"># include &quot;NimBLEUtils.h&quot;</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> </div>
<div class="foldopen" id="foldopen00305" data-start="{" data-end="};">
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_device_callbacks.html"> 305</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a> {</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">~NimBLEDeviceCallbacks</a>() {};</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> </div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="class_nim_b_l_e_device_callbacks.html#aa0584e7aee6b90e377fc7ef34e89b419">onStoreStatus</a>(<span class="keyword">struct</span> ble_store_status_event* event, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span>};</div>
</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_OBSERVER)</span></div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span><span class="preprocessor"># include &quot;NimBLEScan.h&quot;</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> </div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span><span class="preprocessor"># include &quot;NimBLEServer.h&quot;</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span><span class="preprocessor"># include &quot;NimBLEService.h&quot;</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span><span class="preprocessor"># include &quot;NimBLECharacteristic.h&quot;</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span><span class="preprocessor"># include &quot;NimBLEDescriptor.h&quot;</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_L2CAP_COC_MAX_NUM &gt; 0</span></div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span><span class="preprocessor"># include &quot;NimBLEL2CAPServer.h&quot;</span></div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span><span class="preprocessor"># include &quot;NimBLEL2CAPChannel.h&quot;</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> </div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_BROADCASTER)</span></div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span><span class="preprocessor"># include &quot;NimBLEExtAdvertising.h&quot;</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span><span class="preprocessor"># include &quot;NimBLEAdvertising.h&quot;</span></div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> </div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL) || defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL)</span></div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span><span class="preprocessor"># include &quot;NimBLEConnInfo.h&quot;</span></div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span><span class="preprocessor"># include &quot;NimBLEUtils.h&quot;</span></div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> </div>
<div class="foldopen" id="foldopen00320" data-start="{" data-end="};">
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_device_callbacks.html"> 320</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a> {</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_device_callbacks.html">~NimBLEDeviceCallbacks</a>() {};</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> </div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED</span></div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_DEVICE_H_</span></div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code hl_function" href="class_nim_b_l_e_device_callbacks.html#aa0584e7aee6b90e377fc7ef34e89b419">onStoreStatus</a>(<span class="keyword">struct</span> ble_store_status_event* event, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"> 337</span>};</div>
</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> </div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED</span></div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_DEVICE_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_address_html"><div class="ttname"><a href="class_nim_b_l_e_address.html">NimBLEAddress</a></div><div class="ttdoc">A BLE device address.</div><div class="ttdef"><b>Definition</b> NimBLEAddress.h:41</div></div>
<div class="ttc" id="aclass_nim_b_l_e_advertising_html"><div class="ttname"><a href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a></div><div class="ttdoc">Perform and manage BLE advertising.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertising.h:52</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a></div><div class="ttdoc">The model of a BLE Characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:40</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html"><div class="ttname"><a href="class_nim_b_l_e_client.html">NimBLEClient</a></div><div class="ttdoc">A model of a BLE client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.h:49</div></div>
<div class="ttc" id="aclass_nim_b_l_e_conn_info_html"><div class="ttname"><a href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a></div><div class="ttdoc">Connection information.</div><div class="ttdef"><b>Definition</b> NimBLEConnInfo.h:32</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a></div><div class="ttdoc">Callbacks associated with a BLE device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:305</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_callbacks_html_aa0584e7aee6b90e377fc7ef34e89b419"><div class="ttname"><a href="class_nim_b_l_e_device_callbacks.html#aa0584e7aee6b90e377fc7ef34e89b419">NimBLEDeviceCallbacks::onStoreStatus</a></div><div class="ttdeci">virtual int onStoreStatus(struct ble_store_status_event *event, void *arg)</div><div class="ttdoc">Indicates an inability to perform a store operation. This callback should do one of two things: -Addr...</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1274</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:117</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a010b12177917f33e7d3633736c0cc553"><div class="ttname"><a href="class_nim_b_l_e_device.html#a010b12177917f33e7d3633736c0cc553">NimBLEDevice::createClient</a></div><div class="ttdeci">static NimBLEClient * createClient()</div><div class="ttdoc">Creates a new client object, each client can connect to 1 peripheral device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:294</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a01737196c77959a03964504ee0b48f4d"><div class="ttname"><a href="class_nim_b_l_e_device.html#a01737196c77959a03964504ee0b48f4d">NimBLEDevice::onSync</a></div><div class="ttdeci">static void onSync(void)</div><div class="ttdoc">Host synced with controller, all clear to make calls to the stack.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:784</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a0944f3f6eca16ed4b7fd96d88b2906d9"><div class="ttname"><a href="class_nim_b_l_e_device.html#a0944f3f6eca16ed4b7fd96d88b2906d9">NimBLEDevice::getCreatedClientCount</a></div><div class="ttdeci">static size_t getCreatedClientCount()</div><div class="ttdoc">Get the number of created client objects.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:354</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a0e021958df2f2dbf40e52b9022c37594"><div class="ttname"><a href="class_nim_b_l_e_device.html#a0e021958df2f2dbf40e52b9022c37594">NimBLEDevice::setDefaultPhy</a></div><div class="ttdeci">static bool setDefaultPhy(uint8_t txPhyMask, uint8_t rxPhyMask)</div><div class="ttdoc">Set the preferred default phy to use for connections.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:757</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a0f6521729222f9e55e40325824786070"><div class="ttname"><a href="class_nim_b_l_e_device.html#a0f6521729222f9e55e40325824786070">NimBLEDevice::setOwnAddr</a></div><div class="ttdeci">static bool setOwnAddr(const NimBLEAddress &amp;addr)</div><div class="ttdoc">Set the device address to use.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1063</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a10aec48b56ef404f42ade96d6244b312"><div class="ttname"><a href="class_nim_b_l_e_device.html#a10aec48b56ef404f42ade96d6244b312">NimBLEDevice::getDisconnectedClient</a></div><div class="ttdeci">static NimBLEClient * getDisconnectedClient()</div><div class="ttdoc">Finds the first disconnected client available.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:399</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a16bf4f5394735ed8d7f0bb32ca5d269a"><div class="ttname"><a href="class_nim_b_l_e_device.html#a16bf4f5394735ed8d7f0bb32ca5d269a">NimBLEDevice::isBonded</a></div><div class="ttdeci">static bool isBonded(const NimBLEAddress &amp;address)</div><div class="ttdoc">Checks if a peer device is bonded.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:619</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a179d1199badd67464cab921672a44405"><div class="ttname"><a href="class_nim_b_l_e_device.html#a179d1199badd67464cab921672a44405">NimBLEDevice::setCustomGapHandler</a></div><div class="ttdeci">static bool setCustomGapHandler(gap_event_handler handler)</div><div class="ttdoc">Set a custom callback for gap events.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1237</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a17fe75ad9d4f3d8cfd876b4a9bf70bb0"><div class="ttname"><a href="class_nim_b_l_e_device.html#a17fe75ad9d4f3d8cfd876b4a9bf70bb0">NimBLEDevice::deleteAllBonds</a></div><div class="ttdeci">static bool deleteAllBonds()</div><div class="ttdoc">Deletes all bonding information.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:596</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a181ee3b2b143e50e216fc2728194ff85"><div class="ttname"><a href="class_nim_b_l_e_device.html#a181ee3b2b143e50e216fc2728194ff85">NimBLEDevice::startAdvertising</a></div><div class="ttdeci">static bool startAdvertising(uint8_t instId, int duration=0, int maxEvents=0)</div><div class="ttdoc">Convenience function to begin advertising.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:170</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a1c07c41733730754fd31efae5a43f085"><div class="ttname"><a href="class_nim_b_l_e_device.html#a1c07c41733730754fd31efae5a43f085">NimBLEDevice::onReset</a></div><div class="ttdeci">static void onReset(int reason)</div><div class="ttdoc">Host reset, we pass the message so we don't make calls until re-synced.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:771</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a20fc979ec9dbad5cce7f73e41b2e422e"><div class="ttname"><a href="class_nim_b_l_e_device.html#a20fc979ec9dbad5cce7f73e41b2e422e">NimBLEDevice::deleteBond</a></div><div class="ttdeci">static bool deleteBond(const NimBLEAddress &amp;address)</div><div class="ttdoc">Deletes a peer bond.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:610</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a2e8bb71daabbffd9eab8787493a45ce7"><div class="ttname"><a href="class_nim_b_l_e_device.html#a2e8bb71daabbffd9eab8787493a45ce7">NimBLEDevice::init</a></div><div class="ttdeci">static bool init(const std::string &amp;deviceName)</div><div class="ttdoc">Initialize the BLE environment.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:843</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a31acb43c150014f06bad74b57c2335ff"><div class="ttname"><a href="class_nim_b_l_e_device.html#a31acb43c150014f06bad74b57c2335ff">NimBLEDevice::setOwnAddrType</a></div><div class="ttdeci">static bool setOwnAddrType(uint8_t type)</div><div class="ttdoc">Sets the address type to use.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1032</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a3c251b1d5c651ab9ef9b4819f79c1629"><div class="ttname"><a href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">NimBLEDevice::stopAdvertising</a></div><div class="ttdeci">static bool stopAdvertising()</div><div class="ttdoc">Convenience function to stop all advertising.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:210</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a41d4cc7c85cba0721c6649b001b31b4d"><div class="ttname"><a href="class_nim_b_l_e_device.html#a41d4cc7c85cba0721c6649b001b31b4d">NimBLEDevice::getServer</a></div><div class="ttdeci">static NimBLEServer * getServer()</div><div class="ttdoc">Get the instance of the server.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:140</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a425561f1e23856756ab9c1c330da5737"><div class="ttname"><a href="class_nim_b_l_e_device.html#a425561f1e23856756ab9c1c330da5737">NimBLEDevice::isInitialized</a></div><div class="ttdeci">static bool isInitialized()</div><div class="ttdoc">Check if the initialization is complete.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:998</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a43b83de25635b69cfd663a7f0e7784d6"><div class="ttname"><a href="class_nim_b_l_e_device.html#a43b83de25635b69cfd663a7f0e7784d6">NimBLEDevice::setMTU</a></div><div class="ttdeci">static bool setMTU(uint16_t mtu)</div><div class="ttdoc">Setup local mtu that will be used to negotiate mtu during request from client peer.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:556</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a4a2229e9e517b84773e65c75124b0789"><div class="ttname"><a href="class_nim_b_l_e_device.html#a4a2229e9e517b84773e65c75124b0789">NimBLEDevice::getWhiteListAddress</a></div><div class="ttdeci">static NimBLEAddress getWhiteListAddress(size_t index)</div><div class="ttdoc">Gets the address at the vector index.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:729</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a4d9780d0b5fafc279483822af802a508"><div class="ttname"><a href="class_nim_b_l_e_device.html#a4d9780d0b5fafc279483822af802a508">NimBLEDevice::createServer</a></div><div class="ttdeci">static NimBLEServer * createServer()</div><div class="ttdoc">Create an instance of a server.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:125</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a5071168b3bda69aa4457a43473ad7a96"><div class="ttname"><a href="class_nim_b_l_e_device.html#a5071168b3bda69aa4457a43473ad7a96">NimBLEDevice::injectPassKey</a></div><div class="ttdeci">static bool injectPassKey(const NimBLEConnInfo &amp;peerInfo, uint32_t pin)</div><div class="ttdoc">Inject the provided passkey into the Security Manager.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1194</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a5520cf3f544d571636eed162de394ec2"><div class="ttname"><a href="class_nim_b_l_e_device.html#a5520cf3f544d571636eed162de394ec2">NimBLEDevice::getMTU</a></div><div class="ttdeci">static uint16_t getMTU()</div><div class="ttdoc">Get local MTU value set.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:569</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a58742d313c683b98b47396383cb6ddfa"><div class="ttname"><a href="class_nim_b_l_e_device.html#a58742d313c683b98b47396383cb6ddfa">NimBLEDevice::getPower</a></div><div class="ttdeci">static int getPower(NimBLETxPowerType type=NimBLETxPowerType::All)</div><div class="ttdoc">Get the transmission power.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:515</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a66362258c033860e8448032913be355f"><div class="ttname"><a href="class_nim_b_l_e_device.html#a66362258c033860e8448032913be355f">NimBLEDevice::deinit</a></div><div class="ttdeci">static bool deinit(bool clearAll=false)</div><div class="ttdoc">Shutdown the NimBLE stack/controller.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:943</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a77f9f343143d4f074ffb545dd14cbb2b"><div class="ttname"><a href="class_nim_b_l_e_device.html#a77f9f343143d4f074ffb545dd14cbb2b">NimBLEDevice::getAddress</a></div><div class="ttdeci">static NimBLEAddress getAddress()</div><div class="ttdoc">Get our device address.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1010</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a7fe0f568c17130150660e6307851be48"><div class="ttname"><a href="class_nim_b_l_e_device.html#a7fe0f568c17130150660e6307851be48">NimBLEDevice::getNumBonds</a></div><div class="ttdeci">static int getNumBonds()</div><div class="ttdoc">Gets the number of bonded peers stored.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:581</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a81abbad5e371fe1cdd91c002b42cc654"><div class="ttname"><a href="class_nim_b_l_e_device.html#a81abbad5e371fe1cdd91c002b42cc654">NimBLEDevice::whiteListRemove</a></div><div class="ttdeci">static bool whiteListRemove(const NimBLEAddress &amp;address)</div><div class="ttdoc">Remove a peer address from the whitelist.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:698</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a83aa0a3d9d57358d35082a442edf8549"><div class="ttname"><a href="class_nim_b_l_e_device.html#a83aa0a3d9d57358d35082a442edf8549">NimBLEDevice::deleteClient</a></div><div class="ttdeci">static bool deleteClient(NimBLEClient *pClient)</div><div class="ttdoc">Delete the client object and remove it from the list. Checks if it is connected or trying to connect ...</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:321</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a8b6b4bedfe37725ed9c20e91a3470005"><div class="ttname"><a href="class_nim_b_l_e_device.html#a8b6b4bedfe37725ed9c20e91a3470005">NimBLEDevice::startSecurity</a></div><div class="ttdeci">static bool startSecurity(uint16_t connHandle, int *rcPtr=nullptr)</div><div class="ttdoc">Start the connection securing and authorization for this connection.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1176</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a9c15d6b767091fae4412428436827c4e"><div class="ttname"><a href="class_nim_b_l_e_device.html#a9c15d6b767091fae4412428436827c4e">NimBLEDevice::getClientByHandle</a></div><div class="ttdeci">static NimBLEClient * getClientByHandle(uint16_t connHandle)</div><div class="ttdoc">Get a reference to a client by connection handle.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:370</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aa03937eadda020643b536c5d08174d3a"><div class="ttname"><a href="class_nim_b_l_e_device.html#aa03937eadda020643b536c5d08174d3a">NimBLEDevice::getSecurityPasskey</a></div><div class="ttdeci">static uint32_t getSecurityPasskey()</div><div class="ttdoc">Get the current passkey used for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1166</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aa8e340c02418771ce72dec758d560938"><div class="ttname"><a href="class_nim_b_l_e_device.html#aa8e340c02418771ce72dec758d560938">NimBLEDevice::setSecurityAuth</a></div><div class="ttdeci">static void setSecurityAuth(bool bonding, bool mitm, bool sc)</div><div class="ttdoc">Set the authorization mode for this device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1093</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aa994b01b2b5bb9f677f3cffb2f05d140"><div class="ttname"><a href="class_nim_b_l_e_device.html#aa994b01b2b5bb9f677f3cffb2f05d140">NimBLEDevice::getAdvertising</a></div><div class="ttdeci">static NimBLEExtAdvertising * getAdvertising()</div><div class="ttdoc">Get the instance of the extended advertising object.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:155</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aaa64b6baff54c010eb8b4d0ba338cc01"><div class="ttname"><a href="class_nim_b_l_e_device.html#aaa64b6baff54c010eb8b4d0ba338cc01">NimBLEDevice::setDeviceName</a></div><div class="ttdeci">static bool setDeviceName(const std::string &amp;deviceName)</div><div class="ttdoc">Set the BLEDevice name.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1222</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aabc68166b6dd4a744a98f94e569f37db"><div class="ttname"><a href="class_nim_b_l_e_device.html#aabc68166b6dd4a744a98f94e569f37db">NimBLEDevice::whiteListAdd</a></div><div class="ttdeci">static bool whiteListAdd(const NimBLEAddress &amp;address)</div><div class="ttdoc">Add a peer address to the whitelist.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:679</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab0a29a11f71d3ba32645c096067a853b"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab0a29a11f71d3ba32645c096067a853b">NimBLEDevice::setSecurityInitKey</a></div><div class="ttdeci">static void setSecurityInitKey(uint8_t initKey)</div><div class="ttdoc">If we are the initiator of the security procedure this sets the keys we will distribute.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1137</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab28cc2ec59fc9e62d05826633f53d2a0"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab28cc2ec59fc9e62d05826633f53d2a0">NimBLEDevice::getWhiteListCount</a></div><div class="ttdeci">static size_t getWhiteListCount()</div><div class="ttdoc">Gets the count of addresses in the whitelist.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:720</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab4771de8c0805836f0e7059199d56411"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab4771de8c0805836f0e7059199d56411">NimBLEDevice::host_task</a></div><div class="ttdeci">static void host_task(void *param)</div><div class="ttdoc">The main host task.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:833</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab62da4d606355b20539e37e881f4044d"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab62da4d606355b20539e37e881f4044d">NimBLEDevice::setSecurityPasskey</a></div><div class="ttdeci">static void setSecurityPasskey(uint32_t passKey)</div><div class="ttdoc">Set the passkey the server will ask for when pairing.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1158</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab769a5f5afb3ee486527d41b8c445566"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab769a5f5afb3ee486527d41b8c445566">NimBLEDevice::setSecurityRespKey</a></div><div class="ttdeci">static void setSecurityRespKey(uint8_t respKey)</div><div class="ttdoc">Set the keys we are willing to accept during pairing.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1150</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab9fee9e810d5fa18bc8a37053eb9b5d0"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab9fee9e810d5fa18bc8a37053eb9b5d0">NimBLEDevice::setSecurityIOCap</a></div><div class="ttdeci">static void setSecurityIOCap(uint8_t iocap)</div><div class="ttdoc">Set the Input/Output capabilities of this device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1124</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_abf8c494b54d9f0c9466c80f25dbdd961"><div class="ttname"><a href="class_nim_b_l_e_device.html#abf8c494b54d9f0c9466c80f25dbdd961">NimBLEDevice::toString</a></div><div class="ttdeci">static std::string toString()</div><div class="ttdoc">Return a string representation of the address of this device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1253</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ac4c78fbf7344fbc0d6189e92a756db91"><div class="ttname"><a href="class_nim_b_l_e_device.html#ac4c78fbf7344fbc0d6189e92a756db91">NimBLEDevice::setPower</a></div><div class="ttdeci">static bool setPower(int8_t dbm, NimBLETxPowerType type=NimBLETxPowerType::All)</div><div class="ttdoc">Set the transmission power.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:470</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ac7f090f4b1a2d593f38b20859e071f0c"><div class="ttname"><a href="class_nim_b_l_e_device.html#ac7f090f4b1a2d593f38b20859e071f0c">NimBLEDevice::getBondedAddress</a></div><div class="ttdeci">static NimBLEAddress getBondedAddress(int index)</div><div class="ttdoc">Get the address of a bonded peer device by index.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:643</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_acb098c56b7d08636e1745052eb184fb2"><div class="ttname"><a href="class_nim_b_l_e_device.html#acb098c56b7d08636e1745052eb184fb2">NimBLEDevice::getConnectedClients</a></div><div class="ttdeci">static std::vector&lt; NimBLEClient * &gt; getConnectedClients()</div><div class="ttdoc">Get a list of connected clients.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:413</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ae51e2d4d6169a61133178a1b0d6b5b45"><div class="ttname"><a href="class_nim_b_l_e_device.html#ae51e2d4d6169a61133178a1b0d6b5b45">NimBLEDevice::onWhiteList</a></div><div class="ttdeci">static bool onWhiteList(const NimBLEAddress &amp;address)</div><div class="ttdoc">Checks if a peer device is whitelisted.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:664</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_af93d92316454b051125460056368baec"><div class="ttname"><a href="class_nim_b_l_e_device.html#af93d92316454b051125460056368baec">NimBLEDevice::getScan</a></div><div class="ttdeci">static NimBLEScan * getScan()</div><div class="ttdoc">Retrieve the Scan object that we use for scanning.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:225</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_afc7060413706ec7217ea9add4b169117"><div class="ttname"><a href="class_nim_b_l_e_device.html#afc7060413706ec7217ea9add4b169117">NimBLEDevice::getClientByPeerAddress</a></div><div class="ttdeci">static NimBLEClient * getClientByPeerAddress(const NimBLEAddress &amp;peerAddress)</div><div class="ttdoc">Get a reference to a client by peer address.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:385</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aff35384524ab80a19ce1ef23fdcd970b"><div class="ttname"><a href="class_nim_b_l_e_device.html#aff35384524ab80a19ce1ef23fdcd970b">NimBLEDevice::injectConfirmPasskey</a></div><div class="ttdeci">static bool injectConfirmPasskey(const NimBLEConnInfo &amp;peerInfo, bool accept)</div><div class="ttdoc">Inject the provided numeric comparison response into the Security Manager.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1206</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_device_callbacks.html">NimBLEDeviceCallbacks</a></div><div class="ttdoc">Callbacks associated with a BLE device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:320</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_callbacks_html_aa0584e7aee6b90e377fc7ef34e89b419"><div class="ttname"><a href="class_nim_b_l_e_device_callbacks.html#aa0584e7aee6b90e377fc7ef34e89b419">NimBLEDeviceCallbacks::onStoreStatus</a></div><div class="ttdeci">virtual int onStoreStatus(struct ble_store_status_event *event, void *arg)</div><div class="ttdoc">Indicates an inability to perform a store operation. This callback should do one of two things: -Addr...</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1356</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a010b12177917f33e7d3633736c0cc553"><div class="ttname"><a href="class_nim_b_l_e_device.html#a010b12177917f33e7d3633736c0cc553">NimBLEDevice::createClient</a></div><div class="ttdeci">static NimBLEClient * createClient()</div><div class="ttdoc">Creates a new client object, each client can connect to 1 peripheral device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:349</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a01737196c77959a03964504ee0b48f4d"><div class="ttname"><a href="class_nim_b_l_e_device.html#a01737196c77959a03964504ee0b48f4d">NimBLEDevice::onSync</a></div><div class="ttdeci">static void onSync(void)</div><div class="ttdoc">Host synced with controller, all clear to make calls to the stack.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:835</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a0944f3f6eca16ed4b7fd96d88b2906d9"><div class="ttname"><a href="class_nim_b_l_e_device.html#a0944f3f6eca16ed4b7fd96d88b2906d9">NimBLEDevice::getCreatedClientCount</a></div><div class="ttdeci">static size_t getCreatedClientCount()</div><div class="ttdoc">Get the number of created client objects.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:409</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a0e021958df2f2dbf40e52b9022c37594"><div class="ttname"><a href="class_nim_b_l_e_device.html#a0e021958df2f2dbf40e52b9022c37594">NimBLEDevice::setDefaultPhy</a></div><div class="ttdeci">static bool setDefaultPhy(uint8_t txPhyMask, uint8_t rxPhyMask)</div><div class="ttdoc">Set the preferred default phy to use for connections.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:809</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a0f6521729222f9e55e40325824786070"><div class="ttname"><a href="class_nim_b_l_e_device.html#a0f6521729222f9e55e40325824786070">NimBLEDevice::setOwnAddr</a></div><div class="ttdeci">static bool setOwnAddr(const NimBLEAddress &amp;addr)</div><div class="ttdoc">Set the device address to use.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1145</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a10aec48b56ef404f42ade96d6244b312"><div class="ttname"><a href="class_nim_b_l_e_device.html#a10aec48b56ef404f42ade96d6244b312">NimBLEDevice::getDisconnectedClient</a></div><div class="ttdeci">static NimBLEClient * getDisconnectedClient()</div><div class="ttdoc">Finds the first disconnected client available.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:454</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a16bf4f5394735ed8d7f0bb32ca5d269a"><div class="ttname"><a href="class_nim_b_l_e_device.html#a16bf4f5394735ed8d7f0bb32ca5d269a">NimBLEDevice::isBonded</a></div><div class="ttdeci">static bool isBonded(const NimBLEAddress &amp;address)</div><div class="ttdoc">Checks if a peer device is bonded.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:672</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a179d1199badd67464cab921672a44405"><div class="ttname"><a href="class_nim_b_l_e_device.html#a179d1199badd67464cab921672a44405">NimBLEDevice::setCustomGapHandler</a></div><div class="ttdeci">static bool setCustomGapHandler(gap_event_handler handler)</div><div class="ttdoc">Set a custom callback for gap events.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1319</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a17fe75ad9d4f3d8cfd876b4a9bf70bb0"><div class="ttname"><a href="class_nim_b_l_e_device.html#a17fe75ad9d4f3d8cfd876b4a9bf70bb0">NimBLEDevice::deleteAllBonds</a></div><div class="ttdeci">static bool deleteAllBonds()</div><div class="ttdoc">Deletes all bonding information.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:649</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a181ee3b2b143e50e216fc2728194ff85"><div class="ttname"><a href="class_nim_b_l_e_device.html#a181ee3b2b143e50e216fc2728194ff85">NimBLEDevice::startAdvertising</a></div><div class="ttdeci">static bool startAdvertising(uint8_t instId, int duration=0, int maxEvents=0)</div><div class="ttdoc">Convenience function to begin advertising.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:206</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a1c07c41733730754fd31efae5a43f085"><div class="ttname"><a href="class_nim_b_l_e_device.html#a1c07c41733730754fd31efae5a43f085">NimBLEDevice::onReset</a></div><div class="ttdeci">static void onReset(int reason)</div><div class="ttdoc">Host reset, we pass the message so we don't make calls until re-synced.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:822</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a20fc979ec9dbad5cce7f73e41b2e422e"><div class="ttname"><a href="class_nim_b_l_e_device.html#a20fc979ec9dbad5cce7f73e41b2e422e">NimBLEDevice::deleteBond</a></div><div class="ttdeci">static bool deleteBond(const NimBLEAddress &amp;address)</div><div class="ttdoc">Deletes a peer bond.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:663</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a2e8bb71daabbffd9eab8787493a45ce7"><div class="ttname"><a href="class_nim_b_l_e_device.html#a2e8bb71daabbffd9eab8787493a45ce7">NimBLEDevice::init</a></div><div class="ttdeci">static bool init(const std::string &amp;deviceName)</div><div class="ttdoc">Initialize the BLE environment.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:894</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a31acb43c150014f06bad74b57c2335ff"><div class="ttname"><a href="class_nim_b_l_e_device.html#a31acb43c150014f06bad74b57c2335ff">NimBLEDevice::setOwnAddrType</a></div><div class="ttdeci">static bool setOwnAddrType(uint8_t type)</div><div class="ttdoc">Sets the address type to use.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1116</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a3c251b1d5c651ab9ef9b4819f79c1629"><div class="ttname"><a href="class_nim_b_l_e_device.html#a3c251b1d5c651ab9ef9b4819f79c1629">NimBLEDevice::stopAdvertising</a></div><div class="ttdeci">static bool stopAdvertising()</div><div class="ttdoc">Convenience function to stop all advertising.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:246</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a41d4cc7c85cba0721c6649b001b31b4d"><div class="ttname"><a href="class_nim_b_l_e_device.html#a41d4cc7c85cba0721c6649b001b31b4d">NimBLEDevice::getServer</a></div><div class="ttdeci">static NimBLEServer * getServer()</div><div class="ttdoc">Get the instance of the server.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:155</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a425561f1e23856756ab9c1c330da5737"><div class="ttname"><a href="class_nim_b_l_e_device.html#a425561f1e23856756ab9c1c330da5737">NimBLEDevice::isInitialized</a></div><div class="ttdeci">static bool isInitialized()</div><div class="ttdoc">Check if the initialization is complete.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1082</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a43b83de25635b69cfd663a7f0e7784d6"><div class="ttname"><a href="class_nim_b_l_e_device.html#a43b83de25635b69cfd663a7f0e7784d6">NimBLEDevice::setMTU</a></div><div class="ttdeci">static bool setMTU(uint16_t mtu)</div><div class="ttdoc">Setup local mtu that will be used to negotiate mtu during request from client peer.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:609</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a4a2229e9e517b84773e65c75124b0789"><div class="ttname"><a href="class_nim_b_l_e_device.html#a4a2229e9e517b84773e65c75124b0789">NimBLEDevice::getWhiteListAddress</a></div><div class="ttdeci">static NimBLEAddress getWhiteListAddress(size_t index)</div><div class="ttdoc">Gets the address at the vector index.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:782</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a4d9780d0b5fafc279483822af802a508"><div class="ttname"><a href="class_nim_b_l_e_device.html#a4d9780d0b5fafc279483822af802a508">NimBLEDevice::createServer</a></div><div class="ttdeci">static NimBLEServer * createServer()</div><div class="ttdoc">Create an instance of a server.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:140</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a5071168b3bda69aa4457a43473ad7a96"><div class="ttname"><a href="class_nim_b_l_e_device.html#a5071168b3bda69aa4457a43473ad7a96">NimBLEDevice::injectPassKey</a></div><div class="ttdeci">static bool injectPassKey(const NimBLEConnInfo &amp;peerInfo, uint32_t pin)</div><div class="ttdoc">Inject the provided passkey into the Security Manager.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1276</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a5520cf3f544d571636eed162de394ec2"><div class="ttname"><a href="class_nim_b_l_e_device.html#a5520cf3f544d571636eed162de394ec2">NimBLEDevice::getMTU</a></div><div class="ttdeci">static uint16_t getMTU()</div><div class="ttdoc">Get local MTU value set.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:622</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a58742d313c683b98b47396383cb6ddfa"><div class="ttname"><a href="class_nim_b_l_e_device.html#a58742d313c683b98b47396383cb6ddfa">NimBLEDevice::getPower</a></div><div class="ttdeci">static int getPower(NimBLETxPowerType type=NimBLETxPowerType::All)</div><div class="ttdoc">Get the transmission power.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:568</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a66362258c033860e8448032913be355f"><div class="ttname"><a href="class_nim_b_l_e_device.html#a66362258c033860e8448032913be355f">NimBLEDevice::deinit</a></div><div class="ttdeci">static bool deinit(bool clearAll=false)</div><div class="ttdoc">Shutdown the NimBLE stack/controller.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1021</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a77f9f343143d4f074ffb545dd14cbb2b"><div class="ttname"><a href="class_nim_b_l_e_device.html#a77f9f343143d4f074ffb545dd14cbb2b">NimBLEDevice::getAddress</a></div><div class="ttdeci">static NimBLEAddress getAddress()</div><div class="ttdoc">Get our device address.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1094</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a7fe0f568c17130150660e6307851be48"><div class="ttname"><a href="class_nim_b_l_e_device.html#a7fe0f568c17130150660e6307851be48">NimBLEDevice::getNumBonds</a></div><div class="ttdeci">static int getNumBonds()</div><div class="ttdoc">Gets the number of bonded peers stored.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:634</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a81abbad5e371fe1cdd91c002b42cc654"><div class="ttname"><a href="class_nim_b_l_e_device.html#a81abbad5e371fe1cdd91c002b42cc654">NimBLEDevice::whiteListRemove</a></div><div class="ttdeci">static bool whiteListRemove(const NimBLEAddress &amp;address)</div><div class="ttdoc">Remove a peer address from the whitelist.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:751</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a83aa0a3d9d57358d35082a442edf8549"><div class="ttname"><a href="class_nim_b_l_e_device.html#a83aa0a3d9d57358d35082a442edf8549">NimBLEDevice::deleteClient</a></div><div class="ttdeci">static bool deleteClient(NimBLEClient *pClient)</div><div class="ttdoc">Delete the client object and remove it from the list. Checks if it is connected or trying to connect ...</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:376</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a8b6b4bedfe37725ed9c20e91a3470005"><div class="ttname"><a href="class_nim_b_l_e_device.html#a8b6b4bedfe37725ed9c20e91a3470005">NimBLEDevice::startSecurity</a></div><div class="ttdeci">static bool startSecurity(uint16_t connHandle, int *rcPtr=nullptr)</div><div class="ttdoc">Start the connection securing and authorization for this connection.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1258</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_a9c15d6b767091fae4412428436827c4e"><div class="ttname"><a href="class_nim_b_l_e_device.html#a9c15d6b767091fae4412428436827c4e">NimBLEDevice::getClientByHandle</a></div><div class="ttdeci">static NimBLEClient * getClientByHandle(uint16_t connHandle)</div><div class="ttdoc">Get a reference to a client by connection handle.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:425</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aa03937eadda020643b536c5d08174d3a"><div class="ttname"><a href="class_nim_b_l_e_device.html#aa03937eadda020643b536c5d08174d3a">NimBLEDevice::getSecurityPasskey</a></div><div class="ttdeci">static uint32_t getSecurityPasskey()</div><div class="ttdoc">Get the current passkey used for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1248</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aa8e340c02418771ce72dec758d560938"><div class="ttname"><a href="class_nim_b_l_e_device.html#aa8e340c02418771ce72dec758d560938">NimBLEDevice::setSecurityAuth</a></div><div class="ttdeci">static void setSecurityAuth(bool bonding, bool mitm, bool sc)</div><div class="ttdoc">Set the authorization mode for this device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1175</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aa994b01b2b5bb9f677f3cffb2f05d140"><div class="ttname"><a href="class_nim_b_l_e_device.html#aa994b01b2b5bb9f677f3cffb2f05d140">NimBLEDevice::getAdvertising</a></div><div class="ttdeci">static NimBLEExtAdvertising * getAdvertising()</div><div class="ttdoc">Get the instance of the extended advertising object.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:191</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aaa64b6baff54c010eb8b4d0ba338cc01"><div class="ttname"><a href="class_nim_b_l_e_device.html#aaa64b6baff54c010eb8b4d0ba338cc01">NimBLEDevice::setDeviceName</a></div><div class="ttdeci">static bool setDeviceName(const std::string &amp;deviceName)</div><div class="ttdoc">Set the BLEDevice name.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1304</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aabc68166b6dd4a744a98f94e569f37db"><div class="ttname"><a href="class_nim_b_l_e_device.html#aabc68166b6dd4a744a98f94e569f37db">NimBLEDevice::whiteListAdd</a></div><div class="ttdeci">static bool whiteListAdd(const NimBLEAddress &amp;address)</div><div class="ttdoc">Add a peer address to the whitelist.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:732</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab0a29a11f71d3ba32645c096067a853b"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab0a29a11f71d3ba32645c096067a853b">NimBLEDevice::setSecurityInitKey</a></div><div class="ttdeci">static void setSecurityInitKey(uint8_t initKey)</div><div class="ttdoc">If we are the initiator of the security procedure this sets the keys we will distribute.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1219</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab28cc2ec59fc9e62d05826633f53d2a0"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab28cc2ec59fc9e62d05826633f53d2a0">NimBLEDevice::getWhiteListCount</a></div><div class="ttdeci">static size_t getWhiteListCount()</div><div class="ttdoc">Gets the count of addresses in the whitelist.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:773</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab4771de8c0805836f0e7059199d56411"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab4771de8c0805836f0e7059199d56411">NimBLEDevice::host_task</a></div><div class="ttdeci">static void host_task(void *param)</div><div class="ttdoc">The main host task.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:884</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab62da4d606355b20539e37e881f4044d"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab62da4d606355b20539e37e881f4044d">NimBLEDevice::setSecurityPasskey</a></div><div class="ttdeci">static void setSecurityPasskey(uint32_t passKey)</div><div class="ttdoc">Set the passkey the server will ask for when pairing.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1240</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab769a5f5afb3ee486527d41b8c445566"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab769a5f5afb3ee486527d41b8c445566">NimBLEDevice::setSecurityRespKey</a></div><div class="ttdeci">static void setSecurityRespKey(uint8_t respKey)</div><div class="ttdoc">Set the keys we are willing to accept during pairing.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1232</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ab9fee9e810d5fa18bc8a37053eb9b5d0"><div class="ttname"><a href="class_nim_b_l_e_device.html#ab9fee9e810d5fa18bc8a37053eb9b5d0">NimBLEDevice::setSecurityIOCap</a></div><div class="ttdeci">static void setSecurityIOCap(uint8_t iocap)</div><div class="ttdoc">Set the Input/Output capabilities of this device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1206</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_abf8c494b54d9f0c9466c80f25dbdd961"><div class="ttname"><a href="class_nim_b_l_e_device.html#abf8c494b54d9f0c9466c80f25dbdd961">NimBLEDevice::toString</a></div><div class="ttdeci">static std::string toString()</div><div class="ttdoc">Return a string representation of the address of this device.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1335</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ac4c78fbf7344fbc0d6189e92a756db91"><div class="ttname"><a href="class_nim_b_l_e_device.html#ac4c78fbf7344fbc0d6189e92a756db91">NimBLEDevice::setPower</a></div><div class="ttdeci">static bool setPower(int8_t dbm, NimBLETxPowerType type=NimBLETxPowerType::All)</div><div class="ttdoc">Set the transmission power.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:525</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ac7f090f4b1a2d593f38b20859e071f0c"><div class="ttname"><a href="class_nim_b_l_e_device.html#ac7f090f4b1a2d593f38b20859e071f0c">NimBLEDevice::getBondedAddress</a></div><div class="ttdeci">static NimBLEAddress getBondedAddress(int index)</div><div class="ttdoc">Get the address of a bonded peer device by index.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:696</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_acb098c56b7d08636e1745052eb184fb2"><div class="ttname"><a href="class_nim_b_l_e_device.html#acb098c56b7d08636e1745052eb184fb2">NimBLEDevice::getConnectedClients</a></div><div class="ttdeci">static std::vector&lt; NimBLEClient * &gt; getConnectedClients()</div><div class="ttdoc">Get a list of connected clients.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:468</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_ae51e2d4d6169a61133178a1b0d6b5b45"><div class="ttname"><a href="class_nim_b_l_e_device.html#ae51e2d4d6169a61133178a1b0d6b5b45">NimBLEDevice::onWhiteList</a></div><div class="ttdeci">static bool onWhiteList(const NimBLEAddress &amp;address)</div><div class="ttdoc">Checks if a peer device is whitelisted.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:717</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_af93d92316454b051125460056368baec"><div class="ttname"><a href="class_nim_b_l_e_device.html#af93d92316454b051125460056368baec">NimBLEDevice::getScan</a></div><div class="ttdeci">static NimBLEScan * getScan()</div><div class="ttdoc">Retrieve the Scan object that we use for scanning.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:261</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_afc7060413706ec7217ea9add4b169117"><div class="ttname"><a href="class_nim_b_l_e_device.html#afc7060413706ec7217ea9add4b169117">NimBLEDevice::getClientByPeerAddress</a></div><div class="ttdeci">static NimBLEClient * getClientByPeerAddress(const NimBLEAddress &amp;peerAddress)</div><div class="ttdoc">Get a reference to a client by peer address.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:440</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html_aff35384524ab80a19ce1ef23fdcd970b"><div class="ttname"><a href="class_nim_b_l_e_device.html#aff35384524ab80a19ce1ef23fdcd970b">NimBLEDevice::injectConfirmPasskey</a></div><div class="ttdeci">static bool injectConfirmPasskey(const NimBLEConnInfo &amp;peerInfo, bool accept)</div><div class="ttdoc">Inject the provided numeric comparison response into the Security Manager.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.cpp:1288</div></div>
<div class="ttc" id="aclass_nim_b_l_e_ext_advertisement_html"><div class="ttname"><a href="class_nim_b_l_e_ext_advertisement.html">NimBLEExtAdvertisement</a></div><div class="ttdoc">Extended advertisement data.</div><div class="ttdef"><b>Definition</b> NimBLEExtAdvertising.h:46</div></div>
<div class="ttc" id="aclass_nim_b_l_e_ext_advertising_html"><div class="ttname"><a href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a></div><div class="ttdoc">Extended advertising class.</div><div class="ttdef"><b>Definition</b> NimBLEExtAdvertising.h:110</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_server_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a></div><div class="ttdoc">L2CAP server class.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPServer.h:20</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html"><div class="ttname"><a href="class_nim_b_l_e_scan.html">NimBLEScan</a></div><div class="ttdoc">Perform and manage BLE scans.</div><div class="ttdef"><b>Definition</b> NimBLEScan.h:67</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html"><div class="ttname"><a href="class_nim_b_l_e_server.html">NimBLEServer</a></div><div class="ttdoc">The model of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:60</div></div>
<div class="ttc" id="animconfig_8h_html"><div class="ttname"><a href="nimconfig_8h.html">nimconfig.h</a></div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -245,7 +245,7 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_ext_advertising_8h_source.h
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_BROADCASTER &amp;&amp; CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_EXTADVERTISING_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_address_html"><div class="ttname"><a href="class_nim_b_l_e_address.html">NimBLEAddress</a></div><div class="ttdoc">A BLE device address.</div><div class="ttdef"><b>Definition</b> NimBLEAddress.h:41</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:117</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_ext_advertisement_html"><div class="ttname"><a href="class_nim_b_l_e_ext_advertisement.html">NimBLEExtAdvertisement</a></div><div class="ttdoc">Extended advertisement data.</div><div class="ttdef"><b>Definition</b> NimBLEExtAdvertising.h:46</div></div>
<div class="ttc" id="aclass_nim_b_l_e_ext_advertisement_html_a02fe1652f994e5bf76dc03381e47b39e"><div class="ttname"><a href="class_nim_b_l_e_ext_advertisement.html#a02fe1652f994e5bf76dc03381e47b39e">NimBLEExtAdvertisement::setAddress</a></div><div class="ttdeci">void setAddress(const NimBLEAddress &amp;addr)</div><div class="ttdoc">Set the address to use for this advertisement.</div><div class="ttdef"><b>Definition</b> NimBLEExtAdvertising.cpp:404</div></div>
<div class="ttc" id="aclass_nim_b_l_e_ext_advertisement_html_a048872d3793e7e0884f958b7c0719b9f"><div class="ttname"><a href="class_nim_b_l_e_ext_advertisement.html#a048872d3793e7e0884f958b7c0719b9f">NimBLEExtAdvertisement::setAppearance</a></div><div class="ttdeci">bool setAppearance(uint16_t appearance)</div><div class="ttdoc">Set the appearance.</div><div class="ttdef"><b>Definition</b> NimBLEExtAdvertising.cpp:578</div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -0,0 +1,217 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: /github/workspace/src/NimBLEL2CAPChannel.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_nim_b_l_e_l2_c_a_p_channel_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">NimBLEL2CAPChannel.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">//</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// (C) Dr. Michael &#39;Mickey&#39; Lauer &lt;mickey@vanille-media.de&gt;</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">//</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#ifndef NIMBLEL2CAPCHANNEL_H</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor"># define NIMBLEL2CAPCHANNEL_H</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor"># include &quot;<a class="code" href="nimconfig_8h.html">nimconfig.h</a>&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor"># include &quot;inttypes.h&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor"># if defined(CONFIG_NIMBLE_CPP_IDF)</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor"># include &quot;host/ble_l2cap.h&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor"># include &quot;os/os_mbuf.h&quot;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor"># include &quot;nimble/nimble/host/include/host/ble_l2cap.h&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor"># include &quot;nimble/porting/nimble/include/os/os_mbuf.h&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">/**** FIX COMPILATION ****/</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor"># undef min</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor"># undef max</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">/**************************/</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor"># include &lt;vector&gt;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor"># include &lt;atomic&gt;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="keyword">struct </span><a class="code hl_struct" href="struct_nim_b_l_e_task_data.html">NimBLETaskData</a>;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="foldopen" id="foldopen00038" data-start="{" data-end="};">
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel.html"> 38</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>* <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel.html#a10c23f4fa6e2343de6c996529aceb449">connect</a>(<a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* client, uint16_t psm, uint16_t mtu, <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>* callbacks);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel.html#a5547ff361f487a5d252b60991e9d21a8">write</a>(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; bytes);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel.html#adca49cca95fc06b2491d4e59df620e69"> 59</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel.html#adca49cca95fc06b2491d4e59df620e69">isConnected</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !!channel; }</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>(uint16_t psm, uint16_t mtu, <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>* callbacks);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">~NimBLEL2CAPChannel</a>();</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> handleConnectionEvent(<span class="keyword">struct</span> ble_l2cap_event* event);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">int</span> handleAcceptEvent(<span class="keyword">struct</span> ble_l2cap_event* event);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> handleDataReceivedEvent(<span class="keyword">struct</span> ble_l2cap_event* event);</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> handleTxUnstalledEvent(<span class="keyword">struct</span> ble_l2cap_event* event);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> handleDisconnectionEvent(<span class="keyword">struct</span> ble_l2cap_event* event);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>;</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* LOG_TAG = <span class="stringliteral">&quot;NimBLEL2CAPChannel&quot;</span>;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> uint16_t psm; <span class="comment">// PSM of the channel</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">const</span> uint16_t mtu; <span class="comment">// The requested (local) MTU of the channel, might be larger than negotiated MTU</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">struct </span>ble_l2cap_chan* channel = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>* callbacks;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> uint8_t* receiveBuffer = <span class="keyword">nullptr</span>; <span class="comment">// buffers a full (local) MTU</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="comment">// NimBLE memory pool</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">void</span>* _coc_memory = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">struct </span>os_mempool _coc_mempool;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">struct </span>os_mbuf_pool _coc_mbuf_pool;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="comment">// Runtime handling</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> std::atomic&lt;bool&gt; stalled{<span class="keyword">false</span>};</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_struct" href="struct_nim_b_l_e_task_data.html">NimBLETaskData</a>* m_pTaskData{<span class="keyword">nullptr</span>};</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> </div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// Allocate / deallocate NimBLE memory pool</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">bool</span> setupMemPool();</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">void</span> teardownMemPool();</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// Writes data up to the size of the negotiated MTU to the channel.</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> writeFragment(std::vector&lt;uint8_t&gt;::const_iterator begin, std::vector&lt;uint8_t&gt;::const_iterator end);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="comment">// L2CAP event handler</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">static</span> <span class="keywordtype">int</span> handleL2capEvent(<span class="keyword">struct</span> ble_l2cap_event* event, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>};</div>
</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="foldopen" id="foldopen00104" data-start="{" data-end="};">
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html"> 104</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a> {</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">~NimBLEL2CAPChannelCallbacks</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a5932343afdb1dd9e67d55e530638180f"> 112</a></span> <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a5932343afdb1dd9e67d55e530638180f">shouldAcceptConnection</a>(<a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>* channel) { <span class="keywordflow">return</span> <span class="keyword">true</span>; }</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a7bb7aaf60287909a687830834ee1c816"> 115</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a7bb7aaf60287909a687830834ee1c816">onConnect</a>(<a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>* channel, uint16_t negotiatedMTU) {};</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a10bd007ae5e5e1c41eec5bac829a006d"> 118</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a10bd007ae5e5e1c41eec5bac829a006d">onRead</a>(<a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>* channel, std::vector&lt;uint8_t&gt;&amp; data) {};</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a3b56fa029bfe13d88c3231228078c982"> 121</a></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a3b56fa029bfe13d88c3231228078c982">onDisconnect</a>(<a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>* channel) {};</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span>};</div>
</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html"><div class="ttname"><a href="class_nim_b_l_e_client.html">NimBLEClient</a></div><div class="ttdoc">A model of a BLE client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.h:49</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></div><div class="ttdoc">Callbacks base class for the L2CAP channel.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:104</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_callbacks_html_a10bd007ae5e5e1c41eec5bac829a006d"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a10bd007ae5e5e1c41eec5bac829a006d">NimBLEL2CAPChannelCallbacks::onRead</a></div><div class="ttdeci">virtual void onRead(NimBLEL2CAPChannel *channel, std::vector&lt; uint8_t &gt; &amp;data)</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:118</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_callbacks_html_a3b56fa029bfe13d88c3231228078c982"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a3b56fa029bfe13d88c3231228078c982">NimBLEL2CAPChannelCallbacks::onDisconnect</a></div><div class="ttdeci">virtual void onDisconnect(NimBLEL2CAPChannel *channel)</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:121</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_callbacks_html_a5932343afdb1dd9e67d55e530638180f"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a5932343afdb1dd9e67d55e530638180f">NimBLEL2CAPChannelCallbacks::shouldAcceptConnection</a></div><div class="ttdeci">virtual bool shouldAcceptConnection(NimBLEL2CAPChannel *channel)</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:112</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_callbacks_html_a7bb7aaf60287909a687830834ee1c816"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a7bb7aaf60287909a687830834ee1c816">NimBLEL2CAPChannelCallbacks::onConnect</a></div><div class="ttdeci">virtual void onConnect(NimBLEL2CAPChannel *channel, uint16_t negotiatedMTU)</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:115</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a></div><div class="ttdoc">Encapsulates a L2CAP channel.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:38</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_html_a10c23f4fa6e2343de6c996529aceb449"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel.html#a10c23f4fa6e2343de6c996529aceb449">NimBLEL2CAPChannel::connect</a></div><div class="ttdeci">static NimBLEL2CAPChannel * connect(NimBLEClient *client, uint16_t psm, uint16_t mtu, NimBLEL2CAPChannelCallbacks *callbacks)</div><div class="ttdoc">Open an L2CAP channel via the specified PSM and MTU.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.cpp:145</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_html_a5547ff361f487a5d252b60991e9d21a8"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel.html#a5547ff361f487a5d252b60991e9d21a8">NimBLEL2CAPChannel::write</a></div><div class="ttdeci">bool write(const std::vector&lt; uint8_t &gt; &amp;bytes)</div><div class="ttdoc">Write data to the channel.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.cpp:171</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_html_adca49cca95fc06b2491d4e59df620e69"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel.html#adca49cca95fc06b2491d4e59df620e69">NimBLEL2CAPChannel::isConnected</a></div><div class="ttdeci">bool isConnected() const</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:59</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_server_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a></div><div class="ttdoc">L2CAP server class.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPServer.h:20</div></div>
<div class="ttc" id="animconfig_8h_html"><div class="ttname"><a href="nimconfig_8h.html">nimconfig.h</a></div></div>
<div class="ttc" id="astruct_nim_b_l_e_task_data_html"><div class="ttname"><a href="struct_nim_b_l_e_task_data.html">NimBLETaskData</a></div><div class="ttdoc">A structure to hold data for a task that is waiting for a response.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.h:32</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>NimBLEL2CAPChannel.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,144 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: /github/workspace/src/NimBLEL2CAPServer.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_nim_b_l_e_l2_c_a_p_server_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">NimBLEL2CAPServer.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">//</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">// (C) Dr. Michael &#39;Mickey&#39; Lauer &lt;mickey@vanille-media.de&gt;</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">//</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#ifndef NIMBLEL2CAPSERVER_H</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#define NIMBLEL2CAPSERVER_H</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &quot;inttypes.h&quot;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>;</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>;</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_l2_c_a_p_server.html"> 20</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a> {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>* <a class="code hl_function" href="class_nim_b_l_e_l2_c_a_p_server.html#a9328df1e0b29beb0492469ca6ebc969c">createService</a>(<span class="keyword">const</span> uint16_t psm, <span class="keyword">const</span> uint16_t mtu, <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>* callbacks);</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>();</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_server.html">~NimBLEL2CAPServer</a>();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> std::vector&lt;NimBLEL2CAPChannel*&gt; services;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_device.html">NimBLEDevice</a>;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span>};</div>
</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></div><div class="ttdoc">Callbacks base class for the L2CAP channel.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:104</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_channel_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a></div><div class="ttdoc">Encapsulates a L2CAP channel.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPChannel.h:38</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_server_html"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a></div><div class="ttdoc">L2CAP server class.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPServer.h:20</div></div>
<div class="ttc" id="aclass_nim_b_l_e_l2_c_a_p_server_html_a9328df1e0b29beb0492469ca6ebc969c"><div class="ttname"><a href="class_nim_b_l_e_l2_c_a_p_server.html#a9328df1e0b29beb0492469ca6ebc969c">NimBLEL2CAPServer::createService</a></div><div class="ttdeci">NimBLEL2CAPChannel * createService(const uint16_t psm, const uint16_t mtu, NimBLEL2CAPChannelCallbacks *callbacks)</div><div class="ttdoc">Register a new L2CAP service instance.</div><div class="ttdef"><b>Definition</b> NimBLEL2CAPServer.cpp:22</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>NimBLEL2CAPServer.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -147,61 +147,50 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_local_value_attribute_8h_so
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>} NIMBLE_PROPERTY;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span><span class="preprocessor"># include &quot;NimBLELocalAttribute.h&quot;</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor"># include &quot;NimBLEAttValue.h&quot;</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor"># include &lt;vector&gt;</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="keyword">class </span>NimBLELocalValueAttribute : <span class="keyword">public</span> <a class="code hl_class" href="class_nim_b_l_e_local_attribute.html">NimBLELocalAttribute</a> {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> uint16_t getProperties()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_properties; }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">size_t</span> getLength()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value.size(); }</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> getValue(time_t* timestamp = <span class="keyword">nullptr</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value; }</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> uint8_t* data, <span class="keywordtype">size_t</span> size) { m_value.<a class="code hl_function" href="class_nim_b_l_e_att_value.html#a5c8c5ecfa3864d45ea5b155385e3f9fa">setValue</a>(data, size); }</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="preprocessor"># include &quot;NimBLEValueAttribute.h&quot;</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor"># include &quot;NimBLEAttValue.h&quot;</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor"># include &lt;vector&gt;</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="keyword">class </span>NimBLELocalValueAttribute : <span class="keyword">public</span> <a class="code hl_class" href="class_nim_b_l_e_local_attribute.html">NimBLELocalAttribute</a>, <span class="keyword">public</span> NimBLEValueAttribute {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> uint16_t getProperties()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_properties; }</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> uint8_t* data, <span class="keywordtype">size_t</span> size) { m_value.setValue(data, size); }</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> <span class="keywordtype">char</span>* str) { m_value.setValue(str); }</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; vec) { m_value.setValue(vec); }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> <span class="keywordtype">char</span>* str) { m_value.setValue(str); }</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> std::vector&lt;uint8_t&gt;&amp; vec) { m_value.setValue(vec); }</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> T&amp; val) {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> m_value.setValue&lt;T&gt;(val);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">void</span> setValue(<span class="keyword">const</span> T&amp; val) {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> m_value.setValue&lt;T&gt;(val);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> }</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> T getValue(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> m_value.getValue&lt;T&gt;(timestamp, skipSizeCheck);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> }</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_server.html">NimBLEServer</a>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> NimBLELocalValueAttribute(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; uuid,</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> uint16_t handle,</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> uint16_t maxLen,</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> uint16_t initLen = <a class="code hl_define" href="nimconfig_8h.html#a4d4ea715325f75455b43c7dbaa69d7a0">CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH</a>)</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> : <a class="code hl_class" href="class_nim_b_l_e_local_attribute.html">NimBLELocalAttribute</a>(uuid, handle), m_value(initLen, maxLen) {}</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">virtual</span> ~NimBLELocalValueAttribute() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> readEvent(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) = 0;</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeEvent(<span class="keyword">const</span> uint8_t* val, uint16_t len, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) = 0;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a>&amp; getAttVal()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value; }</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">void</span> setProperties(uint16_t properties) { m_properties = properties; }</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> </div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> m_value{};</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> uint16_t m_properties{0};</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span>};</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_PERIPHERAL</span></div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_LOCAL_VALUE_ATTRIBUTE_H_</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> NimBLELocalValueAttribute(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; uuid,</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> uint16_t handle,</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> uint16_t maxLen,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> uint16_t initLen = <a class="code hl_define" href="nimconfig_8h.html#a4d4ea715325f75455b43c7dbaa69d7a0">CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH</a>)</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> : <a class="code hl_class" href="class_nim_b_l_e_local_attribute.html">NimBLELocalAttribute</a>(uuid, handle), NimBLEValueAttribute(maxLen, initLen) {}</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keyword">virtual</span> ~NimBLELocalValueAttribute() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> readEvent(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) = 0;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> writeEvent(<span class="keyword">const</span> uint8_t* val, uint16_t len, <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo) = 0;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a>&amp; getAttVal()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value; }</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">void</span> setProperties(uint16_t properties) { m_properties = properties; }</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> </div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> uint16_t m_properties{0};</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span>};</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_PERIPHERAL</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_LOCAL_VALUE_ATTRIBUTE_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html"><div class="ttname"><a href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a></div><div class="ttdoc">A specialized container class to hold BLE attribute values.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:71</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_a5c8c5ecfa3864d45ea5b155385e3f9fa"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#a5c8c5ecfa3864d45ea5b155385e3f9fa">NimBLEAttValue::setValue</a></div><div class="ttdeci">bool setValue(const uint8_t *value, uint16_t len)</div><div class="ttdoc">Set the value from a buffer.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.cpp:107</div></div>
<div class="ttc" id="aclass_nim_b_l_e_conn_info_html"><div class="ttname"><a href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a></div><div class="ttdoc">Connection information.</div><div class="ttdef"><b>Definition</b> NimBLEConnInfo.h:32</div></div>
<div class="ttc" id="aclass_nim_b_l_e_local_attribute_html"><div class="ttname"><a href="class_nim_b_l_e_local_attribute.html">NimBLELocalAttribute</a></div><div class="ttdoc">A base class for local BLE attributes.</div><div class="ttdef"><b>Definition</b> NimBLELocalAttribute.h:29</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html"><div class="ttname"><a href="class_nim_b_l_e_server.html">NimBLEServer</a></div><div class="ttdoc">The model of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:60</div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -131,95 +131,84 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_remote_value_attribute_8h_s
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor"># undef max</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">/**************************/</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor"># include &quot;NimBLEAttribute.h&quot;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor"># include &quot;NimBLEValueAttribute.h&quot;</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor"># include &quot;NimBLEAttValue.h&quot;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keyword">class </span>NimBLERemoteValueAttribute : <span class="keyword">public</span> <a class="code hl_class" href="class_nim_b_l_e_attribute.html">NimBLEAttribute</a> {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keyword">class </span>NimBLERemoteValueAttribute : <span class="keyword">public</span> NimBLEValueAttribute, <span class="keyword">public</span> <a class="code hl_class" href="class_nim_b_l_e_attribute.html">NimBLEAttribute</a> {</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> readValue(time_t* timestamp = <span class="keyword">nullptr</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> readValue(time_t* timestamp = <span class="keyword">nullptr</span>);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordtype">size_t</span> getLength()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value.size(); }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> getValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value; }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* getClient() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">bool</span> writeValue(<span class="keyword">const</span> uint8_t* data, <span class="keywordtype">size_t</span> length, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">bool</span> writeValue(<span class="keyword">const</span> <span class="keywordtype">char</span>* str, <span class="keywordtype">size_t</span> length = 0, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(str), length ? length : strlen(str), response);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> }</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"># if __cplusplus &lt; 201703L</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> writeValue(<span class="keyword">const</span> T&amp; v, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(T), response);</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> }</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keyword">typename</span> std::enable_if&lt;Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> writeValue(<span class="keyword">const</span> T&amp; s, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(s.c_str()), s.length(), response);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> }</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">typename</span> std::enable_if&lt;Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> writeValue(<span class="keyword">const</span> T&amp; v, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), response);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> }</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type writeValue(<span class="keyword">const</span> T&amp; v, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_data_size&lt;T&gt;::value) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), response);</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_c_str_length&lt;T&gt;::value) {</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.c_str()), v.length(), response);</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(v), response);</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> }</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> T getValue(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordflow">return</span> m_value.getValue&lt;T&gt;(timestamp, skipSizeCheck);</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> }</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> T readValue(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> readValue();</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordflow">return</span> m_value.getValue&lt;T&gt;(timestamp, skipSizeCheck);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> }</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> </div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> NimBLERemoteValueAttribute(<span class="keyword">const</span> ble_uuid_any_t&amp; uuid, uint16_t handle) : <a class="code hl_class" href="class_nim_b_l_e_attribute.html">NimBLEAttribute</a>(uuid, handle) {}</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">virtual</span> ~NimBLERemoteValueAttribute() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keyword">static</span> <span class="keywordtype">int</span> onReadCB(uint16_t conn_handle, <span class="keyword">const</span> ble_gatt_error* error, ble_gatt_attr* attr, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keyword">static</span> <span class="keywordtype">int</span> onWriteCB(uint16_t conn_handle, <span class="keyword">const</span> ble_gatt_error* error, ble_gatt_attr* attr, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> <span class="keyword">mutable</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> m_value{};</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span>};</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_CENTRAL */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_REMOTE_VALUE_ATTRIBUTE_H_</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">virtual</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* getClient() <span class="keyword">const</span> = 0;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordtype">bool</span> writeValue(<span class="keyword">const</span> uint8_t* data, <span class="keywordtype">size_t</span> length, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordtype">bool</span> writeValue(<span class="keyword">const</span> <span class="keywordtype">char</span>* str, <span class="keywordtype">size_t</span> length = 0, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(str), length ? length : strlen(str), response);</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor"># if __cplusplus &lt; 201703L</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value &amp;&amp; !Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> writeValue(<span class="keyword">const</span> T&amp; v, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(T), response);</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> }</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">typename</span> std::enable_if&lt;Has_c_str_length&lt;T&gt;::value &amp;&amp; !Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> writeValue(<span class="keyword">const</span> T&amp; s, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(s.c_str()), s.length(), response);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> }</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="preprocessor"># ifdef _DOXYGEN_</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">bool</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keyword">typename</span> std::enable_if&lt;Has_data_size&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> writeValue(<span class="keyword">const</span> T&amp; v, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), response);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span><span class="preprocessor"># else</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_pointer&lt;T&gt;::value, <span class="keywordtype">bool</span>&gt;::type writeValue(<span class="keyword">const</span> T&amp; v, <span class="keywordtype">bool</span> response = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_data_size&lt;T&gt;::value) {</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.data()), v.size(), response);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> <span class="keyword">constexpr</span> (Has_c_str_length&lt;T&gt;::value) {</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(v.c_str()), v.length(), response);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">return</span> writeValue(<span class="keyword">reinterpret_cast&lt;</span><span class="keyword">const </span>uint8_t*<span class="keyword">&gt;</span>(&amp;v), <span class="keyword">sizeof</span>(v), response);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> }</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> }</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> T readValue(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>) {</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> readValue();</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">return</span> getValue&lt;T&gt;(timestamp, skipSizeCheck);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> }</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> NimBLERemoteValueAttribute(<span class="keyword">const</span> ble_uuid_any_t&amp; uuid, uint16_t handle) : <a class="code hl_class" href="class_nim_b_l_e_attribute.html">NimBLEAttribute</a>{uuid, handle} {}</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keyword">virtual</span> ~NimBLERemoteValueAttribute() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keyword">static</span> <span class="keywordtype">int</span> onReadCB(uint16_t conn_handle, <span class="keyword">const</span> ble_gatt_error* error, ble_gatt_attr* attr, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">static</span> <span class="keywordtype">int</span> onWriteCB(uint16_t conn_handle, <span class="keyword">const</span> ble_gatt_error* error, ble_gatt_attr* attr, <span class="keywordtype">void</span>* arg);</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span>};</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span><span class="preprocessor">#endif </span><span class="comment">/* CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_CENTRAL */</span><span class="preprocessor"></span></div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_REMOTE_VALUE_ATTRIBUTE_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html"><div class="ttname"><a href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a></div><div class="ttdoc">A specialized container class to hold BLE attribute values.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:71</div></div>
<div class="ttc" id="aclass_nim_b_l_e_attribute_html"><div class="ttname"><a href="class_nim_b_l_e_attribute.html">NimBLEAttribute</a></div><div class="ttdoc">A base class for BLE attributes.</div><div class="ttdef"><b>Definition</b> NimBLEAttribute.h:29</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html"><div class="ttname"><a href="class_nim_b_l_e_client.html">NimBLEClient</a></div><div class="ttdoc">A model of a BLE client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.h:49</div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -217,34 +217,34 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_scan_8h_source.html',''); i
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_SCAN_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_address_html"><div class="ttname"><a href="class_nim_b_l_e_address.html">NimBLEAddress</a></div><div class="ttdoc">A BLE device address.</div><div class="ttdef"><b>Definition</b> NimBLEAddress.h:41</div></div>
<div class="ttc" id="aclass_nim_b_l_e_advertised_device_html"><div class="ttname"><a href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a></div><div class="ttdoc">A representation of a BLE advertised device found by a scan.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertisedDevice.h:45</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:117</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html">NimBLEScanCallbacks</a></div><div class="ttdoc">A callback handler for callbacks associated device scanning.</div><div class="ttdef"><b>Definition</b> NimBLEScan.h:115</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html_a1f9b5eac5982340afbb84954a4c06277"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html#a1f9b5eac5982340afbb84954a4c06277">NimBLEScanCallbacks::onDiscovered</a></div><div class="ttdeci">virtual void onDiscovered(const NimBLEAdvertisedDevice *advertisedDevice)</div><div class="ttdoc">Called when a new device is discovered, before the scan result is received (if applicable).</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:545</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html_a61c11db405e87ec847066ca3b6ad8375"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html#a61c11db405e87ec847066ca3b6ad8375">NimBLEScanCallbacks::onScanEnd</a></div><div class="ttdeci">virtual void onScanEnd(const NimBLEScanResults &amp;scanResults, int reason)</div><div class="ttdoc">Called when a scan operation ends.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:553</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html_a962d8b08cf14ac3091e6fd6962d7e283"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html#a962d8b08cf14ac3091e6fd6962d7e283">NimBLEScanCallbacks::onResult</a></div><div class="ttdeci">virtual void onResult(const NimBLEAdvertisedDevice *advertisedDevice)</div><div class="ttdoc">Called when a new scan result is complete, including scan response data (if applicable).</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:549</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html_a1f9b5eac5982340afbb84954a4c06277"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html#a1f9b5eac5982340afbb84954a4c06277">NimBLEScanCallbacks::onDiscovered</a></div><div class="ttdeci">virtual void onDiscovered(const NimBLEAdvertisedDevice *advertisedDevice)</div><div class="ttdoc">Called when a new device is discovered, before the scan result is received (if applicable).</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:550</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html_a61c11db405e87ec847066ca3b6ad8375"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html#a61c11db405e87ec847066ca3b6ad8375">NimBLEScanCallbacks::onScanEnd</a></div><div class="ttdeci">virtual void onScanEnd(const NimBLEScanResults &amp;scanResults, int reason)</div><div class="ttdoc">Called when a scan operation ends.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:558</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_callbacks_html_a962d8b08cf14ac3091e6fd6962d7e283"><div class="ttname"><a href="class_nim_b_l_e_scan_callbacks.html#a962d8b08cf14ac3091e6fd6962d7e283">NimBLEScanCallbacks::onResult</a></div><div class="ttdeci">virtual void onResult(const NimBLEAdvertisedDevice *advertisedDevice)</div><div class="ttdoc">Called when a new scan result is complete, including scan response data (if applicable).</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:554</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html"><div class="ttname"><a href="class_nim_b_l_e_scan.html">NimBLEScan</a></div><div class="ttdoc">Perform and manage BLE scans.</div><div class="ttdef"><b>Definition</b> NimBLEScan.h:67</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a0fec97ad0f4ff191bb853138c30d5316"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a0fec97ad0f4ff191bb853138c30d5316">NimBLEScan::setWindow</a></div><div class="ttdeci">void setWindow(uint16_t windowMs)</div><div class="ttdoc">Set the window to actively scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:257</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a17f2f775b5e6793f06a412f840d5dceb"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a17f2f775b5e6793f06a412f840d5dceb">NimBLEScan::setPhy</a></div><div class="ttdeci">void setPhy(Phy phyMask)</div><div class="ttdoc">Set the PHYs to scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:276</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a2ae53719546e2d410c816e12c56aad61"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a2ae53719546e2d410c816e12c56aad61">NimBLEScan::getResults</a></div><div class="ttdeci">NimBLEScanResults getResults()</div><div class="ttdoc">Get the results of the scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:463</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a3b0d41fc5d9113a02357c1b2a43c5d1d"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a3b0d41fc5d9113a02357c1b2a43c5d1d">NimBLEScan::setScanCallbacks</a></div><div class="ttdeci">void setScanCallbacks(NimBLEScanCallbacks *pScanCallbacks, bool wantDuplicates=false)</div><div class="ttdoc">Set the call backs to be invoked.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:234</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a4248aabb5da67953eadab2a6f834d967"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a4248aabb5da67953eadab2a6f834d967">NimBLEScan::setFilterPolicy</a></div><div class="ttdeci">void setFilterPolicy(uint8_t filter)</div><div class="ttdoc">Sets the scan filter policy.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:216</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a4c3e1794c3e56acba76ee269ffb1393e"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a4c3e1794c3e56acba76ee269ffb1393e">NimBLEScan::setInterval</a></div><div class="ttdeci">void setInterval(uint16_t intervalMs)</div><div class="ttdoc">Set the interval to scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:249</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a566a9ef25b04e946ac23402bb760cda1"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a566a9ef25b04e946ac23402bb760cda1">NimBLEScan::erase</a></div><div class="ttdeci">void erase(const NimBLEAddress &amp;address)</div><div class="ttdoc">Delete peer device from the scan results vector.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:398</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a68fa5cc715f62a9a97ac0dccfb8557c1"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a68fa5cc715f62a9a97ac0dccfb8557c1">NimBLEScan::stop</a></div><div class="ttdeci">bool stop()</div><div class="ttdoc">Stop an in progress scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:373</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a77483be2bd9dad08322cc64f4e7012c1"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a77483be2bd9dad08322cc64f4e7012c1">NimBLEScan::setLimitedOnly</a></div><div class="ttdeci">void setLimitedOnly(bool enabled)</div><div class="ttdoc">Set whether or not the BLE controller only reports scan results from devices advertising in limited d...</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:194</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a7d24e77d6b339552b6ac16effdb54910"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a7d24e77d6b339552b6ac16effdb54910">NimBLEScan::setActiveScan</a></div><div class="ttdeci">void setActiveScan(bool active)</div><div class="ttdoc">Should we perform an active or passive scan? The default is a passive scan. An active scan means that...</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:171</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_aaace4d0b128b6294276347f6790f3f8b"><div class="ttname"><a href="class_nim_b_l_e_scan.html#aaace4d0b128b6294276347f6790f3f8b">NimBLEScan::setPeriod</a></div><div class="ttdeci">void setPeriod(uint32_t periodMs)</div><div class="ttdoc">Set the extended scanning period.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:287</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_aabbf3f1804a844a7db0284ecc2b78408"><div class="ttname"><a href="class_nim_b_l_e_scan.html#aabbf3f1804a844a7db0284ecc2b78408">NimBLEScan::setDuplicateFilter</a></div><div class="ttdeci">void setDuplicateFilter(uint8_t enabled)</div><div class="ttdoc">Set whether or not the BLE controller should only report results from devices it has not already seen...</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:185</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_aad9cd2462d00d7c0fa39d095aa2d8e81"><div class="ttname"><a href="class_nim_b_l_e_scan.html#aad9cd2462d00d7c0fa39d095aa2d8e81">NimBLEScan::setMaxResults</a></div><div class="ttdeci">void setMaxResults(uint8_t maxResults)</div><div class="ttdoc">Sets the max number of results to store.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:225</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_ab788ad282fdbf4467302f6ad2d4d6016"><div class="ttname"><a href="class_nim_b_l_e_scan.html#ab788ad282fdbf4467302f6ad2d4d6016">NimBLEScan::isScanning</a></div><div class="ttdeci">bool isScanning()</div><div class="ttdoc">Get the status of the scanner.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:265</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_ac1307f30a881688d3a4d57bac7abe02c"><div class="ttname"><a href="class_nim_b_l_e_scan.html#ac1307f30a881688d3a4d57bac7abe02c">NimBLEScan::start</a></div><div class="ttdeci">bool start(uint32_t duration, bool isContinue=false, bool restart=true)</div><div class="ttdoc">Start scanning.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:300</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_ad421a09eeb021755b193a7a5e01f183b"><div class="ttname"><a href="class_nim_b_l_e_scan.html#ad421a09eeb021755b193a7a5e01f183b">NimBLEScan::clearResults</a></div><div class="ttdeci">void clearResults()</div><div class="ttdoc">Clear the stored results of the scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:470</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a0fec97ad0f4ff191bb853138c30d5316"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a0fec97ad0f4ff191bb853138c30d5316">NimBLEScan::setWindow</a></div><div class="ttdeci">void setWindow(uint16_t windowMs)</div><div class="ttdoc">Set the window to actively scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:262</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a17f2f775b5e6793f06a412f840d5dceb"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a17f2f775b5e6793f06a412f840d5dceb">NimBLEScan::setPhy</a></div><div class="ttdeci">void setPhy(Phy phyMask)</div><div class="ttdoc">Set the PHYs to scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:281</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a2ae53719546e2d410c816e12c56aad61"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a2ae53719546e2d410c816e12c56aad61">NimBLEScan::getResults</a></div><div class="ttdeci">NimBLEScanResults getResults()</div><div class="ttdoc">Get the results of the scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:468</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a3b0d41fc5d9113a02357c1b2a43c5d1d"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a3b0d41fc5d9113a02357c1b2a43c5d1d">NimBLEScan::setScanCallbacks</a></div><div class="ttdeci">void setScanCallbacks(NimBLEScanCallbacks *pScanCallbacks, bool wantDuplicates=false)</div><div class="ttdoc">Set the call backs to be invoked.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:239</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a4248aabb5da67953eadab2a6f834d967"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a4248aabb5da67953eadab2a6f834d967">NimBLEScan::setFilterPolicy</a></div><div class="ttdeci">void setFilterPolicy(uint8_t filter)</div><div class="ttdoc">Sets the scan filter policy.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:221</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a4c3e1794c3e56acba76ee269ffb1393e"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a4c3e1794c3e56acba76ee269ffb1393e">NimBLEScan::setInterval</a></div><div class="ttdeci">void setInterval(uint16_t intervalMs)</div><div class="ttdoc">Set the interval to scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:254</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a566a9ef25b04e946ac23402bb760cda1"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a566a9ef25b04e946ac23402bb760cda1">NimBLEScan::erase</a></div><div class="ttdeci">void erase(const NimBLEAddress &amp;address)</div><div class="ttdoc">Delete peer device from the scan results vector.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:403</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a68fa5cc715f62a9a97ac0dccfb8557c1"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a68fa5cc715f62a9a97ac0dccfb8557c1">NimBLEScan::stop</a></div><div class="ttdeci">bool stop()</div><div class="ttdoc">Stop an in progress scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:378</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a77483be2bd9dad08322cc64f4e7012c1"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a77483be2bd9dad08322cc64f4e7012c1">NimBLEScan::setLimitedOnly</a></div><div class="ttdeci">void setLimitedOnly(bool enabled)</div><div class="ttdoc">Set whether or not the BLE controller only reports scan results from devices advertising in limited d...</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:199</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_a7d24e77d6b339552b6ac16effdb54910"><div class="ttname"><a href="class_nim_b_l_e_scan.html#a7d24e77d6b339552b6ac16effdb54910">NimBLEScan::setActiveScan</a></div><div class="ttdeci">void setActiveScan(bool active)</div><div class="ttdoc">Should we perform an active or passive scan? The default is a passive scan. An active scan means that...</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:176</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_aaace4d0b128b6294276347f6790f3f8b"><div class="ttname"><a href="class_nim_b_l_e_scan.html#aaace4d0b128b6294276347f6790f3f8b">NimBLEScan::setPeriod</a></div><div class="ttdeci">void setPeriod(uint32_t periodMs)</div><div class="ttdoc">Set the extended scanning period.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:292</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_aabbf3f1804a844a7db0284ecc2b78408"><div class="ttname"><a href="class_nim_b_l_e_scan.html#aabbf3f1804a844a7db0284ecc2b78408">NimBLEScan::setDuplicateFilter</a></div><div class="ttdeci">void setDuplicateFilter(uint8_t enabled)</div><div class="ttdoc">Set whether or not the BLE controller should only report results from devices it has not already seen...</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:190</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_aad9cd2462d00d7c0fa39d095aa2d8e81"><div class="ttname"><a href="class_nim_b_l_e_scan.html#aad9cd2462d00d7c0fa39d095aa2d8e81">NimBLEScan::setMaxResults</a></div><div class="ttdeci">void setMaxResults(uint8_t maxResults)</div><div class="ttdoc">Sets the max number of results to store.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:230</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_ab788ad282fdbf4467302f6ad2d4d6016"><div class="ttname"><a href="class_nim_b_l_e_scan.html#ab788ad282fdbf4467302f6ad2d4d6016">NimBLEScan::isScanning</a></div><div class="ttdeci">bool isScanning()</div><div class="ttdoc">Get the status of the scanner.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:270</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_ac1307f30a881688d3a4d57bac7abe02c"><div class="ttname"><a href="class_nim_b_l_e_scan.html#ac1307f30a881688d3a4d57bac7abe02c">NimBLEScan::start</a></div><div class="ttdeci">bool start(uint32_t duration, bool isContinue=false, bool restart=true)</div><div class="ttdoc">Start scanning.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:305</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_html_ad421a09eeb021755b193a7a5e01f183b"><div class="ttname"><a href="class_nim_b_l_e_scan.html#ad421a09eeb021755b193a7a5e01f183b">NimBLEScan::clearResults</a></div><div class="ttdeci">void clearResults()</div><div class="ttdoc">Clear the stored results of the scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:475</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html">NimBLEScanResults</a></div><div class="ttdoc">A class that contains and operates on the results of a BLE scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.h:48</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a2547ebc0f9f0e1f48346ff0188ed6479"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a2547ebc0f9f0e1f48346ff0188ed6479">NimBLEScanResults::end</a></div><div class="ttdeci">std::vector&lt; NimBLEAdvertisedDevice * &gt;::const_iterator end() const</div><div class="ttdoc">Get iterator to the end of the vector of advertised device pointers.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:523</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a59c62c0825917ebb26bcb1efa2a98f4d"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a59c62c0825917ebb26bcb1efa2a98f4d">NimBLEScanResults::getCount</a></div><div class="ttdeci">int getCount() const</div><div class="ttdoc">Get the count of devices found in the last scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:497</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a5a0b1dc434c4ad68ae5ce233eeacc230"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a5a0b1dc434c4ad68ae5ce233eeacc230">NimBLEScanResults::begin</a></div><div class="ttdeci">std::vector&lt; NimBLEAdvertisedDevice * &gt;::const_iterator begin() const</div><div class="ttdoc">Get iterator to the beginning of the vector of advertised device pointers.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:515</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a98b106a3929919bf2c80cc0dfff59ba1"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a98b106a3929919bf2c80cc0dfff59ba1">NimBLEScanResults::getDevice</a></div><div class="ttdeci">const NimBLEAdvertisedDevice * getDevice(uint32_t idx) const</div><div class="ttdoc">Return the specified device at the given index. The index should be between 0 and getCount()-1.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:507</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_af143b1aa3bd67157dd263fcbeb4827ba"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#af143b1aa3bd67157dd263fcbeb4827ba">NimBLEScanResults::dump</a></div><div class="ttdeci">void dump() const</div><div class="ttdoc">Dump the scan results to the log.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:485</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a2547ebc0f9f0e1f48346ff0188ed6479"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a2547ebc0f9f0e1f48346ff0188ed6479">NimBLEScanResults::end</a></div><div class="ttdeci">std::vector&lt; NimBLEAdvertisedDevice * &gt;::const_iterator end() const</div><div class="ttdoc">Get iterator to the end of the vector of advertised device pointers.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:528</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a59c62c0825917ebb26bcb1efa2a98f4d"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a59c62c0825917ebb26bcb1efa2a98f4d">NimBLEScanResults::getCount</a></div><div class="ttdeci">int getCount() const</div><div class="ttdoc">Get the count of devices found in the last scan.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:502</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a5a0b1dc434c4ad68ae5ce233eeacc230"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a5a0b1dc434c4ad68ae5ce233eeacc230">NimBLEScanResults::begin</a></div><div class="ttdeci">std::vector&lt; NimBLEAdvertisedDevice * &gt;::const_iterator begin() const</div><div class="ttdoc">Get iterator to the beginning of the vector of advertised device pointers.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:520</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_a98b106a3929919bf2c80cc0dfff59ba1"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#a98b106a3929919bf2c80cc0dfff59ba1">NimBLEScanResults::getDevice</a></div><div class="ttdeci">const NimBLEAdvertisedDevice * getDevice(uint32_t idx) const</div><div class="ttdoc">Return the specified device at the given index. The index should be between 0 and getCount()-1.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:512</div></div>
<div class="ttc" id="aclass_nim_b_l_e_scan_results_html_af143b1aa3bd67157dd263fcbeb4827ba"><div class="ttname"><a href="class_nim_b_l_e_scan_results.html#af143b1aa3bd67157dd263fcbeb4827ba">NimBLEScanResults::dump</a></div><div class="ttdeci">void dump() const</div><div class="ttdoc">Dump the scan results to the log.</div><div class="ttdef"><b>Definition</b> NimBLEScan.cpp:490</div></div>
<div class="ttc" id="animconfig_8h_html"><div class="ttname"><a href="nimconfig_8h.html">nimconfig.h</a></div></div>
<div class="ttc" id="astruct_nim_b_l_e_task_data_html"><div class="ttname"><a href="struct_nim_b_l_e_task_data.html">NimBLETaskData</a></div><div class="ttdoc">A structure to hold data for a task that is waiting for a response.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.h:32</div></div>
</div><!-- fragment --></div><!-- contents -->

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -176,19 +176,19 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_server_8h_source.html','');
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a> <a class="code hl_function" href="class_nim_b_l_e_server.html#a08916d16ea00b4718bd6241bd407829f">getPeerInfoByHandle</a>(uint16_t connHandle) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#aecf5b57888c55249a9c207d318a0495b">advertiseOnDisconnect</a>(<span class="keywordtype">bool</span> enable);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#afbffb933eed8142bd24222e3cacc138a">setDataLen</a>(uint16_t connHandle, uint16_t tx_octets) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_server.html#a31f73892bcf7eb66ee540bf1da9c419c">getClient</a>(uint16_t connHandle);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_server.html#a31f73892bcf7eb66ee540bf1da9c419c">getClient</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#aa7dd69e19e6cb8c22579c68e9731cdea">deleteClient</a>();</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>* <a class="code hl_function" href="class_nim_b_l_e_server.html#a70aafa98cc487c43e11ab30990d5ecb5">getAdvertising</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#ab8cab448de62d05448ccb27d1bbb5c33">startAdvertising</a>(uint8_t instanceId, <span class="keywordtype">int</span> duration = 0, <span class="keywordtype">int</span> maxEvents = 0) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#a1da4f645f62b523eb6383ff7d1ed76c6">stopAdvertising</a>(uint8_t instanceId) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#abfd159ff5f10848bd611733835ddf215">updatePhy</a>(uint16_t connHandle, uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#a709eb11532ec43a35f8653845b3158fc">getPhy</a>(uint16_t connHandle, uint8_t* txPhy, uint8_t* rxPhy);</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#abfd159ff5f10848bd611733835ddf215">updatePhy</a>(uint16_t connHandle, uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#a709eb11532ec43a35f8653845b3158fc">getPhy</a>(uint16_t connHandle, uint8_t* txPhy, uint8_t* rxPhy);</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor"># if defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_server.html#a31f73892bcf7eb66ee540bf1da9c419c">getClient</a>(uint16_t connHandle);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_class" href="class_nim_b_l_e_client.html">NimBLEClient</a>* <a class="code hl_function" href="class_nim_b_l_e_server.html#a31f73892bcf7eb66ee540bf1da9c419c">getClient</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#aa7dd69e19e6cb8c22579c68e9731cdea">deleteClient</a>();</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> </div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_class" href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a>* <a class="code hl_function" href="class_nim_b_l_e_server.html#a70aafa98cc487c43e11ab30990d5ecb5">getAdvertising</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#ab8cab448de62d05448ccb27d1bbb5c33">startAdvertising</a>(uint8_t instanceId, <span class="keywordtype">int</span> duration = 0, <span class="keywordtype">int</span> maxEvents = 0) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_server.html#a1da4f645f62b523eb6383ff7d1ed76c6">stopAdvertising</a>(uint8_t instanceId) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="preprocessor"># if !CONFIG_BT_NIMBLE_EXT_ADV || defined(_DOXYGEN_)</span></div>
@ -253,55 +253,53 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_server_8h_source.html','');
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> </div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server_callbacks.html#aa6e5e8ef90a537540d9c72f8744c0199">onConnParamsUpdate</a>(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span><span class="preprocessor"># if CONFIG_BT_NIMBLE_EXT_ADV</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server_callbacks.html#a5096aa8ec49fe1eddb5d9ab18c112b22">onPhyUpdate</a>(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo, uint8_t txPhy, uint8_t rxPhy);</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span><span class="preprocessor"># endif</span></div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span>}; <span class="comment">// NimBLEServerCallbacks</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_nim_b_l_e_server_callbacks.html#a5096aa8ec49fe1eddb5d9ab18c112b22">onPhyUpdate</a>(<a class="code hl_class" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&amp; connInfo, uint8_t txPhy, uint8_t rxPhy);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span>}; <span class="comment">// NimBLEServerCallbacks</span></div>
</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_PERIPHERAL</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_SERVER_H_</span></div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> </div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED &amp;&amp; CONFIG_BT_NIMBLE_ROLE_PERIPHERAL</span></div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_SERVER_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_address_html"><div class="ttname"><a href="class_nim_b_l_e_address.html">NimBLEAddress</a></div><div class="ttdoc">A BLE device address.</div><div class="ttdef"><b>Definition</b> NimBLEAddress.h:41</div></div>
<div class="ttc" id="aclass_nim_b_l_e_advertising_html"><div class="ttname"><a href="class_nim_b_l_e_advertising.html">NimBLEAdvertising</a></div><div class="ttdoc">Perform and manage BLE advertising.</div><div class="ttdef"><b>Definition</b> NimBLEAdvertising.h:52</div></div>
<div class="ttc" id="aclass_nim_b_l_e_characteristic_html"><div class="ttname"><a href="class_nim_b_l_e_characteristic.html">NimBLECharacteristic</a></div><div class="ttdoc">The model of a BLE Characteristic.</div><div class="ttdef"><b>Definition</b> NimBLECharacteristic.h:40</div></div>
<div class="ttc" id="aclass_nim_b_l_e_client_html"><div class="ttname"><a href="class_nim_b_l_e_client.html">NimBLEClient</a></div><div class="ttdoc">A model of a BLE client.</div><div class="ttdef"><b>Definition</b> NimBLEClient.h:49</div></div>
<div class="ttc" id="aclass_nim_b_l_e_conn_info_html"><div class="ttname"><a href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a></div><div class="ttdoc">Connection information.</div><div class="ttdef"><b>Definition</b> NimBLEConnInfo.h:32</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:117</div></div>
<div class="ttc" id="aclass_nim_b_l_e_device_html"><div class="ttname"><a href="class_nim_b_l_e_device.html">NimBLEDevice</a></div><div class="ttdoc">A model of a BLE Device from which all the BLE roles are created.</div><div class="ttdef"><b>Definition</b> NimBLEDevice.h:122</div></div>
<div class="ttc" id="aclass_nim_b_l_e_ext_advertising_html"><div class="ttname"><a href="class_nim_b_l_e_ext_advertising.html">NimBLEExtAdvertising</a></div><div class="ttdoc">Extended advertising class.</div><div class="ttdef"><b>Definition</b> NimBLEExtAdvertising.h:110</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html">NimBLEServerCallbacks</a></div><div class="ttdoc">Callbacks associated with the operation of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:140</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a11d48696c2121eb301a76301555df2c5"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a11d48696c2121eb301a76301555df2c5">NimBLEServerCallbacks::onConnect</a></div><div class="ttdeci">virtual void onConnect(NimBLEServer *pServer, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Handle a client connection. This is called when a client connects.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:988</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a45b5fc1c98b287a2ddeab8f2f5b63c4f"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a45b5fc1c98b287a2ddeab8f2f5b63c4f">NimBLEServerCallbacks::onPassKeyDisplay</a></div><div class="ttdeci">virtual uint32_t onPassKeyDisplay()</div><div class="ttdoc">Called when a client requests a passkey for pairing (display).</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1000</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a4622b24e5553cc7961c04ab25b63d943"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a4622b24e5553cc7961c04ab25b63d943">NimBLEServerCallbacks::onDisconnect</a></div><div class="ttdeci">virtual void onDisconnect(NimBLEServer *pServer, NimBLEConnInfo &amp;connInfo, int reason)</div><div class="ttdoc">Handle a client disconnection. This is called when a client disconnects.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:992</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a507296393ca8557db2e4afa786c5b436"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a507296393ca8557db2e4afa786c5b436">NimBLEServerCallbacks::onConfirmPassKey</a></div><div class="ttdeci">virtual void onConfirmPassKey(NimBLEConnInfo &amp;connInfo, uint32_t pin)</div><div class="ttdoc">Called when using numeric comparision for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1005</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a5096aa8ec49fe1eddb5d9ab18c112b22"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a5096aa8ec49fe1eddb5d9ab18c112b22">NimBLEServerCallbacks::onPhyUpdate</a></div><div class="ttdeci">virtual void onPhyUpdate(NimBLEConnInfo &amp;connInfo, uint8_t txPhy, uint8_t rxPhy)</div><div class="ttdoc">Called when the PHY update procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1023</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a7cbed42919678d9e8d40b351dec82523"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a7cbed42919678d9e8d40b351dec82523">NimBLEServerCallbacks::onAuthenticationComplete</a></div><div class="ttdeci">virtual void onAuthenticationComplete(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the pairing procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1014</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_aa6e5e8ef90a537540d9c72f8744c0199"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#aa6e5e8ef90a537540d9c72f8744c0199">NimBLEServerCallbacks::onConnParamsUpdate</a></div><div class="ttdeci">virtual void onConnParamsUpdate(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when connection parameters are updated following a request to update via NimBLEServer::updateC...</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1018</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_ab702f73e739b4df72e191f47056c01ff"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#ab702f73e739b4df72e191f47056c01ff">NimBLEServerCallbacks::onMTUChange</a></div><div class="ttdeci">virtual void onMTUChange(uint16_t MTU, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the connection MTU changes.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:996</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_afa1c14bfba74491e9f57ccaea22b0664"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#afa1c14bfba74491e9f57ccaea22b0664">NimBLEServerCallbacks::onIdentity</a></div><div class="ttdeci">virtual void onIdentity(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the peer identity address is resolved.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1010</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a11d48696c2121eb301a76301555df2c5"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a11d48696c2121eb301a76301555df2c5">NimBLEServerCallbacks::onConnect</a></div><div class="ttdeci">virtual void onConnect(NimBLEServer *pServer, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Handle a client connection. This is called when a client connects.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:984</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a45b5fc1c98b287a2ddeab8f2f5b63c4f"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a45b5fc1c98b287a2ddeab8f2f5b63c4f">NimBLEServerCallbacks::onPassKeyDisplay</a></div><div class="ttdeci">virtual uint32_t onPassKeyDisplay()</div><div class="ttdoc">Called when a client requests a passkey for pairing (display).</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:996</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a4622b24e5553cc7961c04ab25b63d943"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a4622b24e5553cc7961c04ab25b63d943">NimBLEServerCallbacks::onDisconnect</a></div><div class="ttdeci">virtual void onDisconnect(NimBLEServer *pServer, NimBLEConnInfo &amp;connInfo, int reason)</div><div class="ttdoc">Handle a client disconnection. This is called when a client disconnects.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:988</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a507296393ca8557db2e4afa786c5b436"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a507296393ca8557db2e4afa786c5b436">NimBLEServerCallbacks::onConfirmPassKey</a></div><div class="ttdeci">virtual void onConfirmPassKey(NimBLEConnInfo &amp;connInfo, uint32_t pin)</div><div class="ttdoc">Called when using numeric comparision for pairing.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1001</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a5096aa8ec49fe1eddb5d9ab18c112b22"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a5096aa8ec49fe1eddb5d9ab18c112b22">NimBLEServerCallbacks::onPhyUpdate</a></div><div class="ttdeci">virtual void onPhyUpdate(NimBLEConnInfo &amp;connInfo, uint8_t txPhy, uint8_t rxPhy)</div><div class="ttdoc">Called when the PHY update procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1018</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_a7cbed42919678d9e8d40b351dec82523"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#a7cbed42919678d9e8d40b351dec82523">NimBLEServerCallbacks::onAuthenticationComplete</a></div><div class="ttdeci">virtual void onAuthenticationComplete(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the pairing procedure is complete.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1010</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_aa6e5e8ef90a537540d9c72f8744c0199"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#aa6e5e8ef90a537540d9c72f8744c0199">NimBLEServerCallbacks::onConnParamsUpdate</a></div><div class="ttdeci">virtual void onConnParamsUpdate(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when connection parameters are updated following a request to update via NimBLEServer::updateC...</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1014</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_ab702f73e739b4df72e191f47056c01ff"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#ab702f73e739b4df72e191f47056c01ff">NimBLEServerCallbacks::onMTUChange</a></div><div class="ttdeci">virtual void onMTUChange(uint16_t MTU, NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the connection MTU changes.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:992</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_callbacks_html_afa1c14bfba74491e9f57ccaea22b0664"><div class="ttname"><a href="class_nim_b_l_e_server_callbacks.html#afa1c14bfba74491e9f57ccaea22b0664">NimBLEServerCallbacks::onIdentity</a></div><div class="ttdeci">virtual void onIdentity(NimBLEConnInfo &amp;connInfo)</div><div class="ttdoc">Called when the peer identity address is resolved.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:1006</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html"><div class="ttname"><a href="class_nim_b_l_e_server.html">NimBLEServer</a></div><div class="ttdoc">The model of a BLE server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.h:60</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a00c92f62f41ec1c499dfaf042b487d75"><div class="ttname"><a href="class_nim_b_l_e_server.html#a00c92f62f41ec1c499dfaf042b487d75">NimBLEServer::removeService</a></div><div class="ttdeci">void removeService(NimBLEService *service, bool deleteSvc=false)</div><div class="ttdoc">Remove a service from the server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:709</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a00c92f62f41ec1c499dfaf042b487d75"><div class="ttname"><a href="class_nim_b_l_e_server.html#a00c92f62f41ec1c499dfaf042b487d75">NimBLEServer::removeService</a></div><div class="ttdeci">void removeService(NimBLEService *service, bool deleteSvc=false)</div><div class="ttdoc">Remove a service from the server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:704</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a08916d16ea00b4718bd6241bd407829f"><div class="ttname"><a href="class_nim_b_l_e_server.html#a08916d16ea00b4718bd6241bd407829f">NimBLEServer::getPeerInfoByHandle</a></div><div class="ttdeci">NimBLEConnInfo getPeerInfoByHandle(uint16_t connHandle) const</div><div class="ttdoc">Get the connection information of a connected peer by connection handle.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:337</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a0b009a568399014462a5ba7700b0129e"><div class="ttname"><a href="class_nim_b_l_e_server.html#a0b009a568399014462a5ba7700b0129e">NimBLEServer::getServiceByHandle</a></div><div class="ttdeci">NimBLEService * getServiceByHandle(uint16_t handle) const</div><div class="ttdoc">Get a BLE Service by its handle.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:137</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a1513647f2c8a565404410a5dbd71a9ce"><div class="ttname"><a href="class_nim_b_l_e_server.html#a1513647f2c8a565404410a5dbd71a9ce">NimBLEServer::getPeerInfo</a></div><div class="ttdeci">NimBLEConnInfo getPeerInfo(uint8_t index) const</div><div class="ttdoc">Get the connection information of a connected peer by vector index.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:299</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a1cedae8a9346f605b8319cbc8209f0df"><div class="ttname"><a href="class_nim_b_l_e_server.html#a1cedae8a9346f605b8319cbc8209f0df">NimBLEServer::getPeerDevices</a></div><div class="ttdeci">std::vector&lt; uint16_t &gt; getPeerDevices() const</div><div class="ttdoc">Get a vector of the connected client handles.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:283</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a1da4f645f62b523eb6383ff7d1ed76c6"><div class="ttname"><a href="class_nim_b_l_e_server.html#a1da4f645f62b523eb6383ff7d1ed76c6">NimBLEServer::stopAdvertising</a></div><div class="ttdeci">bool stopAdvertising() const</div><div class="ttdoc">Stop advertising.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:878</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a1da4f645f62b523eb6383ff7d1ed76c6"><div class="ttname"><a href="class_nim_b_l_e_server.html#a1da4f645f62b523eb6383ff7d1ed76c6">NimBLEServer::stopAdvertising</a></div><div class="ttdeci">bool stopAdvertising() const</div><div class="ttdoc">Stop advertising.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:874</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a26af61c030e9ad1108b24df4d3b6b633"><div class="ttname"><a href="class_nim_b_l_e_server.html#a26af61c030e9ad1108b24df4d3b6b633">NimBLEServer::getServiceByUUID</a></div><div class="ttdeci">NimBLEService * getServiceByUUID(const char *uuid, uint16_t instanceId=0) const</div><div class="ttdoc">Get a BLE Service by its UUID.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:108</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a31f73892bcf7eb66ee540bf1da9c419c"><div class="ttname"><a href="class_nim_b_l_e_server.html#a31f73892bcf7eb66ee540bf1da9c419c">NimBLEServer::getClient</a></div><div class="ttdeci">NimBLEClient * getClient(uint16_t connHandle)</div><div class="ttdoc">Create a client instance from the connection handle.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:947</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a3bedf02970de34eaf7b90a2f37765fe8"><div class="ttname"><a href="class_nim_b_l_e_server.html#a3bedf02970de34eaf7b90a2f37765fe8">NimBLEServer::getPeerMTU</a></div><div class="ttdeci">uint16_t getPeerMTU(uint16_t connHandle) const</div><div class="ttdoc">Get the MTU value of a client connection.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:888</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a31f73892bcf7eb66ee540bf1da9c419c"><div class="ttname"><a href="class_nim_b_l_e_server.html#a31f73892bcf7eb66ee540bf1da9c419c">NimBLEServer::getClient</a></div><div class="ttdeci">NimBLEClient * getClient(uint16_t connHandle)</div><div class="ttdoc">Create a client instance from the connection handle.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:943</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a3bedf02970de34eaf7b90a2f37765fe8"><div class="ttname"><a href="class_nim_b_l_e_server.html#a3bedf02970de34eaf7b90a2f37765fe8">NimBLEServer::getPeerMTU</a></div><div class="ttdeci">uint16_t getPeerMTU(uint16_t connHandle) const</div><div class="ttdoc">Get the MTU value of a client connection.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:884</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a4277e57885576664b9adf11f586e75ba"><div class="ttname"><a href="class_nim_b_l_e_server.html#a4277e57885576664b9adf11f586e75ba">NimBLEServer::getConnectedCount</a></div><div class="ttdeci">uint8_t getConnectedCount() const</div><div class="ttdoc">Return the number of connected clients.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:268</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a485c90ce36275f9e4ec26a7f3d348cd9"><div class="ttname"><a href="class_nim_b_l_e_server.html#a485c90ce36275f9e4ec26a7f3d348cd9">NimBLEServer::setCallbacks</a></div><div class="ttdeci">void setCallbacks(NimBLEServerCallbacks *pCallbacks, bool deleteCallbacks=true)</div><div class="ttdoc">Set the server callbacks.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:681</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a56add4759f7df045f51b70a026897975"><div class="ttname"><a href="class_nim_b_l_e_server.html#a56add4759f7df045f51b70a026897975">NimBLEServer::updateConnParams</a></div><div class="ttdeci">void updateConnParams(uint16_t connHandle, uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) const</div><div class="ttdoc">Request an Update the connection parameters:</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:901</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a6eda4c9e0ac1dd031c678d4bf7da1d56"><div class="ttname"><a href="class_nim_b_l_e_server.html#a6eda4c9e0ac1dd031c678d4bf7da1d56">NimBLEServer::addService</a></div><div class="ttdeci">void addService(NimBLEService *service)</div><div class="ttdoc">Adds a service which was either already created but removed from availability, or created and later a...</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:746</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a709eb11532ec43a35f8653845b3158fc"><div class="ttname"><a href="class_nim_b_l_e_server.html#a709eb11532ec43a35f8653845b3158fc">NimBLEServer::getPhy</a></div><div class="ttdeci">bool getPhy(uint16_t connHandle, uint8_t *txPhy, uint8_t *rxPhy)</div><div class="ttdoc">Get the PHY used for a peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:852</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a485c90ce36275f9e4ec26a7f3d348cd9"><div class="ttname"><a href="class_nim_b_l_e_server.html#a485c90ce36275f9e4ec26a7f3d348cd9">NimBLEServer::setCallbacks</a></div><div class="ttdeci">void setCallbacks(NimBLEServerCallbacks *pCallbacks, bool deleteCallbacks=true)</div><div class="ttdoc">Set the server callbacks.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:676</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a56add4759f7df045f51b70a026897975"><div class="ttname"><a href="class_nim_b_l_e_server.html#a56add4759f7df045f51b70a026897975">NimBLEServer::updateConnParams</a></div><div class="ttdeci">void updateConnParams(uint16_t connHandle, uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout) const</div><div class="ttdoc">Request an Update the connection parameters:</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:897</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a6eda4c9e0ac1dd031c678d4bf7da1d56"><div class="ttname"><a href="class_nim_b_l_e_server.html#a6eda4c9e0ac1dd031c678d4bf7da1d56">NimBLEServer::addService</a></div><div class="ttdeci">void addService(NimBLEService *service)</div><div class="ttdoc">Adds a service which was either already created but removed from availability, or created and later a...</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:741</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a709eb11532ec43a35f8653845b3158fc"><div class="ttname"><a href="class_nim_b_l_e_server.html#a709eb11532ec43a35f8653845b3158fc">NimBLEServer::getPhy</a></div><div class="ttdeci">bool getPhy(uint16_t connHandle, uint8_t *txPhy, uint8_t *rxPhy)</div><div class="ttdoc">Get the PHY used for a peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:824</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_a70aafa98cc487c43e11ab30990d5ecb5"><div class="ttname"><a href="class_nim_b_l_e_server.html#a70aafa98cc487c43e11ab30990d5ecb5">NimBLEServer::getAdvertising</a></div><div class="ttdeci">NimBLEExtAdvertising * getAdvertising() const</div><div class="ttdoc">Retrieve the advertising object that can be used to advertise the existence of the server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:152</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_aa7dd69e19e6cb8c22579c68e9731cdea"><div class="ttname"><a href="class_nim_b_l_e_server.html#aa7dd69e19e6cb8c22579c68e9731cdea">NimBLEServer::deleteClient</a></div><div class="ttdeci">void deleteClient()</div><div class="ttdoc">Delete the NimBLEClient instance that was created with getClient()</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:979</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_aa7dd69e19e6cb8c22579c68e9731cdea"><div class="ttname"><a href="class_nim_b_l_e_server.html#aa7dd69e19e6cb8c22579c68e9731cdea">NimBLEServer::deleteClient</a></div><div class="ttdeci">void deleteClient()</div><div class="ttdoc">Delete the NimBLEClient instance that was created with getClient()</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:975</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_aaeb58b4de85754d1aac6964e9248aa35"><div class="ttname"><a href="class_nim_b_l_e_server.html#aaeb58b4de85754d1aac6964e9248aa35">NimBLEServer::createService</a></div><div class="ttdeci">NimBLEService * createService(const char *uuid)</div><div class="ttdoc">Create a BLE Service.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:85</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_ab8cab448de62d05448ccb27d1bbb5c33"><div class="ttname"><a href="class_nim_b_l_e_server.html#ab8cab448de62d05448ccb27d1bbb5c33">NimBLEServer::startAdvertising</a></div><div class="ttdeci">bool startAdvertising(uint8_t instanceId, int duration=0, int maxEvents=0) const</div><div class="ttdoc">Start advertising.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:804</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_abfd159ff5f10848bd611733835ddf215"><div class="ttname"><a href="class_nim_b_l_e_server.html#abfd159ff5f10848bd611733835ddf215">NimBLEServer::updatePhy</a></div><div class="ttdeci">bool updatePhy(uint16_t connHandle, uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions)</div><div class="ttdoc">Request an update to the PHY used for a peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:836</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_ab8cab448de62d05448ccb27d1bbb5c33"><div class="ttname"><a href="class_nim_b_l_e_server.html#ab8cab448de62d05448ccb27d1bbb5c33">NimBLEServer::startAdvertising</a></div><div class="ttdeci">bool startAdvertising(uint8_t instanceId, int duration=0, int maxEvents=0) const</div><div class="ttdoc">Start advertising.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:843</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_abfd159ff5f10848bd611733835ddf215"><div class="ttname"><a href="class_nim_b_l_e_server.html#abfd159ff5f10848bd611733835ddf215">NimBLEServer::updatePhy</a></div><div class="ttdeci">bool updatePhy(uint16_t connHandle, uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions)</div><div class="ttdoc">Request an update to the PHY used for a peer connection.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:808</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_ac79e828bcc3c45ae817bf51be914bfc0"><div class="ttname"><a href="class_nim_b_l_e_server.html#ac79e828bcc3c45ae817bf51be914bfc0">NimBLEServer::disconnect</a></div><div class="ttdeci">bool disconnect(uint16_t connHandle, uint8_t reason=BLE_ERR_REM_USER_CONN_TERM) const</div><div class="ttdoc">Disconnect the specified client with optional reason.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:234</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_ae94ad52f3c97f62553af9765acdb7bcb"><div class="ttname"><a href="class_nim_b_l_e_server.html#ae94ad52f3c97f62553af9765acdb7bcb">NimBLEServer::start</a></div><div class="ttdeci">void start()</div><div class="ttdoc">Start the GATT server.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:182</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_aecf5b57888c55249a9c207d318a0495b"><div class="ttname"><a href="class_nim_b_l_e_server.html#aecf5b57888c55249a9c207d318a0495b">NimBLEServer::advertiseOnDisconnect</a></div><div class="ttdeci">void advertiseOnDisconnect(bool enable)</div><div class="ttdoc">Set the server to automatically start advertising when a client disconnects.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:259</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_afbffb933eed8142bd24222e3cacc138a"><div class="ttname"><a href="class_nim_b_l_e_server.html#afbffb933eed8142bd24222e3cacc138a">NimBLEServer::setDataLen</a></div><div class="ttdeci">void setDataLen(uint16_t connHandle, uint16_t tx_octets) const</div><div class="ttdoc">Request an update of the data packet length.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:925</div></div>
<div class="ttc" id="aclass_nim_b_l_e_server_html_afbffb933eed8142bd24222e3cacc138a"><div class="ttname"><a href="class_nim_b_l_e_server.html#afbffb933eed8142bd24222e3cacc138a">NimBLEServer::setDataLen</a></div><div class="ttdeci">void setDataLen(uint16_t connHandle, uint16_t tx_octets) const</div><div class="ttdoc">Request an update of the data packet length.</div><div class="ttdef"><b>Definition</b> NimBLEServer.cpp:921</div></div>
<div class="ttc" id="aclass_nim_b_l_e_service_html"><div class="ttname"><a href="class_nim_b_l_e_service.html">NimBLEService</a></div><div class="ttdoc">The model of a BLE service.</div><div class="ttdef"><b>Definition</b> NimBLEService.h:34</div></div>
<div class="ttc" id="aclass_nim_b_l_e_u_u_i_d_html"><div class="ttname"><a href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a></div><div class="ttdoc">A model of a BLE UUID.</div><div class="ttdef"><b>Definition</b> NimBLEUUID.h:41</div></div>
<div class="ttc" id="animconfig_8h_html"><div class="ttname"><a href="nimconfig_8h.html">nimconfig.h</a></div></div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -138,17 +138,17 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_u_u_i_d_8h_source.html','')
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_u_u_i_d.html"> 41</a></span><span class="keyword">class </span><a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc"> 46</a></span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>() = <span class="keywordflow">default</span>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> ble_uuid_any_t&amp; uuid);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">ble_uuid_any_t</a>&amp; uuid);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> std::string&amp; uuid);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(uint16_t uuid);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(uint32_t uuid);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> ble_uuid128_t* uuid);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> uint8_t* pData, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(uint32_t first, uint16_t second, uint16_t third, uint64_t fourth);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint16_t</a> uuid);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint32_t</a> uuid);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">ble_uuid128_t</a>* uuid);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<span class="keyword">const</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint8_t</a>* <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">pData</a>, <span class="keywordtype">size_t</span> size);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a7265f67b8ca3a2cd55b37a74b66d18bc">NimBLEUUID</a>(<a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint32_t</a> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">first</a>, <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint16_t</a> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">second</a>, <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint16_t</a> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">third</a>, <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint64_t</a> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">fourth</a>);</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> uint8_t <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#aefc88e493b63ccd6dc86227dc92af0c6">bitSize</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> uint8_t* <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">getValue</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> ble_uuid_t* <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a68c61ae225675ac84d60f76058a5bdd4">getBase</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint8_t</a> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#aefc88e493b63ccd6dc86227dc92af0c6">bitSize</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">uint8_t</a>* <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">getValue</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">const</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">ble_uuid_t</a>* <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a68c61ae225675ac84d60f76058a5bdd4">getBase</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a3d9763ff434905457ed69118e93a35fd">equals</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; uuid) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> std::string <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a9708e07b8e0915aafcfa32fe74ccdf64">toString</a>() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#ae09acdc52e23a3a38c57aaf859c278c2">fromString</a>(<span class="keyword">const</span> std::string&amp; uuid);</div>
@ -156,12 +156,12 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_u_u_i_d_8h_source.html','')
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a618f6c29565338a496715ca951c98afb">to16</a>();</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a9b96d90463f02f6a21afbaebcc242dd9">reverseByteOrder</a>();</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a46484dcb0a1bfef6a8afe97f49f97875">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; rhs) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#abeee22e6661f7533f05802e1f89fedfe">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; rhs) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#a46484dcb0a1bfef6a8afe97f49f97875">operator==</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">rhs</a>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#abeee22e6661f7533f05802e1f89fedfe">operator!=</a>(<span class="keyword">const</span> <a class="code hl_class" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a>&amp; <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">rhs</a>) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">operator</span> std::string() <span class="keyword">const</span>;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> ble_uuid_any_t m_uuid{};</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_function" href="class_nim_b_l_e_u_u_i_d.html#acf379fca7d3689a73e6750d7ab50a0af">ble_uuid_any_t</a> m_uuid{};</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span>}; <span class="comment">// NimBLEUUID</span></div>
</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> </div>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -154,9 +154,9 @@ $(document).ready(function(){initNavTree('_nim_b_l_e_utils_8h_source.html','');
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_UTILS_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_address_html"><div class="ttname"><a href="class_nim_b_l_e_address.html">NimBLEAddress</a></div><div class="ttdoc">A BLE device address.</div><div class="ttdef"><b>Definition</b> NimBLEAddress.h:41</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html"><div class="ttname"><a href="class_nim_b_l_e_utils.html">NimBLEUtils</a></div><div class="ttdoc">A BLE Utility class with methods for debugging and general purpose use.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.h:47</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a53f0b19687b0706ec48d6b630e209acb"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a53f0b19687b0706ec48d6b630e209acb">NimBLEUtils::dataToHexString</a></div><div class="ttdeci">static std::string dataToHexString(const uint8_t *source, uint8_t length)</div><div class="ttdoc">Create a hexadecimal string representation of the input data.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:549</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a53f0b19687b0706ec48d6b630e209acb"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a53f0b19687b0706ec48d6b630e209acb">NimBLEUtils::dataToHexString</a></div><div class="ttdeci">static std::string dataToHexString(const uint8_t *source, uint8_t length)</div><div class="ttdoc">Create a hexadecimal string representation of the input data.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:551</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a6b3a170f26ce51f353ff960f59739181"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a6b3a170f26ce51f353ff960f59739181">NimBLEUtils::taskWait</a></div><div class="ttdeci">static bool taskWait(const NimBLETaskData &amp;taskData, uint32_t timeout)</div><div class="ttdoc">Blocks the calling task until released or timeout.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:93</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a6d47cf1adecd01d0102e0feec8232538"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a6d47cf1adecd01d0102e0feec8232538">NimBLEUtils::generateAddr</a></div><div class="ttdeci">static NimBLEAddress generateAddr(bool nrpa)</div><div class="ttdoc">Generate a random BLE address.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:568</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a6d47cf1adecd01d0102e0feec8232538"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a6d47cf1adecd01d0102e0feec8232538">NimBLEUtils::generateAddr</a></div><div class="ttdeci">static NimBLEAddress generateAddr(bool nrpa)</div><div class="ttdoc">Generate a random BLE address.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:570</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a6de9354eeba9f126aa14cfa7ed43cda4"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a6de9354eeba9f126aa14cfa7ed43cda4">NimBLEUtils::advTypeToString</a></div><div class="ttdeci">static const char * advTypeToString(uint8_t advType)</div><div class="ttdoc">Convert the advertising type flag to a string.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:431</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a7b2de1e3827f9f6750550623dc6d9288"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a7b2de1e3827f9f6750550623dc6d9288">NimBLEUtils::taskRelease</a></div><div class="ttdeci">static void taskRelease(const NimBLETaskData &amp;taskData, int rc=0)</div><div class="ttdoc">Release a task.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:120</div></div>
<div class="ttc" id="aclass_nim_b_l_e_utils_html_a9885eda5c51477aefc0ba9e1c96d5a34"><div class="ttname"><a href="class_nim_b_l_e_utils.html#a9885eda5c51477aefc0ba9e1c96d5a34">NimBLEUtils::returnCodeToString</a></div><div class="ttdeci">static const char * returnCodeToString(int rc)</div><div class="ttdoc">Converts a return code from the NimBLE stack to a text string.</div><div class="ttdef"><b>Definition</b> NimBLEUtils.cpp:136</div></div>

View File

@ -0,0 +1,169 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: /github/workspace/src/NimBLEValueAttribute.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('_nim_b_l_e_value_attribute_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">NimBLEValueAttribute.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * Copyright 2020-2025 Ryan Powell &lt;ryan@nable-embedded.io&gt; and</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * esp-nimble-cpp, NimBLE-Arduino contributors.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * you may not use this file except in compliance with the License.</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * You may obtain a copy of the License at</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> *</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> *</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> * Unless required by applicable law or agreed to in writing, software</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * distributed under the License is distributed on an &quot;AS IS&quot; BASIS,</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> * See the License for the specific language governing permissions and</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"> * limitations under the License.</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment"> */</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#ifndef NIMBLE_CPP_VALUE_ATTRIBUTE_H_</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#define NIMBLE_CPP_VALUE_ATTRIBUTE_H_</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &quot;<a class="code" href="nimconfig_8h.html">nimconfig.h</a>&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="preprocessor">#if defined(CONFIG_BT_ENABLED) &amp;&amp; (defined(CONFIG_BT_NIMBLE_ROLE_PERIPHERAL) || defined(CONFIG_BT_NIMBLE_ROLE_CENTRAL))</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="preprocessor"># include &quot;NimBLEAttribute.h&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="preprocessor"># include &quot;NimBLEAttValue.h&quot;</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">class </span>NimBLEValueAttribute {</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">public</span>:</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> NimBLEValueAttribute(uint16_t maxLen = BLE_ATT_ATTR_MAX_LEN, uint16_t initLen = <a class="code hl_define" href="nimconfig_8h.html#a4d4ea715325f75455b43c7dbaa69d7a0">CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH</a>)</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> : m_value(initLen, maxLen) {}</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> getValue(time_t* timestamp)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value.getValue(timestamp); }</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> getValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value; }</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordtype">size_t</span> getLength()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_value.<a class="code hl_function" href="class_nim_b_l_e_att_value.html#aa8c75101d9898c3ff4646d84521ed61c">size</a>(); }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">typename</span> std::enable_if&lt;std::is_trivially_copyable&lt;T&gt;::value, T&gt;::type</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> getValue(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> m_value.getValue&lt;T&gt;(timestamp, skipSizeCheck);</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">typename</span> std::enable_if&lt;!std::is_trivially_copyable&lt;T&gt;::value &amp;&amp; std::is_convertible&lt;T, NimBLEAttValue&gt;::value, T&gt;::type</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> getValue(time_t* timestamp = <span class="keyword">nullptr</span>, <span class="keywordtype">bool</span> skipSizeCheck = <span class="keyword">false</span>)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> m_value;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">protected</span>:</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_class" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> m_value{};</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>};</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> </div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="preprocessor">#endif </span><span class="comment">// CONFIG_BT_ENABLED &amp;&amp; (CONFIG_BT_NIMBLE_ROLE_PERIPHERAL || CONFIG_BT_NIMBLE_ROLE_CENTRAL)</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="preprocessor">#endif </span><span class="comment">// NIMBLE_CPP_ATTRIBUTE_H_</span></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html"><div class="ttname"><a href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a></div><div class="ttdoc">A specialized container class to hold BLE attribute values.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:71</div></div>
<div class="ttc" id="aclass_nim_b_l_e_att_value_html_aa8c75101d9898c3ff4646d84521ed61c"><div class="ttname"><a href="class_nim_b_l_e_att_value.html#aa8c75101d9898c3ff4646d84521ed61c">NimBLEAttValue::size</a></div><div class="ttdeci">uint16_t size() const</div><div class="ttdoc">Returns the current size of the value in bytes.</div><div class="ttdef"><b>Definition</b> NimBLEAttValue.h:158</div></div>
<div class="ttc" id="animconfig_8h_html"><div class="ttname"><a href="nimconfig_8h.html">nimconfig.h</a></div></div>
<div class="ttc" id="animconfig_8h_html_a4d4ea715325f75455b43c7dbaa69d7a0"><div class="ttname"><a href="nimconfig_8h.html#a4d4ea715325f75455b43c7dbaa69d7a0">CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH</a></div><div class="ttdeci">#define CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH</div><div class="ttdoc">Uncomment to set the default allocation size (bytes) for each attribute if not specified when the con...</div><div class="ttdef"><b>Definition</b> nimconfig.h:68</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><b>NimBLEValueAttribute.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -116,19 +116,22 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<tr id="row_19_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_ext_advertising.html" target="_self">NimBLEExtAdvertising</a></td><td class="desc">Extended advertising class </td></tr>
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_ext_advertising_callbacks.html" target="_self">NimBLEExtAdvertisingCallbacks</a></td><td class="desc">Callbacks associated with <a class="el" href="class_nim_b_l_e_ext_advertising.html" title="Extended advertising class.">NimBLEExtAdvertising</a> class </td></tr>
<tr id="row_21_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_h_i_d_device.html" target="_self">NimBLEHIDDevice</a></td><td class="desc">A model of a BLE Human Interface Device </td></tr>
<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_local_attribute.html" target="_self">NimBLELocalAttribute</a></td><td class="desc">A base class for local BLE attributes </td></tr>
<tr id="row_23_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_remote_characteristic.html" target="_self">NimBLERemoteCharacteristic</a></td><td class="desc">A model of a remote BLE characteristic </td></tr>
<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_remote_descriptor.html" target="_self">NimBLERemoteDescriptor</a></td><td class="desc">A model of remote BLE descriptor </td></tr>
<tr id="row_25_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_remote_service.html" target="_self">NimBLERemoteService</a></td><td class="desc">A model of a remote BLE service </td></tr>
<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_scan.html" target="_self">NimBLEScan</a></td><td class="desc">Perform and manage BLE scans </td></tr>
<tr id="row_27_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_scan_callbacks.html" target="_self">NimBLEScanCallbacks</a></td><td class="desc">A callback handler for callbacks associated device scanning </td></tr>
<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_scan_results.html" target="_self">NimBLEScanResults</a></td><td class="desc">A class that contains and operates on the results of a BLE scan </td></tr>
<tr id="row_29_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_server.html" target="_self">NimBLEServer</a></td><td class="desc">The model of a BLE server </td></tr>
<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_server_callbacks.html" target="_self">NimBLEServerCallbacks</a></td><td class="desc">Callbacks associated with the operation of a BLE server </td></tr>
<tr id="row_31_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_service.html" target="_self">NimBLEService</a></td><td class="desc">The model of a BLE service </td></tr>
<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_nim_b_l_e_task_data.html" target="_self">NimBLETaskData</a></td><td class="desc">A structure to hold data for a task that is waiting for a response </td></tr>
<tr id="row_33_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_utils.html" target="_self">NimBLEUtils</a></td><td class="desc">A BLE Utility class with methods for debugging and general purpose use </td></tr>
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_u_u_i_d.html" target="_self">NimBLEUUID</a></td><td class="desc">A model of a BLE UUID </td></tr>
<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html" target="_self">NimBLEL2CAPChannel</a></td><td class="desc">Encapsulates a L2CAP channel </td></tr>
<tr id="row_23_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html" target="_self">NimBLEL2CAPChannelCallbacks</a></td><td class="desc">Callbacks base class for the L2CAP channel </td></tr>
<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_l2_c_a_p_server.html" target="_self">NimBLEL2CAPServer</a></td><td class="desc">L2CAP server class </td></tr>
<tr id="row_25_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_local_attribute.html" target="_self">NimBLELocalAttribute</a></td><td class="desc">A base class for local BLE attributes </td></tr>
<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_remote_characteristic.html" target="_self">NimBLERemoteCharacteristic</a></td><td class="desc">A model of a remote BLE characteristic </td></tr>
<tr id="row_27_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_remote_descriptor.html" target="_self">NimBLERemoteDescriptor</a></td><td class="desc">A model of remote BLE descriptor </td></tr>
<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_remote_service.html" target="_self">NimBLERemoteService</a></td><td class="desc">A model of a remote BLE service </td></tr>
<tr id="row_29_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_scan.html" target="_self">NimBLEScan</a></td><td class="desc">Perform and manage BLE scans </td></tr>
<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_scan_callbacks.html" target="_self">NimBLEScanCallbacks</a></td><td class="desc">A callback handler for callbacks associated device scanning </td></tr>
<tr id="row_31_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_scan_results.html" target="_self">NimBLEScanResults</a></td><td class="desc">A class that contains and operates on the results of a BLE scan </td></tr>
<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_server.html" target="_self">NimBLEServer</a></td><td class="desc">The model of a BLE server </td></tr>
<tr id="row_33_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_server_callbacks.html" target="_self">NimBLEServerCallbacks</a></td><td class="desc">Callbacks associated with the operation of a BLE server </td></tr>
<tr id="row_34_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_service.html" target="_self">NimBLEService</a></td><td class="desc">The model of a BLE service </td></tr>
<tr id="row_35_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_nim_b_l_e_task_data.html" target="_self">NimBLETaskData</a></td><td class="desc">A structure to hold data for a task that is waiting for a response </td></tr>
<tr id="row_36_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_utils.html" target="_self">NimBLEUtils</a></td><td class="desc">A BLE Utility class with methods for debugging and general purpose use </td></tr>
<tr id="row_37_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_nim_b_l_e_u_u_i_d.html" target="_self">NimBLEUUID</a></td><td class="desc">A model of a BLE UUID </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -22,6 +22,9 @@ var annotated_dup =
[ "NimBLEExtAdvertising", "class_nim_b_l_e_ext_advertising.html", "class_nim_b_l_e_ext_advertising" ],
[ "NimBLEExtAdvertisingCallbacks", "class_nim_b_l_e_ext_advertising_callbacks.html", "class_nim_b_l_e_ext_advertising_callbacks" ],
[ "NimBLEHIDDevice", "class_nim_b_l_e_h_i_d_device.html", "class_nim_b_l_e_h_i_d_device" ],
[ "NimBLEL2CAPChannel", "class_nim_b_l_e_l2_c_a_p_channel.html", "class_nim_b_l_e_l2_c_a_p_channel" ],
[ "NimBLEL2CAPChannelCallbacks", "class_nim_b_l_e_l2_c_a_p_channel_callbacks.html", "class_nim_b_l_e_l2_c_a_p_channel_callbacks" ],
[ "NimBLEL2CAPServer", "class_nim_b_l_e_l2_c_a_p_server.html", "class_nim_b_l_e_l2_c_a_p_server" ],
[ "NimBLELocalAttribute", "class_nim_b_l_e_local_attribute.html", "class_nim_b_l_e_local_attribute" ],
[ "NimBLERemoteCharacteristic", "class_nim_b_l_e_remote_characteristic.html", "class_nim_b_l_e_remote_characteristic" ],
[ "NimBLERemoteDescriptor", "class_nim_b_l_e_remote_descriptor.html", "class_nim_b_l_e_remote_descriptor" ],

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -103,121 +103,121 @@ $(document).ready(function(){initNavTree('class_nim_b_l_e_client.html',''); init
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2b49bc73802bf716cf3df3b5a93f0543" id="r_a2b49bc73802bf716cf3df3b5a93f0543"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2b49bc73802bf716cf3df3b5a93f0543">connect</a> (const <a class="el" href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a> *device, bool deleteAttributes=true, bool asyncConnect=false, bool <a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a>=true)</td></tr>
<tr class="memitem:a2b49bc73802bf716cf3df3b5a93f0543" id="r_a2b49bc73802bf716cf3df3b5a93f0543"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2b49bc73802bf716cf3df3b5a93f0543">connect</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a> *<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">device</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">deleteAttributes</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> asyncConnect=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>)</td></tr>
<tr class="memdesc:a2b49bc73802bf716cf3df3b5a93f0543"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to an advertising device. <br /></td></tr>
<tr class="separator:a2b49bc73802bf716cf3df3b5a93f0543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27e53c3746bc2d20ea7cfcea1a123cbf" id="r_a27e53c3746bc2d20ea7cfcea1a123cbf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a27e53c3746bc2d20ea7cfcea1a123cbf">connect</a> (const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;address, bool deleteAttributes=true, bool asyncConnect=false, bool <a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a>=true)</td></tr>
<tr class="memitem:a27e53c3746bc2d20ea7cfcea1a123cbf" id="r_a27e53c3746bc2d20ea7cfcea1a123cbf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a27e53c3746bc2d20ea7cfcea1a123cbf">connect</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">address</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">deleteAttributes</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> asyncConnect=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>)</td></tr>
<tr class="memdesc:a27e53c3746bc2d20ea7cfcea1a123cbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to a BLE Server by address. <br /></td></tr>
<tr class="separator:a27e53c3746bc2d20ea7cfcea1a123cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26c8117d56d8b637780390a6506716be" id="r_a26c8117d56d8b637780390a6506716be"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a26c8117d56d8b637780390a6506716be">connect</a> (bool deleteAttributes=true, bool asyncConnect=false, bool <a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a>=true)</td></tr>
<tr class="memitem:a26c8117d56d8b637780390a6506716be" id="r_a26c8117d56d8b637780390a6506716be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a26c8117d56d8b637780390a6506716be">connect</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">deleteAttributes</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> asyncConnect=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>)</td></tr>
<tr class="memdesc:a26c8117d56d8b637780390a6506716be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Connect to the BLE Server using the address of the last connected device, or the address<br />
passed to the constructor. <br /></td></tr>
<tr class="separator:a26c8117d56d8b637780390a6506716be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36b298b70a42d32b8d578869b0763140" id="r_a36b298b70a42d32b8d578869b0763140"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a36b298b70a42d32b8d578869b0763140">disconnect</a> (uint8_t reason=BLE_ERR_REM_USER_CONN_TERM)</td></tr>
<tr class="memitem:a36b298b70a42d32b8d578869b0763140" id="r_a36b298b70a42d32b8d578869b0763140"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a36b298b70a42d32b8d578869b0763140">disconnect</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">reason</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">BLE_ERR_REM_USER_CONN_TERM</a>)</td></tr>
<tr class="memdesc:a36b298b70a42d32b8d578869b0763140"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect from the peer. <br /></td></tr>
<tr class="separator:a36b298b70a42d32b8d578869b0763140"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af77b2a5390ea811e9405ff81dba8ecac" id="r_af77b2a5390ea811e9405ff81dba8ecac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#af77b2a5390ea811e9405ff81dba8ecac">cancelConnect</a> () const</td></tr>
<tr class="memitem:af77b2a5390ea811e9405ff81dba8ecac" id="r_af77b2a5390ea811e9405ff81dba8ecac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#af77b2a5390ea811e9405ff81dba8ecac">cancelConnect</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:af77b2a5390ea811e9405ff81dba8ecac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cancel an ongoing connection attempt. <br /></td></tr>
<tr class="separator:af77b2a5390ea811e9405ff81dba8ecac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665a5ef97b3ab0307bccc54872d3c218" id="r_a665a5ef97b3ab0307bccc54872d3c218"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a665a5ef97b3ab0307bccc54872d3c218">setSelfDelete</a> (bool deleteOnDisconnect, bool deleteOnConnectFail)</td></tr>
<tr class="memitem:a665a5ef97b3ab0307bccc54872d3c218" id="r_a665a5ef97b3ab0307bccc54872d3c218"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a665a5ef97b3ab0307bccc54872d3c218">setSelfDelete</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> deleteOnDisconnect, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> deleteOnConnectFail)</td></tr>
<tr class="memdesc:a665a5ef97b3ab0307bccc54872d3c218"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set or unset a flag to delete this client when disconnected or connection failed. <br /></td></tr>
<tr class="separator:a665a5ef97b3ab0307bccc54872d3c218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44a6f7f9379e2fc129c37915636db61f" id="r_a44a6f7f9379e2fc129c37915636db61f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a44a6f7f9379e2fc129c37915636db61f">getPeerAddress</a> () const</td></tr>
<tr class="memitem:a44a6f7f9379e2fc129c37915636db61f" id="r_a44a6f7f9379e2fc129c37915636db61f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a44a6f7f9379e2fc129c37915636db61f">getPeerAddress</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a44a6f7f9379e2fc129c37915636db61f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the address of the peer. <br /></td></tr>
<tr class="separator:a44a6f7f9379e2fc129c37915636db61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89d5aee4deaba953b8f77af75e3ee910" id="r_a89d5aee4deaba953b8f77af75e3ee910"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a89d5aee4deaba953b8f77af75e3ee910">setPeerAddress</a> (const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;address)</td></tr>
<tr class="memitem:a89d5aee4deaba953b8f77af75e3ee910" id="r_a89d5aee4deaba953b8f77af75e3ee910"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a89d5aee4deaba953b8f77af75e3ee910">setPeerAddress</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">address</a>)</td></tr>
<tr class="memdesc:a89d5aee4deaba953b8f77af75e3ee910"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the peer address. <br /></td></tr>
<tr class="separator:a89d5aee4deaba953b8f77af75e3ee910"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2645d4a2f8e381bf9bbffdfca846ae17" id="r_a2645d4a2f8e381bf9bbffdfca846ae17"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2645d4a2f8e381bf9bbffdfca846ae17">getRssi</a> () const</td></tr>
<tr class="memitem:a2645d4a2f8e381bf9bbffdfca846ae17" id="r_a2645d4a2f8e381bf9bbffdfca846ae17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2645d4a2f8e381bf9bbffdfca846ae17">getRssi</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a2645d4a2f8e381bf9bbffdfca846ae17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ask the BLE server for the RSSI value. <br /></td></tr>
<tr class="separator:a2645d4a2f8e381bf9bbffdfca846ae17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bdaf55b06367d1abd6f59bfbe1e8689" id="r_a0bdaf55b06367d1abd6f59bfbe1e8689"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0bdaf55b06367d1abd6f59bfbe1e8689">isConnected</a> () const</td></tr>
<tr class="memitem:a0bdaf55b06367d1abd6f59bfbe1e8689" id="r_a0bdaf55b06367d1abd6f59bfbe1e8689"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0bdaf55b06367d1abd6f59bfbe1e8689">isConnected</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a0bdaf55b06367d1abd6f59bfbe1e8689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Are we connected to a server? <br /></td></tr>
<tr class="separator:a0bdaf55b06367d1abd6f59bfbe1e8689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeede4deef7421b9121387a786c07820c" id="r_aeede4deef7421b9121387a786c07820c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c">setClientCallbacks</a> (<a class="el" href="class_nim_b_l_e_client_callbacks.html">NimBLEClientCallbacks</a> *pClientCallbacks, bool deleteCallbacks=true)</td></tr>
<tr class="memitem:aeede4deef7421b9121387a786c07820c" id="r_aeede4deef7421b9121387a786c07820c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeede4deef7421b9121387a786c07820c">setClientCallbacks</a> (<a class="el" href="class_nim_b_l_e_client_callbacks.html">NimBLEClientCallbacks</a> *<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">pClientCallbacks</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> deleteCallbacks=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a>)</td></tr>
<tr class="memdesc:aeede4deef7421b9121387a786c07820c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the callbacks that will be invoked when events are received. <br /></td></tr>
<tr class="separator:aeede4deef7421b9121387a786c07820c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ead2efdfdf23db4f7847a133939cd75" id="r_a8ead2efdfdf23db4f7847a133939cd75"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a8ead2efdfdf23db4f7847a133939cd75">toString</a> () const</td></tr>
<tr class="memitem:a8ead2efdfdf23db4f7847a133939cd75" id="r_a8ead2efdfdf23db4f7847a133939cd75"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a8ead2efdfdf23db4f7847a133939cd75">toString</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a8ead2efdfdf23db4f7847a133939cd75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of this client. <br /></td></tr>
<tr class="separator:a8ead2efdfdf23db4f7847a133939cd75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1e517e5a57b0bd05d4bafa66a17f1bd" id="r_ac1e517e5a57b0bd05d4bafa66a17f1bd"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ac1e517e5a57b0bd05d4bafa66a17f1bd">getConnHandle</a> () const</td></tr>
<tr class="memitem:ac1e517e5a57b0bd05d4bafa66a17f1bd" id="r_ac1e517e5a57b0bd05d4bafa66a17f1bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ac1e517e5a57b0bd05d4bafa66a17f1bd">getConnHandle</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:ac1e517e5a57b0bd05d4bafa66a17f1bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the connection handle for this client. <br /></td></tr>
<tr class="separator:ac1e517e5a57b0bd05d4bafa66a17f1bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f3230e45ac77bd4cb50b5c270f9c74c" id="r_a7f3230e45ac77bd4cb50b5c270f9c74c"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a7f3230e45ac77bd4cb50b5c270f9c74c">getMTU</a> () const</td></tr>
<tr class="memitem:a7f3230e45ac77bd4cb50b5c270f9c74c" id="r_a7f3230e45ac77bd4cb50b5c270f9c74c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a7f3230e45ac77bd4cb50b5c270f9c74c">getMTU</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a7f3230e45ac77bd4cb50b5c270f9c74c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current mtu of this connection. <br /></td></tr>
<tr class="separator:a7f3230e45ac77bd4cb50b5c270f9c74c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19d97b47f01f0862e04f3011752b2f2f" id="r_a19d97b47f01f0862e04f3011752b2f2f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a> ()</td></tr>
<tr class="memitem:a19d97b47f01f0862e04f3011752b2f2f" id="r_a19d97b47f01f0862e04f3011752b2f2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a19d97b47f01f0862e04f3011752b2f2f">exchangeMTU</a> ()</td></tr>
<tr class="memdesc:a19d97b47f01f0862e04f3011752b2f2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin the MTU exchange process with the server. <br /></td></tr>
<tr class="separator:a19d97b47f01f0862e04f3011752b2f2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2dac3bd373134ae6d22e3b5c96ed65ef" id="r_a2dac3bd373134ae6d22e3b5c96ed65ef"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2dac3bd373134ae6d22e3b5c96ed65ef">secureConnection</a> (bool async=false) const</td></tr>
<tr class="memitem:a2dac3bd373134ae6d22e3b5c96ed65ef" id="r_a2dac3bd373134ae6d22e3b5c96ed65ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a2dac3bd373134ae6d22e3b5c96ed65ef">secureConnection</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">async</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a>) <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a2dac3bd373134ae6d22e3b5c96ed65ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiate a secure connection (pair/bond) with the server.<br />
Called automatically when a characteristic or descriptor requires encryption or authentication to access it. <br /></td></tr>
<tr class="separator:a2dac3bd373134ae6d22e3b5c96ed65ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb3675ab243ae6f0e4e7165cd07f7b80" id="r_aeb3675ab243ae6f0e4e7165cd07f7b80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeb3675ab243ae6f0e4e7165cd07f7b80">setConnectTimeout</a> (uint32_t timeout)</td></tr>
<tr class="memitem:aeb3675ab243ae6f0e4e7165cd07f7b80" id="r_aeb3675ab243ae6f0e4e7165cd07f7b80"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeb3675ab243ae6f0e4e7165cd07f7b80">setConnectTimeout</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint32_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">timeout</a>)</td></tr>
<tr class="memdesc:aeb3675ab243ae6f0e4e7165cd07f7b80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the timeout to wait for connection attempt to complete. <br /></td></tr>
<tr class="separator:aeb3675ab243ae6f0e4e7165cd07f7b80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e8b16bb2c8ba3534bbd04803a411911" id="r_a4e8b16bb2c8ba3534bbd04803a411911"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a4e8b16bb2c8ba3534bbd04803a411911">setDataLen</a> (uint16_t txOctets)</td></tr>
<tr class="memitem:a4e8b16bb2c8ba3534bbd04803a411911" id="r_a4e8b16bb2c8ba3534bbd04803a411911"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a4e8b16bb2c8ba3534bbd04803a411911">setDataLen</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">txOctets</a>)</td></tr>
<tr class="memdesc:a4e8b16bb2c8ba3534bbd04803a411911"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request an update of the data packet length. <br /></td></tr>
<tr class="separator:a4e8b16bb2c8ba3534bbd04803a411911"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1019178a12799ca2c3a84f523b3a7db9" id="r_a1019178a12799ca2c3a84f523b3a7db9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a1019178a12799ca2c3a84f523b3a7db9">discoverAttributes</a> ()</td></tr>
<tr class="memitem:a1019178a12799ca2c3a84f523b3a7db9" id="r_a1019178a12799ca2c3a84f523b3a7db9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a1019178a12799ca2c3a84f523b3a7db9">discoverAttributes</a> ()</td></tr>
<tr class="memdesc:a1019178a12799ca2c3a84f523b3a7db9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the full database of attributes that the peripheral has available. <br /></td></tr>
<tr class="separator:a1019178a12799ca2c3a84f523b3a7db9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50b691f395c4dcf4b633efede0783805" id="r_a50b691f395c4dcf4b633efede0783805"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a50b691f395c4dcf4b633efede0783805">getConnInfo</a> () const</td></tr>
<tr class="memitem:a50b691f395c4dcf4b633efede0783805" id="r_a50b691f395c4dcf4b633efede0783805"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_conn_info.html">NimBLEConnInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a50b691f395c4dcf4b633efede0783805">getConnInfo</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:a50b691f395c4dcf4b633efede0783805"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get detailed information about the current peer connection. <br /></td></tr>
<tr class="separator:a50b691f395c4dcf4b633efede0783805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb0593ebffa7e8833e5854480e41cce5" id="r_aeb0593ebffa7e8833e5854480e41cce5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeb0593ebffa7e8833e5854480e41cce5">getLastError</a> () const</td></tr>
<tr class="memitem:aeb0593ebffa7e8833e5854480e41cce5" id="r_aeb0593ebffa7e8833e5854480e41cce5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">int</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#aeb0593ebffa7e8833e5854480e41cce5">getLastError</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:aeb0593ebffa7e8833e5854480e41cce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the last error code reported by the NimBLE host. <br /></td></tr>
<tr class="separator:aeb0593ebffa7e8833e5854480e41cce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad168d34de0f57f91824a78688b88b2b8" id="r_ad168d34de0f57f91824a78688b88b2b8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad168d34de0f57f91824a78688b88b2b8">updateConnParams</a> (uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout)</td></tr>
<tr class="memitem:ad168d34de0f57f91824a78688b88b2b8" id="r_ad168d34de0f57f91824a78688b88b2b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad168d34de0f57f91824a78688b88b2b8">updateConnParams</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">minInterval</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">maxInterval</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">latency</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">timeout</a>)</td></tr>
<tr class="memdesc:ad168d34de0f57f91824a78688b88b2b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the connection parameters: <br /></td></tr>
<tr class="separator:ad168d34de0f57f91824a78688b88b2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17718339f76eb621db0d7919c73b9267" id="r_a17718339f76eb621db0d7919c73b9267"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267">setConnectionParams</a> (uint16_t minInterval, uint16_t maxInterval, uint16_t latency, uint16_t timeout, uint16_t scanInterval=16, uint16_t scanWindow=16)</td></tr>
<tr class="memitem:a17718339f76eb621db0d7919c73b9267" id="r_a17718339f76eb621db0d7919c73b9267"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a17718339f76eb621db0d7919c73b9267">setConnectionParams</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">minInterval</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">maxInterval</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">latency</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">timeout</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">scanInterval</a>=16, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">scanWindow</a>=16)</td></tr>
<tr class="memdesc:a17718339f76eb621db0d7919c73b9267"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the connection parameters to use when connecting to a server. <br /></td></tr>
<tr class="separator:a17718339f76eb621db0d7919c73b9267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adefe48b87e8a814e1643cdb8c3759298" id="r_adefe48b87e8a814e1643cdb8c3759298"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#adefe48b87e8a814e1643cdb8c3759298">getServices</a> (bool refresh=false)</td></tr>
<tr class="memitem:adefe48b87e8a814e1643cdb8c3759298" id="r_adefe48b87e8a814e1643cdb8c3759298"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#adefe48b87e8a814e1643cdb8c3759298">getServices</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">refresh</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a>)</td></tr>
<tr class="memdesc:adefe48b87e8a814e1643cdb8c3759298"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of found services. <br /></td></tr>
<tr class="separator:adefe48b87e8a814e1643cdb8c3759298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab09639b499fdcd0021a2432b2b8203f5" id="r_ab09639b499fdcd0021a2432b2b8203f5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5">begin</a> ()</td></tr>
<tr class="memitem:ab09639b499fdcd0021a2432b2b8203f5" id="r_ab09639b499fdcd0021a2432b2b8203f5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">::iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ab09639b499fdcd0021a2432b2b8203f5">begin</a> ()</td></tr>
<tr class="memdesc:ab09639b499fdcd0021a2432b2b8203f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get iterator to the beginning of the vector of remote service pointers. <br /></td></tr>
<tr class="separator:ab09639b499fdcd0021a2432b2b8203f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0accd665926ea77d85ecb483b2b853fe" id="r_a0accd665926ea77d85ecb483b2b853fe"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe">end</a> ()</td></tr>
<tr class="memitem:a0accd665926ea77d85ecb483b2b853fe" id="r_a0accd665926ea77d85ecb483b2b853fe"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">::iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0accd665926ea77d85ecb483b2b853fe">end</a> ()</td></tr>
<tr class="memdesc:a0accd665926ea77d85ecb483b2b853fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get iterator to the end of the vector of remote service pointers. <br /></td></tr>
<tr class="separator:a0accd665926ea77d85ecb483b2b853fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b801e91a37745445499dadfb4c38597" id="r_a6b801e91a37745445499dadfb4c38597"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a6b801e91a37745445499dadfb4c38597">getCharacteristic</a> (uint16_t handle)</td></tr>
<tr class="memitem:a6b801e91a37745445499dadfb4c38597" id="r_a6b801e91a37745445499dadfb4c38597"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a6b801e91a37745445499dadfb4c38597">getCharacteristic</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">handle</a>)</td></tr>
<tr class="memdesc:a6b801e91a37745445499dadfb4c38597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the remote characteristic with the specified handle. <br /></td></tr>
<tr class="separator:a6b801e91a37745445499dadfb4c38597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae22379ab10bd82932d2303fb3753c366" id="r_ae22379ab10bd82932d2303fb3753c366"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366">getService</a> (const char *uuid)</td></tr>
<tr class="memitem:ae22379ab10bd82932d2303fb3753c366" id="r_ae22379ab10bd82932d2303fb3753c366"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ae22379ab10bd82932d2303fb3753c366">getService</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">char</a> *uuid)</td></tr>
<tr class="memdesc:ae22379ab10bd82932d2303fb3753c366"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the service BLE Remote Service instance corresponding to the uuid. <br /></td></tr>
<tr class="separator:ae22379ab10bd82932d2303fb3753c366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8ba10522d79af1136019606802f0978" id="r_ad8ba10522d79af1136019606802f0978"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad8ba10522d79af1136019606802f0978">getService</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid)</td></tr>
<tr class="memitem:ad8ba10522d79af1136019606802f0978" id="r_ad8ba10522d79af1136019606802f0978"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad8ba10522d79af1136019606802f0978">getService</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid)</td></tr>
<tr class="memdesc:ad8ba10522d79af1136019606802f0978"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the service object corresponding to the uuid. <br /></td></tr>
<tr class="separator:ad8ba10522d79af1136019606802f0978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a668d476de250055a106a9f46bb7719f3" id="r_a668d476de250055a106a9f46bb7719f3"><td class="memItemLeft" align="right" valign="top"><a id="a668d476de250055a106a9f46bb7719f3" name="a668d476de250055a106a9f46bb7719f3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>deleteServices</b> ()</td></tr>
<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><b>deleteServices</b> ()</td></tr>
<tr class="memdesc:a668d476de250055a106a9f46bb7719f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete all service objects created by this client and clear the vector. <br /></td></tr>
<tr class="separator:a668d476de250055a106a9f46bb7719f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f940c51807469db1f1802b742180beb" id="r_a0f940c51807469db1f1802b742180beb"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb">deleteService</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid)</td></tr>
<tr class="memitem:a0f940c51807469db1f1802b742180beb" id="r_a0f940c51807469db1f1802b742180beb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a0f940c51807469db1f1802b742180beb">deleteService</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid)</td></tr>
<tr class="memdesc:a0f940c51807469db1f1802b742180beb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a service by UUID from the local database to free resources. <br /></td></tr>
<tr class="separator:a0f940c51807469db1f1802b742180beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3903fb7589e2b8b781f8f81f9e0f2a83" id="r_a3903fb7589e2b8b781f8f81f9e0f2a83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">getValue</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;serviceUUID, const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;characteristicUUID)</td></tr>
<tr class="memdesc:a3903fb7589e2b8b781f8f81f9e0f2a83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value of a specific characteristic associated with a specific service. <br /></td></tr>
<tr class="separator:a3903fb7589e2b8b781f8f81f9e0f2a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a967d0c75083706f336f2283eac6d0de2" id="r_a967d0c75083706f336f2283eac6d0de2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a967d0c75083706f336f2283eac6d0de2">setValue</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;serviceUUID, const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;characteristicUUID, const <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;value, bool response=false)</td></tr>
<tr class="memitem:a967d0c75083706f336f2283eac6d0de2" id="r_a967d0c75083706f336f2283eac6d0de2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a967d0c75083706f336f2283eac6d0de2">setValue</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">serviceUUID</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">characteristicUUID</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">value</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">response</a>=<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a>)</td></tr>
<tr class="memdesc:a967d0c75083706f336f2283eac6d0de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of a specific characteristic associated with a specific service. <br /></td></tr>
<tr class="separator:a967d0c75083706f336f2283eac6d0de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a004a85999b1ee4283e1e8e1e31090cca" id="r_a004a85999b1ee4283e1e8e1e31090cca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a004a85999b1ee4283e1e8e1e31090cca">setConnectPhy</a> (uint8_t phyMask)</td></tr>
<tr class="memitem:a004a85999b1ee4283e1e8e1e31090cca" id="r_a004a85999b1ee4283e1e8e1e31090cca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a004a85999b1ee4283e1e8e1e31090cca">setConnectPhy</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">phyMask</a>)</td></tr>
<tr class="memdesc:a004a85999b1ee4283e1e8e1e31090cca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the PHY types to use when connecting to a server. <br /></td></tr>
<tr class="separator:a004a85999b1ee4283e1e8e1e31090cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a165957953c2773dacc6a203c969f6069" id="r_a165957953c2773dacc6a203c969f6069"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a165957953c2773dacc6a203c969f6069">updatePhy</a> (uint8_t txPhysMask, uint8_t rxPhysMask, uint16_t phyOptions=0)</td></tr>
<tr class="memitem:a165957953c2773dacc6a203c969f6069" id="r_a165957953c2773dacc6a203c969f6069"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a165957953c2773dacc6a203c969f6069">updatePhy</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">txPhysMask</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">rxPhysMask</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">phyOptions</a>=0)</td></tr>
<tr class="memdesc:a165957953c2773dacc6a203c969f6069"><td class="mdescLeft">&#160;</td><td class="mdescRight">Request a change to the PHY used for this peer connection. <br /></td></tr>
<tr class="separator:a165957953c2773dacc6a203c969f6069"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ca4e212d5b69d4759bd695def020525" id="r_a6ca4e212d5b69d4759bd695def020525"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a6ca4e212d5b69d4759bd695def020525">getPhy</a> (uint8_t *txPhy, uint8_t *rxPhy)</td></tr>
<tr class="memitem:a6ca4e212d5b69d4759bd695def020525" id="r_a6ca4e212d5b69d4759bd695def020525"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#a6ca4e212d5b69d4759bd695def020525">getPhy</a> (<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> *<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">txPhy</a>, <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> *<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">rxPhy</a>)</td></tr>
<tr class="memdesc:a6ca4e212d5b69d4759bd695def020525"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the PHY used for this peer connection. <br /></td></tr>
<tr class="separator:a6ca4e212d5b69d4759bd695def020525"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac053fba7c84201dc6e7455231cf99f4a" id="r_ac053fba7c84201dc6e7455231cf99f4a"><td class="memItemLeft" align="right" valign="top">Config&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ac053fba7c84201dc6e7455231cf99f4a">getConfig</a> () const</td></tr>
<tr class="memitem:ac053fba7c84201dc6e7455231cf99f4a" id="r_ac053fba7c84201dc6e7455231cf99f4a"><td class="memItemLeft" align="right" valign="top">Config&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ac053fba7c84201dc6e7455231cf99f4a">getConfig</a> () <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a></td></tr>
<tr class="memdesc:ac053fba7c84201dc6e7455231cf99f4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a copy of the clients configuration. <br /></td></tr>
<tr class="separator:ac053fba7c84201dc6e7455231cf99f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad89d8202400ecb573ce0e2ec5fc801dc" id="r_ad89d8202400ecb573ce0e2ec5fc801dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad89d8202400ecb573ce0e2ec5fc801dc">setConfig</a> (Config config)</td></tr>
<tr class="memitem:ad89d8202400ecb573ce0e2ec5fc801dc" id="r_ad89d8202400ecb573ce0e2ec5fc801dc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_client.html#ad89d8202400ecb573ce0e2ec5fc801dc">setConfig</a> (Config <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">config</a>)</td></tr>
<tr class="memdesc:ad89d8202400ecb573ce0e2ec5fc801dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the client configuration options. <br /></td></tr>
<tr class="separator:ad89d8202400ecb573ce0e2ec5fc801dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
@ -231,7 +231,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>deleteServices</b> ()
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator NimBLEClient::begin </td>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">::iterator</a> NimBLEClient::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -251,7 +251,7 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>deleteServices</b> ()
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::cancelConnect </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::cancelConnect </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -271,22 +271,22 @@ void&#160;</td><td class="memItemRight" valign="bottom"><b>deleteServices</b> ()
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::connect </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::connect </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteAttributes</em> = <code>true</code>, </td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>deleteAttributes</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>asyncConnect</em> = <code>false</code>, </td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>asyncConnect</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>exchangeMTU</em> = <code>true</code>&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>exchangeMTU</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>&#160;</td>
</tr>
<tr>
<td></td>
@ -320,28 +320,28 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::connect </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::connect </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteAttributes</em> = <code>true</code>, </td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>deleteAttributes</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>asyncConnect</em> = <code>false</code>, </td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>asyncConnect</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>exchangeMTU</em> = <code>true</code>&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>exchangeMTU</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>&#160;</td>
</tr>
<tr>
<td></td>
@ -375,28 +375,28 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::connect </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::connect </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a> *&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_advertised_device.html">NimBLEAdvertisedDevice</a> *&#160;</td>
<td class="paramname"><em>pDevice</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteAttributes</em> = <code>true</code>, </td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>deleteAttributes</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>asyncConnect</em> = <code>false</code>, </td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>asyncConnect</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>exchangeMTU</em> = <code>true</code>&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>exchangeMTU</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>&#160;</td>
</tr>
<tr>
<td></td>
@ -430,9 +430,9 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t NimBLEClient::deleteService </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">size_t</a> NimBLEClient::deleteService </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td></td>
</tr>
@ -457,10 +457,10 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::disconnect </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::disconnect </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reason</em> = <code>BLE_ERR_REM_USER_CONN_TERM</code></td><td>)</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a>&#160;</td>
<td class="paramname"><em>reason</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">BLE_ERR_REM_USER_CONN_TERM</a></code></td><td>)</td>
<td></td>
</tr>
</table>
@ -478,7 +478,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::discoverAttributes </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::discoverAttributes </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -498,7 +498,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;::iterator NimBLEClient::end </td>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt;<a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">::iterator</a> NimBLEClient::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -518,7 +518,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::exchangeMTU </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::exchangeMTU </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
@ -540,7 +540,7 @@ If false, the client will use the default MTU size and the application will need
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * NimBLEClient::getCharacteristic </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td></td>
</tr>
@ -585,7 +585,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t NimBLEClient::getConnHandle </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> NimBLEClient::getConnHandle </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -625,7 +625,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int NimBLEClient::getLastError </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">int</a> NimBLEClient::getLastError </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -645,7 +645,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t NimBLEClient::getMTU </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a> NimBLEClient::getMTU </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -685,15 +685,15 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::getPhy </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::getPhy </td>
<td>(</td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> *&#160;</td>
<td class="paramname"><em>txPhy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a> *&#160;</td>
<td class="paramname"><em>rxPhy</em>&#160;</td>
</tr>
<tr>
@ -723,7 +723,7 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int NimBLEClient::getRssi </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">int</a> NimBLEClient::getRssi </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -745,7 +745,7 @@ If false, the client will use the default MTU size and the application will need
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * NimBLEClient::getService </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">char</a> *&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td></td>
</tr>
@ -772,7 +772,7 @@ If false, the client will use the default MTU size and the application will need
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * NimBLEClient::getService </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td></td>
</tr>
@ -797,10 +797,10 @@ If false, the client will use the default MTU size and the application will need
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt; &amp; NimBLEClient::getServices </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_service.html">NimBLERemoteService</a> * &gt; &amp; NimBLEClient::getServices </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>refresh</em> = <code>false</code></td><td>)</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>refresh</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a></code></td><td>)</td>
<td></td>
</tr>
</table>
@ -864,7 +864,7 @@ If false the vector will be returned with the currently stored services. </td></
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::isConnected </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::isConnected </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -884,10 +884,10 @@ If false the vector will be returned with the currently stored services. </td></
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::secureConnection </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::secureConnection </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>async</em> = <code>false</code></td><td>)</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>async</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a></code></td><td>)</td>
<td> const</td>
</tr>
</table>
@ -914,7 +914,7 @@ If false, this function will block until the connection is secured or the client
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setClientCallbacks </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a> NimBLEClient::setClientCallbacks </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client_callbacks.html">NimBLEClientCallbacks</a> *&#160;</td>
<td class="paramname"><em>pClientCallbacks</em>, </td>
@ -922,8 +922,8 @@ If false, this function will block until the connection is secured or the client
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteCallbacks</em> = <code>true</code>&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>deleteCallbacks</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">true</a></code>&#160;</td>
</tr>
<tr>
<td></td>
@ -951,7 +951,7 @@ If false, this function will block until the connection is secured or the client
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setConfig </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a> NimBLEClient::setConfig </td>
<td>(</td>
<td class="paramtype">NimBLEClient::Config&#160;</td>
<td class="paramname"><em>config</em></td><td>)</td>
@ -977,39 +977,39 @@ If false, this function will block until the connection is secured or the client
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setConnectionParams </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a> NimBLEClient::setConnectionParams </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>minInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>maxInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>latency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>timeout</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>scanInterval</em> = <code>16</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>scanWindow</em> = <code>16</code>&#160;</td>
</tr>
<tr>
@ -1042,9 +1042,9 @@ If false, this function will block until the connection is secured or the client
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setConnectPhy </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a> NimBLEClient::setConnectPhy </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a>&#160;</td>
<td class="paramname"><em>mask</em></td><td>)</td>
<td></td>
</tr>
@ -1074,9 +1074,9 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setConnectTimeout </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a> NimBLEClient::setConnectTimeout </td>
<td>(</td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint32_t</a>&#160;</td>
<td class="paramname"><em>time</em></td><td>)</td>
<td></td>
</tr>
@ -1100,9 +1100,9 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::setDataLen </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::setDataLen </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>txOctets</em></td><td>)</td>
<td></td>
</tr>
@ -1130,9 +1130,9 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::setPeerAddress </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::setPeerAddress </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_address.html">NimBLEAddress</a> &amp;&#160;</td>
<td class="paramname"><em>address</em></td><td>)</td>
<td></td>
</tr>
@ -1157,15 +1157,15 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLEClient::setSelfDelete </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">void</a> NimBLEClient::setSelfDelete </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>deleteOnDisconnect</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>deleteOnConnectFail</em>&#160;</td>
</tr>
<tr>
@ -1194,28 +1194,28 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::setValue </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::setValue </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>serviceUUID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>characteristicUUID</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">const</a> <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>response</em> = <code>false</code>&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a>&#160;</td>
<td class="paramname"><em>response</em> = <code><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">false</a></code>&#160;</td>
</tr>
<tr>
<td></td>
@ -1266,27 +1266,27 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::updateConnParams </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::updateConnParams </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>minInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>maxInterval</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>latency</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
@ -1320,21 +1320,21 @@ The available bits are:<ul>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEClient::updatePhy </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">bool</a> NimBLEClient::updatePhy </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a>&#160;</td>
<td class="paramname"><em>txPhyMask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint8_t</a>&#160;</td>
<td class="paramname"><em>rxPhyMask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html#a3903fb7589e2b8b781f8f81f9e0f2a83">uint16_t</a>&#160;</td>
<td class="paramname"><em>phyOptions</em> = <code>0</code>&#160;</td>
</tr>
<tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -0,0 +1,110 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_nim_b_l_e_l2_c_a_p_channel.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">NimBLEL2CAPChannel Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html#a10c23f4fa6e2343de6c996529aceb449">connect</a>(NimBLEClient *client, uint16_t psm, uint16_t mtu, NimBLEL2CAPChannelCallbacks *callbacks)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html#adca49cca95fc06b2491d4e59df620e69">isConnected</a>() const</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html#a5547ff361f487a5d252b60991e9d21a8">write</a>(const std::vector&lt; uint8_t &gt; &amp;bytes)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,242 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: NimBLEL2CAPChannel Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_nim_b_l_e_l2_c_a_p_channel.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="class_nim_b_l_e_l2_c_a_p_channel-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">NimBLEL2CAPChannel Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Encapsulates a L2CAP channel.
<a href="class_nim_b_l_e_l2_c_a_p_channel.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_nim_b_l_e_l2_c_a_p_channel_8h_source.html">NimBLEL2CAPChannel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5547ff361f487a5d252b60991e9d21a8" id="r_a5547ff361f487a5d252b60991e9d21a8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html#a5547ff361f487a5d252b60991e9d21a8">write</a> (const std::vector&lt; uint8_t &gt; &amp;bytes)</td></tr>
<tr class="memdesc:a5547ff361f487a5d252b60991e9d21a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write data to the channel. <br /></td></tr>
<tr class="separator:a5547ff361f487a5d252b60991e9d21a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca49cca95fc06b2491d4e59df620e69" id="r_adca49cca95fc06b2491d4e59df620e69"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html#adca49cca95fc06b2491d4e59df620e69">isConnected</a> () const</td></tr>
<tr class="separator:adca49cca95fc06b2491d4e59df620e69"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a10c23f4fa6e2343de6c996529aceb449" id="r_a10c23f4fa6e2343de6c996529aceb449"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html#a10c23f4fa6e2343de6c996529aceb449">connect</a> (<a class="el" href="class_nim_b_l_e_client.html">NimBLEClient</a> *client, uint16_t psm, uint16_t mtu, <a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a> *callbacks)</td></tr>
<tr class="memdesc:a10c23f4fa6e2343de6c996529aceb449"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open an L2CAP channel via the specified PSM and MTU. <br /></td></tr>
<tr class="separator:a10c23f4fa6e2343de6c996529aceb449"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Encapsulates a L2CAP channel. </p>
<p>This class is used to encapsulate a L2CAP connection oriented channel, both from the "server" (which waits for the connection to be opened) and the "client" (which opens the connection) point of view. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a10c23f4fa6e2343de6c996529aceb449" name="a10c23f4fa6e2343de6c996529aceb449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10c23f4fa6e2343de6c996529aceb449">&#9670;&#160;</a></span>connect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> * NimBLEL2CAPChannel::connect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_client.html">NimBLEClient</a> *&#160;</td>
<td class="paramname"><em>client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>psm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>mtu</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a> *&#160;</td>
<td class="paramname"><em>callbacks</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Open an L2CAP channel via the specified PSM and MTU. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">psm</td><td>The PSM to use. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">mtu</td><td>The MTU to use. Note that this is the local MTU. Upon opening the channel, the final MTU will be negotiated to be the minimum of local and remote. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callbacks</td><td>The callbacks to use. NOTE that these callbacks are called from the context of the NimBLE bluetooth task (<code>nimble_host</code>) and MUST be handled as fast as possible. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the channel was opened successfully, false otherwise. </dd></dl>
</div>
</div>
<a id="adca49cca95fc06b2491d4e59df620e69" name="adca49cca95fc06b2491d4e59df620e69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adca49cca95fc06b2491d4e59df620e69">&#9670;&#160;</a></span>isConnected()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLEL2CAPChannel::isConnected </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True, if the channel is connected. False, otherwise. </dd></dl>
</div>
</div>
<a id="a5547ff361f487a5d252b60991e9d21a8" name="a5547ff361f487a5d252b60991e9d21a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5547ff361f487a5d252b60991e9d21a8">&#9670;&#160;</a></span>write()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLEL2CAPChannel::write </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; uint8_t &gt; &amp;&#160;</td>
<td class="paramname"><em>bytes</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write data to the channel. </p>
<p>If the size of the data exceeds the MTU, the data will be split into multiple fragments. </p><dl class="section return"><dt>Returns</dt><dd>true on success, after the data has been sent. </dd>
<dd>
false, if the data can't be sent.</dd></dl>
<p>NOTE: This function will block until the data has been sent or an error occurred. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,5 @@
var class_nim_b_l_e_l2_c_a_p_channel =
[
[ "isConnected", "class_nim_b_l_e_l2_c_a_p_channel.html#adca49cca95fc06b2491d4e59df620e69", null ],
[ "write", "class_nim_b_l_e_l2_c_a_p_channel.html#a5547ff361f487a5d252b60991e9d21a8", null ]
];

View File

@ -0,0 +1,111 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_nim_b_l_e_l2_c_a_p_channel_callbacks.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">NimBLEL2CAPChannelCallbacks Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a7bb7aaf60287909a687830834ee1c816">onConnect</a>(NimBLEL2CAPChannel *channel, uint16_t negotiatedMTU)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a3b56fa029bfe13d88c3231228078c982">onDisconnect</a>(NimBLEL2CAPChannel *channel)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a10bd007ae5e5e1c41eec5bac829a006d">onRead</a>(NimBLEL2CAPChannel *channel, std::vector&lt; uint8_t &gt; &amp;data)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a5932343afdb1dd9e67d55e530638180f">shouldAcceptConnection</a>(NimBLEL2CAPChannel *channel)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,256 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: NimBLEL2CAPChannelCallbacks Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_nim_b_l_e_l2_c_a_p_channel_callbacks.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">NimBLEL2CAPChannelCallbacks Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Callbacks base class for the L2CAP channel.
<a href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_nim_b_l_e_l2_c_a_p_channel_8h_source.html">NimBLEL2CAPChannel.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5932343afdb1dd9e67d55e530638180f" id="r_a5932343afdb1dd9e67d55e530638180f"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a5932343afdb1dd9e67d55e530638180f">shouldAcceptConnection</a> (<a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *channel)</td></tr>
<tr class="separator:a5932343afdb1dd9e67d55e530638180f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bb7aaf60287909a687830834ee1c816" id="r_a7bb7aaf60287909a687830834ee1c816"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a7bb7aaf60287909a687830834ee1c816">onConnect</a> (<a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *channel, uint16_t negotiatedMTU)</td></tr>
<tr class="separator:a7bb7aaf60287909a687830834ee1c816"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10bd007ae5e5e1c41eec5bac829a006d" id="r_a10bd007ae5e5e1c41eec5bac829a006d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a10bd007ae5e5e1c41eec5bac829a006d">onRead</a> (<a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *channel, std::vector&lt; uint8_t &gt; &amp;data)</td></tr>
<tr class="separator:a10bd007ae5e5e1c41eec5bac829a006d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b56fa029bfe13d88c3231228078c982" id="r_a3b56fa029bfe13d88c3231228078c982"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a3b56fa029bfe13d88c3231228078c982">onDisconnect</a> (<a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *channel)</td></tr>
<tr class="separator:a3b56fa029bfe13d88c3231228078c982"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Callbacks base class for the L2CAP channel. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a7bb7aaf60287909a687830834ee1c816" name="a7bb7aaf60287909a687830834ee1c816"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bb7aaf60287909a687830834ee1c816">&#9670;&#160;</a></span>onConnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void NimBLEL2CAPChannelCallbacks::onConnect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>negotiatedMTU</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called after a connection has been made. Default implementation does nothing. </p>
</div>
</div>
<a id="a3b56fa029bfe13d88c3231228078c982" name="a3b56fa029bfe13d88c3231228078c982"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b56fa029bfe13d88c3231228078c982">&#9670;&#160;</a></span>onDisconnect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void NimBLEL2CAPChannelCallbacks::onDisconnect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *&#160;</td>
<td class="paramname"><em>channel</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called after the channel has been disconnected. Default implementation does nothing. </p>
</div>
</div>
<a id="a10bd007ae5e5e1c41eec5bac829a006d" name="a10bd007ae5e5e1c41eec5bac829a006d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10bd007ae5e5e1c41eec5bac829a006d">&#9670;&#160;</a></span>onRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void NimBLEL2CAPChannelCallbacks::onRead </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *&#160;</td>
<td class="paramname"><em>channel</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; uint8_t &gt; &amp;&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when data has been read from the channel. Default implementation does nothing. </p>
</div>
</div>
<a id="a5932343afdb1dd9e67d55e530638180f" name="a5932343afdb1dd9e67d55e530638180f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5932343afdb1dd9e67d55e530638180f">&#9670;&#160;</a></span>shouldAcceptConnection()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool NimBLEL2CAPChannelCallbacks::shouldAcceptConnection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *&#160;</td>
<td class="paramname"><em>channel</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Called when the client attempts to open a channel on the server. You can choose to accept or deny the connection. Default implementation returns true. </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,7 @@
var class_nim_b_l_e_l2_c_a_p_channel_callbacks =
[
[ "onConnect", "class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a7bb7aaf60287909a687830834ee1c816", null ],
[ "onDisconnect", "class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a3b56fa029bfe13d88c3231228078c982", null ],
[ "onRead", "class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a10bd007ae5e5e1c41eec5bac829a006d", null ],
[ "shouldAcceptConnection", "class_nim_b_l_e_l2_c_a_p_channel_callbacks.html#a5932343afdb1dd9e67d55e530638180f", null ]
];

View File

@ -0,0 +1,108 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_nim_b_l_e_l2_c_a_p_server.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">NimBLEL2CAPServer Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_server.html#a9328df1e0b29beb0492469ca6ebc969c">createService</a>(const uint16_t psm, const uint16_t mtu, NimBLEL2CAPChannelCallbacks *callbacks)</td><td class="entry"><a class="el" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,169 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>esp-nimble-cpp: NimBLEL2CAPServer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_nim_b_l_e_l2_c_a_p_server.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_nim_b_l_e_l2_c_a_p_server-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">NimBLEL2CAPServer Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>L2CAP server class.
<a href="class_nim_b_l_e_l2_c_a_p_server.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_nim_b_l_e_l2_c_a_p_server_8h_source.html">NimBLEL2CAPServer.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9328df1e0b29beb0492469ca6ebc969c" id="r_a9328df1e0b29beb0492469ca6ebc969c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_l2_c_a_p_server.html#a9328df1e0b29beb0492469ca6ebc969c">createService</a> (const uint16_t psm, const uint16_t mtu, <a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a> *callbacks)</td></tr>
<tr class="memdesc:a9328df1e0b29beb0492469ca6ebc969c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register a new L2CAP service instance. <br /></td></tr>
<tr class="separator:a9328df1e0b29beb0492469ca6ebc969c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>L2CAP server class. </p>
<p>Encapsulates a L2CAP server that can hold multiple services. Every service is represented by a channel object and an assorted set of callbacks. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a9328df1e0b29beb0492469ca6ebc969c" name="a9328df1e0b29beb0492469ca6ebc969c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9328df1e0b29beb0492469ca6ebc969c">&#9670;&#160;</a></span>createService()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel.html">NimBLEL2CAPChannel</a> * NimBLEL2CAPServer::createService </td>
<td>(</td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>psm</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint16_t&#160;</td>
<td class="paramname"><em>mtu</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_l2_c_a_p_channel_callbacks.html">NimBLEL2CAPChannelCallbacks</a> *&#160;</td>
<td class="paramname"><em>callbacks</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Register a new L2CAP service instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">psm</td><td>The port multiplexor service number. </td></tr>
<tr><td class="paramname">mtu</td><td>The maximum transmission unit. </td></tr>
<tr><td class="paramname">callbacks</td><td>The callbacks for this service. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the newly created object, if the server registration was successful. </dd></dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="class_nim_b_l_e_l2_c_a_p_server.html">NimBLEL2CAPServer</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
var class_nim_b_l_e_l2_c_a_p_server =
[
[ "createService", "class_nim_b_l_e_l2_c_a_p_server.html#a9328df1e0b29beb0492469ca6ebc969c", null ]
];

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>
@ -105,37 +105,37 @@ $(document).ready(function(){initNavTree('class_nim_b_l_e_remote_service.html','
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae10ddb56bc48bd06538ab49e4a561594" id="r_ae10ddb56bc48bd06538ab49e4a561594"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#ae10ddb56bc48bd06538ab49e4a561594">getCharacteristic</a> (const char *uuid) const</td></tr>
<tr class="memitem:ae10ddb56bc48bd06538ab49e4a561594" id="r_ae10ddb56bc48bd06538ab49e4a561594"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#ae10ddb56bc48bd06538ab49e4a561594">getCharacteristic</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">char</a> *uuid) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:ae10ddb56bc48bd06538ab49e4a561594"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the remote characteristic object for the characteristic UUID. <br /></td></tr>
<tr class="separator:ae10ddb56bc48bd06538ab49e4a561594"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a404ee02ca3ecf8c9d244029ede066bda" id="r_a404ee02ca3ecf8c9d244029ede066bda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a404ee02ca3ecf8c9d244029ede066bda">getCharacteristic</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid) const</td></tr>
<tr class="memitem:a404ee02ca3ecf8c9d244029ede066bda" id="r_a404ee02ca3ecf8c9d244029ede066bda"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a404ee02ca3ecf8c9d244029ede066bda">getCharacteristic</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a404ee02ca3ecf8c9d244029ede066bda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the characteristic object for the UUID. <br /></td></tr>
<tr class="separator:a404ee02ca3ecf8c9d244029ede066bda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7248e58b58753d8b44c420617d854408" id="r_a7248e58b58753d8b44c420617d854408"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a7248e58b58753d8b44c420617d854408">deleteCharacteristics</a> () const</td></tr>
<tr class="memitem:a7248e58b58753d8b44c420617d854408" id="r_a7248e58b58753d8b44c420617d854408"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">void</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a7248e58b58753d8b44c420617d854408">deleteCharacteristics</a> () <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a7248e58b58753d8b44c420617d854408"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the characteristics in the characteristics vector. <br /></td></tr>
<tr class="separator:a7248e58b58753d8b44c420617d854408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a828d57a4691d25e9e0e6124c3b0f1ac2" id="r_a828d57a4691d25e9e0e6124c3b0f1ac2"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a828d57a4691d25e9e0e6124c3b0f1ac2">deleteCharacteristic</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid) const</td></tr>
<tr class="memitem:a828d57a4691d25e9e0e6124c3b0f1ac2" id="r_a828d57a4691d25e9e0e6124c3b0f1ac2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a828d57a4691d25e9e0e6124c3b0f1ac2">deleteCharacteristic</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a828d57a4691d25e9e0e6124c3b0f1ac2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete characteristic by UUID. <br /></td></tr>
<tr class="separator:a828d57a4691d25e9e0e6124c3b0f1ac2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f56031169ebeefcd834fff971a972c2" id="r_a2f56031169ebeefcd834fff971a972c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html">NimBLEClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a2f56031169ebeefcd834fff971a972c2">getClient</a> (void) const</td></tr>
<tr class="memitem:a2f56031169ebeefcd834fff971a972c2" id="r_a2f56031169ebeefcd834fff971a972c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_client.html">NimBLEClient</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a2f56031169ebeefcd834fff971a972c2">getClient</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">void</a>) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a2f56031169ebeefcd834fff971a972c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the client associated with this service. <br /></td></tr>
<tr class="separator:a2f56031169ebeefcd834fff971a972c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2f19f76f0c0ac9b0efe2baa2ad2f7ec" id="r_ac2f19f76f0c0ac9b0efe2baa2ad2f7ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">getValue</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;characteristicUuid) const</td></tr>
<tr class="memdesc:ac2f19f76f0c0ac9b0efe2baa2ad2f7ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the value of a characteristic associated with this service. <br /></td></tr>
<tr class="separator:ac2f19f76f0c0ac9b0efe2baa2ad2f7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d571db36b8af93b35d44f7cf4afa5ed" id="r_a0d571db36b8af93b35d44f7cf4afa5ed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a0d571db36b8af93b35d44f7cf4afa5ed">setValue</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;characteristicUuid, const <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;value) const</td></tr>
<tr class="memitem:a0d571db36b8af93b35d44f7cf4afa5ed" id="r_a0d571db36b8af93b35d44f7cf4afa5ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a0d571db36b8af93b35d44f7cf4afa5ed">setValue</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">characteristicUuid</a>, <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">value</a>) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a0d571db36b8af93b35d44f7cf4afa5ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the value of a characteristic. <br /></td></tr>
<tr class="separator:a0d571db36b8af93b35d44f7cf4afa5ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a347e848039121cbf3005349f9aa50680" id="r_a347e848039121cbf3005349f9aa50680"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a347e848039121cbf3005349f9aa50680">toString</a> (void) const</td></tr>
<tr class="memitem:a347e848039121cbf3005349f9aa50680" id="r_a347e848039121cbf3005349f9aa50680"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a347e848039121cbf3005349f9aa50680">toString</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">void</a>) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a347e848039121cbf3005349f9aa50680"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a string representation of this remote service. <br /></td></tr>
<tr class="separator:a347e848039121cbf3005349f9aa50680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b07f0756c401d40396886e80d64b03b" id="r_a5b07f0756c401d40396886e80d64b03b"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a5b07f0756c401d40396886e80d64b03b">getCharacteristics</a> (bool refresh=false) const</td></tr>
<tr class="memitem:a5b07f0756c401d40396886e80d64b03b" id="r_a5b07f0756c401d40396886e80d64b03b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a5b07f0756c401d40396886e80d64b03b">getCharacteristics</a> (<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">bool</a> <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">refresh</a>=<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">false</a>) <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a5b07f0756c401d40396886e80d64b03b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a pointer to the vector of found characteristics. <br /></td></tr>
<tr class="separator:a5b07f0756c401d40396886e80d64b03b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99e6d6a6fba063b2c165cf8adb19d6e3" id="r_a99e6d6a6fba063b2c165cf8adb19d6e3"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a99e6d6a6fba063b2c165cf8adb19d6e3">begin</a> () const</td></tr>
<tr class="memitem:a99e6d6a6fba063b2c165cf8adb19d6e3" id="r_a99e6d6a6fba063b2c165cf8adb19d6e3"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">::iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a99e6d6a6fba063b2c165cf8adb19d6e3">begin</a> () <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a99e6d6a6fba063b2c165cf8adb19d6e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get iterator to the beginning of the vector of remote characteristic pointers. <br /></td></tr>
<tr class="separator:a99e6d6a6fba063b2c165cf8adb19d6e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c00a195d20c8eba714979427f90c239" id="r_a4c00a195d20c8eba714979427f90c239"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;::iterator&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a4c00a195d20c8eba714979427f90c239">end</a> () const</td></tr>
<tr class="memitem:a4c00a195d20c8eba714979427f90c239" id="r_a4c00a195d20c8eba714979427f90c239"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">::iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_remote_service.html#a4c00a195d20c8eba714979427f90c239">end</a> () <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a></td></tr>
<tr class="memdesc:a4c00a195d20c8eba714979427f90c239"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get iterator to the end of the vector of remote characteristic pointers. <br /></td></tr>
<tr class="separator:a4c00a195d20c8eba714979427f90c239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_nim_b_l_e_attribute"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_nim_b_l_e_attribute')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_nim_b_l_e_attribute.html">NimBLEAttribute</a></td></tr>
@ -168,7 +168,7 @@ Additional Inherited Members</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;::iterator NimBLERemoteService::begin </td>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">::iterator</a> NimBLERemoteService::begin </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -188,9 +188,9 @@ Additional Inherited Members</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t NimBLERemoteService::deleteCharacteristic </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">size_t</a> NimBLERemoteService::deleteCharacteristic </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td> const</td>
</tr>
@ -215,7 +215,7 @@ Additional Inherited Members</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLERemoteService::deleteCharacteristics </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">void</a> NimBLERemoteService::deleteCharacteristics </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -235,7 +235,7 @@ Additional Inherited Members</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;::iterator NimBLERemoteService::end </td>
<td class="memname">std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt;<a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">::iterator</a> NimBLERemoteService::end </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
@ -257,7 +257,7 @@ Additional Inherited Members</h2></td></tr>
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * NimBLERemoteService::getCharacteristic </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">char</a> *&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td> const</td>
</tr>
@ -284,7 +284,7 @@ Additional Inherited Members</h2></td></tr>
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * NimBLERemoteService::getCharacteristic </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td> const</td>
</tr>
@ -309,10 +309,10 @@ Additional Inherited Members</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt; &amp; NimBLERemoteService::getCharacteristics </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> std::vector&lt; <a class="el" href="class_nim_b_l_e_remote_characteristic.html">NimBLERemoteCharacteristic</a> * &gt; &amp; NimBLERemoteService::getCharacteristics </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>refresh</em> = <code>false</code></td><td>)</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">bool</a>&#160;</td>
<td class="paramname"><em>refresh</em> = <code><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">false</a></code></td><td>)</td>
<td> const</td>
</tr>
</table>
@ -338,7 +338,7 @@ Additional Inherited Members</h2></td></tr>
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_client.html">NimBLEClient</a> * NimBLERemoteService::getClient </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">void</a>&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
@ -384,15 +384,15 @@ Additional Inherited Members</h2></td></tr>
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLERemoteService::setValue </td>
<td class="memname"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">bool</a> NimBLERemoteService::setValue </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;&#160;</td>
<td class="paramname"><em>uuid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">const</a> <a class="el" href="class_nim_b_l_e_att_value.html">NimBLEAttValue</a> &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
@ -424,7 +424,7 @@ Additional Inherited Members</h2></td></tr>
<tr>
<td class="memname">std::string NimBLERemoteService::toString </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_remote_service.html#ac2f19f76f0c0ac9b0efe2baa2ad2f7ec">void</a>&#160;</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

View File

@ -25,7 +25,7 @@
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.2.1</span>
<div id="projectname">esp-nimble-cpp<span id="projectnumber">&#160;2.3.0</span>
</div>
</td>
</tr>

Some files were not shown because too many files have changed in this diff Show More