esp-nimble-cpp/class_nim_b_l_e_characteristic.html
2024-12-17 01:50:27 +00:00

1062 lines
57 KiB
HTML

<!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: NimBLECharacteristic 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.0.1</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_characteristic.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_characteristic-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">NimBLECharacteristic Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>The model of a BLE Characteristic.
<a href="class_nim_b_l_e_characteristic.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_nim_b_l_e_characteristic_8h_source.html">NimBLECharacteristic.h</a>&gt;</code></p>
<p>Inherits NimBLELocalValueAttribute.</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:ad136cb471195c1889804542afe0f628b" id="r_ad136cb471195c1889804542afe0f628b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#ad136cb471195c1889804542afe0f628b">NimBLECharacteristic</a> (const char *uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t maxLen=BLE_ATT_ATTR_MAX_LEN, <a class="el" href="class_nim_b_l_e_service.html">NimBLEService</a> *pService=nullptr)</td></tr>
<tr class="memdesc:ad136cb471195c1889804542afe0f628b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a characteristic. <br /></td></tr>
<tr class="separator:ad136cb471195c1889804542afe0f628b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5bacf6c6f1cf033897b6a99ef98438f" id="r_af5bacf6c6f1cf033897b6a99ef98438f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#af5bacf6c6f1cf033897b6a99ef98438f">NimBLECharacteristic</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid, uint16_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t maxLen=BLE_ATT_ATTR_MAX_LEN, <a class="el" href="class_nim_b_l_e_service.html">NimBLEService</a> *pService=nullptr)</td></tr>
<tr class="memdesc:af5bacf6c6f1cf033897b6a99ef98438f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a characteristic. <br /></td></tr>
<tr class="separator:af5bacf6c6f1cf033897b6a99ef98438f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fe29c5ec571d0513c51b8cbac942f4a" id="r_a7fe29c5ec571d0513c51b8cbac942f4a"><td class="memItemLeft" align="right" valign="top"><a id="a7fe29c5ec571d0513c51b8cbac942f4a" name="a7fe29c5ec571d0513c51b8cbac942f4a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>~NimBLECharacteristic</b> ()</td></tr>
<tr class="memdesc:a7fe29c5ec571d0513c51b8cbac942f4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a7fe29c5ec571d0513c51b8cbac942f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd70c1d2f95f78e01dbdb92cd009559a" id="r_afd70c1d2f95f78e01dbdb92cd009559a"><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_characteristic.html#afd70c1d2f95f78e01dbdb92cd009559a">toString</a> () const</td></tr>
<tr class="memdesc:afd70c1d2f95f78e01dbdb92cd009559a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string representation of the characteristic. <br /></td></tr>
<tr class="separator:afd70c1d2f95f78e01dbdb92cd009559a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed4b2241c89ad2a8f49117e2b9433e5b" id="r_aed4b2241c89ad2a8f49117e2b9433e5b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#aed4b2241c89ad2a8f49117e2b9433e5b">addDescriptor</a> (<a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *pDescriptor)</td></tr>
<tr class="memdesc:aed4b2241c89ad2a8f49117e2b9433e5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a descriptor to the characteristic. <br /></td></tr>
<tr class="separator:aed4b2241c89ad2a8f49117e2b9433e5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c0ed8932ee257a8632e3d72e353489b" id="r_a2c0ed8932ee257a8632e3d72e353489b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a2c0ed8932ee257a8632e3d72e353489b">removeDescriptor</a> (<a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *pDescriptor, bool deleteDsc=false)</td></tr>
<tr class="memdesc:a2c0ed8932ee257a8632e3d72e353489b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a descriptor from the characteristic. <br /></td></tr>
<tr class="separator:a2c0ed8932ee257a8632e3d72e353489b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a7d8e25403d4045f0790a4baeb5248c" id="r_a0a7d8e25403d4045f0790a4baeb5248c"><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_characteristic.html#a0a7d8e25403d4045f0790a4baeb5248c">getProperties</a> () const</td></tr>
<tr class="memdesc:a0a7d8e25403d4045f0790a4baeb5248c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the properties of the characteristic. <br /></td></tr>
<tr class="separator:a0a7d8e25403d4045f0790a4baeb5248c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29dc2505e1d3b4a7d6800d1547965d17" id="r_a29dc2505e1d3b4a7d6800d1547965d17"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a29dc2505e1d3b4a7d6800d1547965d17">setCallbacks</a> (<a class="el" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a> *pCallbacks)</td></tr>
<tr class="memdesc:a29dc2505e1d3b4a7d6800d1547965d17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the callback handlers for this characteristic. <br /></td></tr>
<tr class="separator:a29dc2505e1d3b4a7d6800d1547965d17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabdc2745d2523239a9ab3f02e39aa3cf" id="r_aabdc2745d2523239a9ab3f02e39aa3cf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#aabdc2745d2523239a9ab3f02e39aa3cf">indicate</a> (uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:aabdc2745d2523239a9ab3f02e39aa3cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an indication. <br /></td></tr>
<tr class="separator:aabdc2745d2523239a9ab3f02e39aa3cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5eb7de28ee6ec5661acac5c07abb11c" id="r_aa5eb7de28ee6ec5661acac5c07abb11c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#aa5eb7de28ee6ec5661acac5c07abb11c">indicate</a> (const uint8_t *value, size_t length, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:aa5eb7de28ee6ec5661acac5c07abb11c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send an indication. <br /></td></tr>
<tr class="separator:aa5eb7de28ee6ec5661acac5c07abb11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4482e038124724d8bb6d147bcdb5481" id="r_ac4482e038124724d8bb6d147bcdb5481"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#ac4482e038124724d8bb6d147bcdb5481">notify</a> (uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:ac4482e038124724d8bb6d147bcdb5481"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a notification. <br /></td></tr>
<tr class="separator:ac4482e038124724d8bb6d147bcdb5481"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7676bd1b73979101c394471299d71c0b" id="r_a7676bd1b73979101c394471299d71c0b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a7676bd1b73979101c394471299d71c0b">notify</a> (const uint8_t *value, size_t length, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:a7676bd1b73979101c394471299d71c0b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a notification. <br /></td></tr>
<tr class="separator:a7676bd1b73979101c394471299d71c0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9817ffdcc2d57e65e4ec3d88836af3f" id="r_aa9817ffdcc2d57e65e4ec3d88836af3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#aa9817ffdcc2d57e65e4ec3d88836af3f">createDescriptor</a> (const char *uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t maxLen=BLE_ATT_ATTR_MAX_LEN)</td></tr>
<tr class="memdesc:aa9817ffdcc2d57e65e4ec3d88836af3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new BLE Descriptor associated with this characteristic. <br /></td></tr>
<tr class="separator:aa9817ffdcc2d57e65e4ec3d88836af3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7c63b770d181de28869fda0f4d902fa" id="r_ac7c63b770d181de28869fda0f4d902fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#ac7c63b770d181de28869fda0f4d902fa">createDescriptor</a> (const <a class="el" href="class_nim_b_l_e_u_u_i_d.html">NimBLEUUID</a> &amp;uuid, uint32_t properties=NIMBLE_PROPERTY::READ|NIMBLE_PROPERTY::WRITE, uint16_t maxLen=BLE_ATT_ATTR_MAX_LEN)</td></tr>
<tr class="memdesc:ac7c63b770d181de28869fda0f4d902fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new BLE Descriptor associated with this characteristic. <br /></td></tr>
<tr class="separator:ac7c63b770d181de28869fda0f4d902fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc3402da680a988f6fa38100d9c98275" id="r_acc3402da680a988f6fa38100d9c98275"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e2904.html">NimBLE2904</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#acc3402da680a988f6fa38100d9c98275">create2904</a> ()</td></tr>
<tr class="memdesc:acc3402da680a988f6fa38100d9c98275"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a Characteristic Presentation Format Descriptor for this characteristic. <br /></td></tr>
<tr class="separator:acc3402da680a988f6fa38100d9c98275"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dd5745ea2cd75e12d27c51fc90b4914" id="r_a3dd5745ea2cd75e12d27c51fc90b4914"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a3dd5745ea2cd75e12d27c51fc90b4914">getDescriptorByUUID</a> (const char *uuid) const</td></tr>
<tr class="memdesc:a3dd5745ea2cd75e12d27c51fc90b4914"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the BLE Descriptor for the given UUID. <br /></td></tr>
<tr class="separator:a3dd5745ea2cd75e12d27c51fc90b4914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15d9945ee9549e60db77666a2ef5d0c8" id="r_a15d9945ee9549e60db77666a2ef5d0c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a15d9945ee9549e60db77666a2ef5d0c8">getDescriptorByUUID</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="memdesc:a15d9945ee9549e60db77666a2ef5d0c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the BLE Descriptor for the given UUID. <br /></td></tr>
<tr class="separator:a15d9945ee9549e60db77666a2ef5d0c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a283bd1661b5865dd247b1b59bcbf46d6" id="r_a283bd1661b5865dd247b1b59bcbf46d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a283bd1661b5865dd247b1b59bcbf46d6">getDescriptorByHandle</a> (uint16_t handle) const</td></tr>
<tr class="memdesc:a283bd1661b5865dd247b1b59bcbf46d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the BLE Descriptor for the given handle. <br /></td></tr>
<tr class="separator:a283bd1661b5865dd247b1b59bcbf46d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8afe29701cd595d8b3c34cc59400b86b" id="r_a8afe29701cd595d8b3c34cc59400b86b"><td class="memItemLeft" align="right" valign="top"><a id="a8afe29701cd595d8b3c34cc59400b86b" name="a8afe29701cd595d8b3c34cc59400b86b"></a>
<a class="el" href="class_nim_b_l_e_service.html">NimBLEService</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getService</b> () const</td></tr>
<tr class="memdesc:a8afe29701cd595d8b3c34cc59400b86b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the service that owns this characteristic. <br /></td></tr>
<tr class="separator:a8afe29701cd595d8b3c34cc59400b86b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac194f58f909f9e447949a41c2a7cdf00" id="r_ac194f58f909f9e447949a41c2a7cdf00"><td class="memItemLeft" align="right" valign="top"><a id="ac194f58f909f9e447949a41c2a7cdf00" name="ac194f58f909f9e447949a41c2a7cdf00"></a>
<a class="el" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>getCallbacks</b> () const</td></tr>
<tr class="memdesc:ac194f58f909f9e447949a41c2a7cdf00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the callback handlers for this characteristic. <br /></td></tr>
<tr class="separator:ac194f58f909f9e447949a41c2a7cdf00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95e454eacf23ae8e1e251b76d7857954" id="r_a95e454eacf23ae8e1e251b76d7857954"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a95e454eacf23ae8e1e251b76d7857954"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">notify</a> (const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:a95e454eacf23ae8e1e251b76d7857954"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template to send a notification with a value from a struct or array. <br /></td></tr>
<tr class="separator:a95e454eacf23ae8e1e251b76d7857954"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab05a81528522e7f12acff65fa86f9a28" id="r_ab05a81528522e7f12acff65fa86f9a28"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab05a81528522e7f12acff65fa86f9a28"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#ab05a81528522e7f12acff65fa86f9a28">notify</a> (const T &amp;s, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:ab05a81528522e7f12acff65fa86f9a28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template to send a notification with a value from a class that has a c_str() and length() method. <br /></td></tr>
<tr class="separator:ab05a81528522e7f12acff65fa86f9a28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95e454eacf23ae8e1e251b76d7857954" id="r_a95e454eacf23ae8e1e251b76d7857954"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a95e454eacf23ae8e1e251b76d7857954"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a95e454eacf23ae8e1e251b76d7857954">notify</a> (const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:a95e454eacf23ae8e1e251b76d7857954"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template to send a notification with a value from a class that has a data() and size() method. <br /></td></tr>
<tr class="separator:a95e454eacf23ae8e1e251b76d7857954"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa824e4b90d8f9418d7c9ccc8735a6e31" id="r_aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">indicate</a> (const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template to send an indication with a value from a struct or array. <br /></td></tr>
<tr class="separator:aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ae5959f98c503de42660e195470192b" id="r_a3ae5959f98c503de42660e195470192b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3ae5959f98c503de42660e195470192b"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#a3ae5959f98c503de42660e195470192b">indicate</a> (const T &amp;s, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:a3ae5959f98c503de42660e195470192b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template to send a indication with a value from a class that has a c_str() and length() method. <br /></td></tr>
<tr class="separator:a3ae5959f98c503de42660e195470192b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa824e4b90d8f9418d7c9ccc8735a6e31" id="r_aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="class_nim_b_l_e_characteristic.html#aa824e4b90d8f9418d7c9ccc8735a6e31">indicate</a> (const T &amp;v, uint16_t connHandle=BLE_HS_CONN_HANDLE_NONE) const</td></tr>
<tr class="memdesc:aa824e4b90d8f9418d7c9ccc8735a6e31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Template to send a indication with a value from a class that has a data() and size() method. <br /></td></tr>
<tr class="separator:aa824e4b90d8f9418d7c9ccc8735a6e31"><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>The model of a BLE Characteristic. </p>
<p>A BLE Characteristic is an identified value container that manages a value. It is exposed by a BLE service and can be read and written to by a BLE client. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad136cb471195c1889804542afe0f628b" name="ad136cb471195c1889804542afe0f628b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad136cb471195c1889804542afe0f628b">&#9670;&#160;</a></span>NimBLECharacteristic() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">NimBLECharacteristic::NimBLECharacteristic </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>uuid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>properties</em> = <code>NIMBLE_PROPERTY::READ&#160;|&#160;NIMBLE_PROPERTY::WRITE</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxLen</em> = <code>BLE_ATT_ATTR_MAX_LEN</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_service.html">NimBLEService</a> *&#160;</td>
<td class="paramname"><em>pService</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>- UUID (const char*) for the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">properties</td><td>- Properties for the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">maxLen</td><td>- The maximum length in bytes that the characteristic value can hold. (Default: 512 bytes for esp32, 20 for all others). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pService</td><td>- pointer to the service instance this characteristic belongs to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="af5bacf6c6f1cf033897b6a99ef98438f" name="af5bacf6c6f1cf033897b6a99ef98438f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5bacf6c6f1cf033897b6a99ef98438f">&#9670;&#160;</a></span>NimBLECharacteristic() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">NimBLECharacteristic::NimBLECharacteristic </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="paramname"><em>uuid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>properties</em> = <code>NIMBLE_PROPERTY::READ&#160;|&#160;NIMBLE_PROPERTY::WRITE</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxLen</em> = <code>BLE_ATT_ATTR_MAX_LEN</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_service.html">NimBLEService</a> *&#160;</td>
<td class="paramname"><em>pService</em> = <code>nullptr</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Construct a characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>- UUID for the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">properties</td><td>- Properties for the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">maxLen</td><td>- The maximum length in bytes that the characteristic value can hold. (Default: 512 bytes for esp32, 20 for all others). </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pService</td><td>- pointer to the service instance this characteristic belongs to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aed4b2241c89ad2a8f49117e2b9433e5b" name="aed4b2241c89ad2a8f49117e2b9433e5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed4b2241c89ad2a8f49117e2b9433e5b">&#9670;&#160;</a></span>addDescriptor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLECharacteristic::addDescriptor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td>
<td class="paramname"><em>pDescriptor</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add a descriptor to the characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pDescriptor</td><td>A pointer to the descriptor to add. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="acc3402da680a988f6fa38100d9c98275" name="acc3402da680a988f6fa38100d9c98275"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc3402da680a988f6fa38100d9c98275">&#9670;&#160;</a></span>create2904()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e2904.html">NimBLE2904</a> * NimBLECharacteristic::create2904 </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a Characteristic Presentation Format Descriptor for this characteristic. </p>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a <a class="el" href="class_nim_b_l_e2904.html" title="Descriptor for Characteristic Presentation Format.">NimBLE2904</a> descriptor. </dd></dl>
</div>
</div>
<a id="aa9817ffdcc2d57e65e4ec3d88836af3f" name="aa9817ffdcc2d57e65e4ec3d88836af3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9817ffdcc2d57e65e4ec3d88836af3f">&#9670;&#160;</a></span>createDescriptor() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> * NimBLECharacteristic::createDescriptor </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>uuid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>properties</em> = <code>NIMBLE_PROPERTY::READ&#160;|&#160;NIMBLE_PROPERTY::WRITE</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxLen</em> = <code>BLE_ATT_ATTR_MAX_LEN</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new BLE Descriptor associated with this characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>- The UUID of the descriptor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">properties</td><td>- The properties of the descriptor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">maxLen</td><td>- The max length in bytes of the descriptor value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The new BLE descriptor. </dd></dl>
</div>
</div>
<a id="ac7c63b770d181de28869fda0f4d902fa" name="ac7c63b770d181de28869fda0f4d902fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7c63b770d181de28869fda0f4d902fa">&#9670;&#160;</a></span>createDescriptor() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> * NimBLECharacteristic::createDescriptor </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="paramname"><em>uuid</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>properties</em> = <code>NIMBLE_PROPERTY::READ&#160;|&#160;NIMBLE_PROPERTY::WRITE</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>maxLen</em> = <code>BLE_ATT_ATTR_MAX_LEN</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a new BLE Descriptor associated with this characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>- The UUID of the descriptor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">properties</td><td>- The properties of the descriptor. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">maxLen</td><td>- The max length in bytes of the descriptor value. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The new BLE descriptor. </dd></dl>
</div>
</div>
<a id="a283bd1661b5865dd247b1b59bcbf46d6" name="a283bd1661b5865dd247b1b59bcbf46d6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a283bd1661b5865dd247b1b59bcbf46d6">&#9670;&#160;</a></span>getDescriptorByHandle()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> * NimBLECharacteristic::getDescriptorByHandle </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>handle</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the BLE Descriptor for the given handle. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">handle</td><td>The handle of the descriptor. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the descriptor object or nullptr if not found. </dd></dl>
</div>
</div>
<a id="a3dd5745ea2cd75e12d27c51fc90b4914" name="a3dd5745ea2cd75e12d27c51fc90b4914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dd5745ea2cd75e12d27c51fc90b4914">&#9670;&#160;</a></span>getDescriptorByUUID() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> * NimBLECharacteristic::getDescriptorByUUID </td>
<td>(</td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>uuid</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the BLE Descriptor for the given UUID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>The UUID of the descriptor. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the descriptor object or nullptr if not found. </dd></dl>
</div>
</div>
<a id="a15d9945ee9549e60db77666a2ef5d0c8" name="a15d9945ee9549e60db77666a2ef5d0c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15d9945ee9549e60db77666a2ef5d0c8">&#9670;&#160;</a></span>getDescriptorByUUID() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> * NimBLECharacteristic::getDescriptorByUUID </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="paramname"><em>uuid</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the BLE Descriptor for the given UUID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">uuid</td><td>The UUID of the descriptor. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the descriptor object or nullptr if not found. </dd></dl>
</div>
</div>
<a id="a0a7d8e25403d4045f0790a4baeb5248c" name="a0a7d8e25403d4045f0790a4baeb5248c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a7d8e25403d4045f0790a4baeb5248c">&#9670;&#160;</a></span>getProperties()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t NimBLECharacteristic::getProperties </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the properties of the characteristic. </p>
<dl class="section return"><dt>Returns</dt><dd>The properties of the characteristic. </dd></dl>
</div>
</div>
<a id="a3ae5959f98c503de42660e195470192b" name="a3ae5959f98c503de42660e195470192b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ae5959f98c503de42660e195470192b">&#9670;&#160;</a></span>indicate() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::indicate </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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">
<p>Template to send a indication with a value from a class that has a c_str() and length() method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The value to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Optional, a connection handle to send the notification to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa824e4b90d8f9418d7c9ccc8735a6e31" name="aa824e4b90d8f9418d7c9ccc8735a6e31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa824e4b90d8f9418d7c9ccc8735a6e31">&#9670;&#160;</a></span>indicate() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::indicate </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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">
<p>Template to send an indication with a value from a struct or array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>The value to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Optional, a connection handle to send the notification to.</td></tr>
</table>
</dd>
</dl>
<p>&lt;type&gt; size must be evaluatable by <code>sizeof()</code>. </p>
</div>
</div>
<a id="aa824e4b90d8f9418d7c9ccc8735a6e31" name="aa824e4b90d8f9418d7c9ccc8735a6e31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa824e4b90d8f9418d7c9ccc8735a6e31">&#9670;&#160;</a></span>indicate() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::indicate </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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">
<p>Template to send a indication with a value from a class that has a data() and size() method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>The value to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Optional, a connection handle to send the notification to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aa5eb7de28ee6ec5661acac5c07abb11c" name="aa5eb7de28ee6ec5661acac5c07abb11c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5eb7de28ee6ec5661acac5c07abb11c">&#9670;&#160;</a></span>indicate() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::indicate </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an indication. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A pointer to the data to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the data to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Connection handle to send an individual indication, or BLE_HS_CONN_HANDLE_NONE to send the indication to all subscribed clients. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the indication was sent successfully, false otherwise. </dd></dl>
</div>
</div>
<a id="aabdc2745d2523239a9ab3f02e39aa3cf" name="aabdc2745d2523239a9ab3f02e39aa3cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aabdc2745d2523239a9ab3f02e39aa3cf">&#9670;&#160;</a></span>indicate() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::indicate </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Send an indication. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Connection handle to send an individual indication, or BLE_HS_CONN_HANDLE_NONE to send the indication to all subscribed clients. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the indication was sent successfully, false otherwise. </dd></dl>
</div>
</div>
<a id="ab05a81528522e7f12acff65fa86f9a28" name="ab05a81528522e7f12acff65fa86f9a28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab05a81528522e7f12acff65fa86f9a28">&#9670;&#160;</a></span>notify() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::notify </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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">
<p>Template to send a notification with a value from a class that has a c_str() and length() method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">s</td><td>The value to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Optional, a connection handle to send the notification to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a95e454eacf23ae8e1e251b76d7857954" name="a95e454eacf23ae8e1e251b76d7857954"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95e454eacf23ae8e1e251b76d7857954">&#9670;&#160;</a></span>notify() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::notify </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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">
<p>Template to send a notification with a value from a struct or array. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>The value to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Optional, a connection handle to send the notification to.</td></tr>
</table>
</dd>
</dl>
<p>&lt;type&gt; size must be evaluatable by <code>sizeof()</code>. </p>
</div>
</div>
<a id="a95e454eacf23ae8e1e251b76d7857954" name="a95e454eacf23ae8e1e251b76d7857954"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95e454eacf23ae8e1e251b76d7857954">&#9670;&#160;</a></span>notify() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::notify </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>v</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</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">
<p>Template to send a notification with a value from a class that has a data() and size() method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">v</td><td>The value to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Optional, a connection handle to send the notification to. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7676bd1b73979101c394471299d71c0b" name="a7676bd1b73979101c394471299d71c0b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7676bd1b73979101c394471299d71c0b">&#9670;&#160;</a></span>notify() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::notify </td>
<td>(</td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a notification. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>A pointer to the data to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>The length of the data to send. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Connection handle to send an individual notification, or BLE_HS_CONN_HANDLE_NONE to send the notification to all subscribed clients. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the notification was sent successfully, false otherwise. </dd></dl>
</div>
</div>
<a id="ac4482e038124724d8bb6d147bcdb5481" name="ac4482e038124724d8bb6d147bcdb5481"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4482e038124724d8bb6d147bcdb5481">&#9670;&#160;</a></span>notify() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool NimBLECharacteristic::notify </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>connHandle</em> = <code>BLE_HS_CONN_HANDLE_NONE</code></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Send a notification. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">connHandle</td><td>Connection handle to send an individual notification, or BLE_HS_CONN_HANDLE_NONE to send the notification to all subscribed clients. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the notification was sent successfully, false otherwise. </dd></dl>
</div>
</div>
<a id="a2c0ed8932ee257a8632e3d72e353489b" name="a2c0ed8932ee257a8632e3d72e353489b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c0ed8932ee257a8632e3d72e353489b">&#9670;&#160;</a></span>removeDescriptor()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLECharacteristic::removeDescriptor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_descriptor.html">NimBLEDescriptor</a> *&#160;</td>
<td class="paramname"><em>pDescriptor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deleteDsc</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove a descriptor from the characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pDescriptor</td><td>A pointer to the descriptor instance to remove from the characteristic. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">deleteDsc</td><td>If true it will delete the descriptor instance and free it's resources. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a29dc2505e1d3b4a7d6800d1547965d17" name="a29dc2505e1d3b4a7d6800d1547965d17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29dc2505e1d3b4a7d6800d1547965d17">&#9670;&#160;</a></span>setCallbacks()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void NimBLECharacteristic::setCallbacks </td>
<td>(</td>
<td class="paramtype"><a class="el" href="class_nim_b_l_e_characteristic_callbacks.html">NimBLECharacteristicCallbacks</a> *&#160;</td>
<td class="paramname"><em>pCallbacks</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the callback handlers for this characteristic. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pCallbacks</td><td>An instance of a <a class="el" href="class_nim_b_l_e_characteristic_callbacks.html" title="Callbacks that can be associated with a BLE characteristic to inform of events.">NimBLECharacteristicCallbacks</a> class<br />
used to define any callbacks for the characteristic. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="afd70c1d2f95f78e01dbdb92cd009559a" name="afd70c1d2f95f78e01dbdb92cd009559a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd70c1d2f95f78e01dbdb92cd009559a">&#9670;&#160;</a></span>toString()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string NimBLECharacteristic::toString </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Return a string representation of the characteristic. </p>
<dl class="section return"><dt>Returns</dt><dd>A string representation of the characteristic. </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_characteristic.html">NimBLECharacteristic</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>