2025-05-19 23:04:49 +00:00
<!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" >
2025-06-11 17:19:38 +00:00
< div id = "projectname" > esp-nimble-cpp< span id = "projectnumber" >   2.3.1</ span >
2025-05-19 23:04:49 +00:00
</ 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&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&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&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&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 < ryan@nable-embedded.io> 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 " License" );</ 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 " AS IS" 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 " < a class = "code" href = "nimconfig_8h.html" > nimconfig.h</ a > " </ span ></ div >
2025-06-11 17:19:38 +00:00
< div class = "line" >< a id = "l00022" name = "l00022" ></ a >< span class = "lineno" > 22</ span >< span class = "preprocessor" > #if CONFIG_BT_ENABLED && (CONFIG_BT_NIMBLE_ROLE_PERIPHERAL || CONFIG_BT_NIMBLE_ROLE_CENTRAL)</ span ></ div >
2025-05-19 23:04:49 +00:00
< 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 " NimBLEAttribute.h" </ span ></ div >
< div class = "line" >< a id = "l00025" name = "l00025" ></ a >< span class = "lineno" > 25</ span >< span class = "preprocessor" > # include " NimBLEAttValue.h" </ 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 > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a id = "l00061" name = "l00061" ></ a >< span class = "lineno" > 61</ span > < span class = "keyword" > typename</ span > std::enable_if< std::is_trivially_copyable< T> ::value, T> ::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< T> (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 > < < span class = "keyword" > typename</ span > T> </ div >
< div class = "line" >< a id = "l00076" name = "l00076" ></ a >< span class = "lineno" > 76</ span > < span class = "keyword" > typename</ span > std::enable_if< !std::is_trivially_copyable< T> ::value && std::is_convertible< T, NimBLEAttValue> ::value, T> ::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 && (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 >
2025-06-11 17:19:38 +00:00
< 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:72</ 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:159</ div ></ div >
2025-05-19 23:04:49 +00:00
< 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 >