diff --git a/.docs/html/annotated.html b/.docs/html/annotated.html index 9523ec3..6f5bb41 100644 --- a/.docs/html/annotated.html +++ b/.docs/html/annotated.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -96,8 +96,8 @@ <div class="contents"> <div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory"> <table class="directory"> -<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_c_m_d_handler.html" target="_self">CMDHandler</a></td><td class="desc">Class for command hanlder </td></tr> -<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_m_d_list.html" target="_self">CMDList</a></td><td class="desc">Struct for command </td></tr> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classs_c_m_d.html" target="_self">sCMD</a></td><td class="desc">Class for command handler </td></tr> +<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structs_c_m_d_list.html" target="_self">sCMDList</a></td><td class="desc">Struct for command list </td></tr> </table> </div><!-- directory --> </div><!-- contents --> @@ -105,7 +105,7 @@ <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/annotated_dup.js b/.docs/html/annotated_dup.js index 5ea5d82..b6a1c68 100644 --- a/.docs/html/annotated_dup.js +++ b/.docs/html/annotated_dup.js @@ -1,5 +1,5 @@ var annotated_dup = [ - [ "CMDHandler", "class_c_m_d_handler.html", "class_c_m_d_handler" ], - [ "CMDList", "struct_c_m_d_list.html", "struct_c_m_d_list" ] + [ "sCMD", "classs_c_m_d.html", "classs_c_m_d" ], + [ "sCMDList", "structs_c_m_d_list.html", "structs_c_m_d_list" ] ]; \ No newline at end of file diff --git a/.docs/html/class_c_m_d_handler-members.html b/.docs/html/class_c_m_d_handler-members.html index a65c9cd..34af937 100644 --- a/.docs/html/class_c_m_d_handler-members.html +++ b/.docs/html/class_c_m_d_handler-members.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.0r2</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -99,15 +99,15 @@ <table class="directory"> <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler</a>(const CMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> <tr class="odd"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">exe</a>(char *input, uint8_t nullAsArg=0)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> - <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">getDelimiter</a>(uint8_t type) const</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(uint8_t type, char del)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102">getDelimiter</a>(sCMD_del_t type) const</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781">setDelimiter</a>(sCMD_del_t type, char del)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> <tr class="even"><td class="entry"><a class="el" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">~CMDHandler</a>(void)</td><td class="entry"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td><td class="entry"><span class="mlabel">inline</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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:15:33 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/class_c_m_d_handler.html b/.docs/html/class_c_m_d_handler.html index 757a7f1..32a615c 100644 --- a/.docs/html/class_c_m_d_handler.html +++ b/.docs/html/class_c_m_d_handler.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.0r2</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -98,7 +98,7 @@ </div><!--header--> <div class="contents"> -<p>Class for command hanlder. +<p>Class for command handler. <a href="class_c_m_d_handler.html#details">More...</a></p> <p><code>#include <<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>></code></p> @@ -114,16 +114,16 @@ <tr class="memitem:a81e71d6d511bd21237c40366bc31cf59"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">exe</a> (char *input, uint8_t nullAsArg=0)</td></tr> <tr class="memdesc:a81e71d6d511bd21237c40366bc31cf59"><td class="mdescLeft"> </td><td class="mdescRight">Parse and execute input C-string. <a href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">More...</a><br /></td></tr> <tr class="separator:a81e71d6d511bd21237c40366bc31cf59"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:a296dc2f654b585e7cb29caa69452d432"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a> (uint8_t type, char del)</td></tr> -<tr class="memdesc:a296dc2f654b585e7cb29caa69452d432"><td class="mdescLeft"> </td><td class="mdescRight">Set delimiter character. <a href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">More...</a><br /></td></tr> -<tr class="separator:a296dc2f654b585e7cb29caa69452d432"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:aa8501ee9fae636c4d0fc2311cab3a54b"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">getDelimiter</a> (uint8_t type) const</td></tr> -<tr class="memdesc:aa8501ee9fae636c4d0fc2311cab3a54b"><td class="mdescLeft"> </td><td class="mdescRight">Get delimiter character. <a href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">More...</a><br /></td></tr> -<tr class="separator:aa8501ee9fae636c4d0fc2311cab3a54b"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a54ef63e2e190efe814b5cfadc1e8c781"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781">setDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type, char del)</td></tr> +<tr class="memdesc:a54ef63e2e190efe814b5cfadc1e8c781"><td class="mdescLeft"> </td><td class="mdescRight">Set delimiter character. <a href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781">More...</a><br /></td></tr> +<tr class="separator:a54ef63e2e190efe814b5cfadc1e8c781"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae9ba05153e1ceda678e45ac52f151102"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102">getDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type) const</td></tr> +<tr class="memdesc:ae9ba05153e1ceda678e45ac52f151102"><td class="mdescLeft"> </td><td class="mdescRight">Get delimiter character. <a href="class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102">More...</a><br /></td></tr> +<tr class="separator:ae9ba05153e1ceda678e45ac52f151102"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><div class="compoundTemplParams">template<uint8_t max><br /> -class CMDHandler< max ></div><p >Class for command hanlder. </p> +class CMDHandler< max ></div><p >Class for command handler. </p> <dl class="tparams"><dt>Template Parameters</dt><dd> <table class="tparams"> <tr><td class="paramname">max</td><td>Maximum number of arguments command handler can handle for one command. </td></tr> @@ -131,7 +131,7 @@ </dd> </dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00096">96</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00124">124</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div><h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a" name="a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">◆ </a></span>CMDHandler()</h2> @@ -207,14 +207,14 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9e7ca0b6f0b25fbf1fb0a125 </dl> <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00111">111</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00139">139</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><img src="class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.png" border="0" usemap="#aclass_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph" alt=""/></div> <map name="aclass_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph" id="aclass_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph"> <area shape="rect" title="CMD handler constructor." alt="" coords="5,5,181,31"/> -<area shape="rect" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="229,5,401,31"/> +<area shape="rect" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="229,5,401,31"/> </map> </div> @@ -249,14 +249,14 @@ <h2 class="memtitle"><span class="permalink"><a href="#ab0dff8dad9b29c91453a4f8c <p>CMD handler deconstructor. </p> <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00131">131</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00159">159</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> <div class="dynheader"> Here is the call graph for this function:</div> <div class="dyncontent"> <div class="center"><img src="class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.png" border="0" usemap="#aclass_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph" alt=""/></div> <map name="aclass_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph" id="aclass_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph"> <area shape="rect" title="CMD handler deconstructor." alt="" coords="5,5,189,31"/> -<area shape="rect" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="237,5,409,31"/> +<area shape="rect" href="class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="237,5,409,31"/> </map> </div> @@ -311,21 +311,12 @@ <h2 class="memtitle"><span class="permalink"><a href="#a81e71d6d511bd21237c40366 <dl class="section warning"><dt>Warning</dt><dd>This function modifies <code>input</code> C-string! </dd></dl> <dl class="section note"><dt>Note</dt><dd>This function parses input C-string from left to right. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00157">157</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> -<div class="dynheader"> -Here is the call graph for this function:</div> -<div class="dyncontent"> -<div class="center"><img src="class_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph.png" border="0" usemap="#aclass_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph" alt=""/></div> -<map name="aclass_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph" id="aclass_c_m_d_handler_a81e71d6d511bd21237c40366bc31cf59_cgraph"> -<area shape="rect" title="Parse and execute input C-string." alt="" coords="5,5,129,31"/> -<area shape="rect" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621" title="Find input command in cmdList." alt="" coords="177,5,248,31"/> -</map> -</div> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00186">186</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> -<a id="aa8501ee9fae636c4d0fc2311cab3a54b" name="aa8501ee9fae636c4d0fc2311cab3a54b"></a> -<h2 class="memtitle"><span class="permalink"><a href="#aa8501ee9fae636c4d0fc2311cab3a54b">◆ </a></span>getDelimiter()</h2> +<a id="ae9ba05153e1ceda678e45ac52f151102" name="ae9ba05153e1ceda678e45ac52f151102"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae9ba05153e1ceda678e45ac52f151102">◆ </a></span>getDelimiter()</h2> <div class="memitem"> <div class="memproto"> @@ -338,7 +329,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aa8501ee9fae636c4d0fc2311 <tr> <td class="memname">char <a class="el" href="class_c_m_d_handler.html">CMDHandler</a>< max >::getDelimiter </td> <td>(</td> - <td class="paramtype">uint8_t </td> + <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td> <td class="paramname"><em>type</em></td><td>)</td> <td> const</td> </tr> @@ -353,18 +344,18 @@ <h2 class="memtitle"><span class="permalink"><a href="#aa8501ee9fae636c4d0fc2311 <p>Get delimiter character. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> - <tr><td class="paramname">type</td><td>Delimiter type. </td></tr> + <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Configured delimiter. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00256">256</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00285">285</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> -<a id="a296dc2f654b585e7cb29caa69452d432" name="a296dc2f654b585e7cb29caa69452d432"></a> -<h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa69452d432">◆ </a></span>setDelimiter()</h2> +<a id="a54ef63e2e190efe814b5cfadc1e8c781" name="a54ef63e2e190efe814b5cfadc1e8c781"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a54ef63e2e190efe814b5cfadc1e8c781">◆ </a></span>setDelimiter()</h2> <div class="memitem"> <div class="memproto"> @@ -377,7 +368,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa6 <tr> <td class="memname">void <a class="el" href="class_c_m_d_handler.html">CMDHandler</a>< max >::setDelimiter </td> <td>(</td> - <td class="paramtype">uint8_t </td> + <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td> <td class="paramname"><em>type</em>, </td> </tr> <tr> @@ -402,19 +393,19 @@ <h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa6 <p>Set delimiter character. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> - <tr><td class="paramname">type</td><td>Delimiter type. </td></tr> - <tr><td class="paramname">del</td><td>Delimiter character. </td></tr> + <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr> + <tr><td class="paramname">del</td><td>New delimiter. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00244">244</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00273">273</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> <div class="dynheader"> Here is the caller graph for this function:</div> <div class="dyncontent"> -<div class="center"><img src="class_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph.png" border="0" usemap="#aclass_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph" alt=""/></div> -<map name="aclass_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph" id="aclass_c_m_d_handler_a296dc2f654b585e7cb29caa69452d432_icgraph"> +<div class="center"><img src="class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png" border="0" usemap="#aclass_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph" alt=""/></div> +<map name="aclass_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph" id="aclass_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph"> <area shape="rect" title="Set delimiter character." alt="" coords="237,31,409,56"/> <area shape="rect" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a" title="CMD handler constructor." alt="" coords="9,5,185,31"/> <area shape="rect" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47" title="CMD handler deconstructor." alt="" coords="5,55,189,80"/> @@ -432,7 +423,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a296dc2f654b585e7cb29caa6 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="class_c_m_d_handler.html">CMDHandler</a></li> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:15:33 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/class_c_m_d_handler.js b/.docs/html/class_c_m_d_handler.js index da26987..34278b9 100644 --- a/.docs/html/class_c_m_d_handler.js +++ b/.docs/html/class_c_m_d_handler.js @@ -3,6 +3,6 @@ var class_c_m_d_handler = [ "CMDHandler", "class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a", null ], [ "~CMDHandler", "class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47", null ], [ "exe", "class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59", null ], - [ "getDelimiter", "class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b", null ], - [ "setDelimiter", "class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432", null ] + [ "getDelimiter", "class_c_m_d_handler.html#ae9ba05153e1ceda678e45ac52f151102", null ], + [ "setDelimiter", "class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781", null ] ]; \ No newline at end of file diff --git a/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.map b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.map new file mode 100644 index 0000000..1c0c40b --- /dev/null +++ b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.map @@ -0,0 +1,5 @@ +<map id="CMDHandler::setDelimiter" name="CMDHandler::setDelimiter"> +<area shape="rect" id="node1" title="Set delimiter character." alt="" coords="237,31,409,56"/> +<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a" title="CMD handler constructor." alt="" coords="9,5,185,31"/> +<area shape="rect" id="node3" href="$class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47" title="CMD handler deconstructor." alt="" coords="5,55,189,80"/> +</map> diff --git a/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.md5 b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.md5 new file mode 100644 index 0000000..a19fbe9 --- /dev/null +++ b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.md5 @@ -0,0 +1 @@ +6562f5e8abd5da85fe8c227480fdf567 \ No newline at end of file diff --git a/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png new file mode 100644 index 0000000..a3abd55 Binary files /dev/null and b/.docs/html/class_c_m_d_handler_a54ef63e2e190efe814b5cfadc1e8c781_icgraph.png differ diff --git a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map index 0fd9bcf..a7a7ddd 100644 --- a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map +++ b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.map @@ -1,4 +1,4 @@ <map id="CMDHandler::CMDHandler" name="CMDHandler::CMDHandler"> <area shape="rect" id="node1" title="CMD handler constructor." alt="" coords="5,5,181,31"/> -<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="229,5,401,31"/> +<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="229,5,401,31"/> </map> diff --git a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5 b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5 index 1d46a27..4fbdffd 100644 --- a/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5 +++ b/.docs/html/class_c_m_d_handler_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a_cgraph.md5 @@ -1 +1 @@ -6eacd90b4179b600a164bd7e3eb3e76e \ No newline at end of file +afa7ea01a28013c4b64e742929bad2a2 \ No newline at end of file diff --git a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map index 7c42c2b..69c8888 100644 --- a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map +++ b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.map @@ -1,4 +1,4 @@ <map id="CMDHandler::~CMDHandler" name="CMDHandler::~CMDHandler"> <area shape="rect" id="node1" title="CMD handler deconstructor." alt="" coords="5,5,189,31"/> -<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432" title="Set delimiter character." alt="" coords="237,5,409,31"/> +<area shape="rect" id="node2" href="$class_c_m_d_handler.html#a54ef63e2e190efe814b5cfadc1e8c781" title="Set delimiter character." alt="" coords="237,5,409,31"/> </map> diff --git a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5 b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5 index 6aa73f4..99b3bf0 100644 --- a/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5 +++ b/.docs/html/class_c_m_d_handler_ab0dff8dad9b29c91453a4f8c689a9c47_cgraph.md5 @@ -1 +1 @@ -1fa36b547b44e75b2301310b6060d3d9 \ No newline at end of file +3077159dfadd9a82ac8a459a89a0889b \ No newline at end of file diff --git a/.docs/html/classes.html b/.docs/html/classes.html index b162d85..45617a8 100644 --- a/.docs/html/classes.html +++ b/.docs/html/classes.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -94,18 +94,18 @@ <div class="headertitle"><div class="title">Class Index</div></div> </div><!--header--> <div class="contents"> -<div class="qindex"><a class="qindex" href="#letter_C">C</a></div> +<div class="qindex"><a class="qindex" href="#letter_S">S</a></div> <div class="classindex"> <dl class="classindex even"> -<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt> -<dd><a class="el" href="class_c_m_d_handler.html">CMDHandler</a></dd><dd><a class="el" href="struct_c_m_d_list.html">CMDList</a></dd></dl> +<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt> +<dd><a class="el" href="classs_c_m_d.html">sCMD</a></dd><dd><a class="el" href="structs_c_m_d_list.html">sCMDList</a></dd></dl> </div> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/classs_c_m_d-members.html b/.docs/html/classs_c_m_d-members.html new file mode 100644 index 0000000..edbce89 --- /dev/null +++ b/.docs/html/classs_c_m_d-members.html @@ -0,0 +1,114 @@ +<!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.5"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>sCMD: 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> +<script type="text/javascript" src="darkmode_toggle.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">sCMD<span id="projectnumber"> v1.1r1</span> + </div> + <div id="projectbrief">Frameworkless simple command handler written in C++.</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.9.5 --> +<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> +</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('classs_c_m_d.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">sCMD< max > Member List</div></div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="classs_c_m_d.html">sCMD< max ></a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">exe</a>(char *input, uint8_t nullAsArg=0)</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">getDelimiter</a>(sCMD_del_t type) const</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD</a>(const sCMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t type, char del)</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr> + <tr class="even"><td class="entry"><a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">~sCMD</a>(void)</td><td class="entry"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td><td class="entry"><span class="mlabel">inline</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 on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + </ul> +</div> +</body> +</html> diff --git a/.docs/html/classs_c_m_d.html b/.docs/html/classs_c_m_d.html new file mode 100644 index 0000000..fc7b82f --- /dev/null +++ b/.docs/html/classs_c_m_d.html @@ -0,0 +1,430 @@ +<!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.5"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>sCMD: sCMD< max > Class Template 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> +<script type="text/javascript" src="darkmode_toggle.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">sCMD<span id="projectnumber"> v1.1r1</span> + </div> + <div id="projectbrief">Frameworkless simple command handler written in C++.</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.9.5 --> +<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> +</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('classs_c_m_d.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> | +<a href="classs_c_m_d-members.html">List of all members</a> </div> + <div class="headertitle"><div class="title">sCMD< max > Class Template Reference<div class="ingroups"><a class="el" href="group__s_c_m_d.html">SCMD</a></div></div></div> +</div><!--header--> +<div class="contents"> + +<p>Class for command handler. + <a href="classs_c_m_d.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>></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:ab8c56a4e32cafb932af755d169f170b5"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD</a> (const <a class="el" href="structs_c_m_d_list.html">sCMDList</a> *list, uint16_t len, <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</td></tr> +<tr class="memdesc:ab8c56a4e32cafb932af755d169f170b5"><td class="mdescLeft"> </td><td class="mdescRight">CMD handler constructor. <a href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">More...</a><br /></td></tr> +<tr class="separator:ab8c56a4e32cafb932af755d169f170b5"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:acdd867db6da2169039d0adad7ce6ac1e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">~sCMD</a> (void)</td></tr> +<tr class="memdesc:acdd867db6da2169039d0adad7ce6ac1e"><td class="mdescLeft"> </td><td class="mdescRight">CMD handler deconstructor. <a href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">More...</a><br /></td></tr> +<tr class="separator:acdd867db6da2169039d0adad7ce6ac1e"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a6073a3d8ecf99fb983d72e5532ea1f95"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">exe</a> (char *input, uint8_t nullAsArg=0)</td></tr> +<tr class="memdesc:a6073a3d8ecf99fb983d72e5532ea1f95"><td class="mdescLeft"> </td><td class="mdescRight">Parse and execute input C-string. <a href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">More...</a><br /></td></tr> +<tr class="separator:a6073a3d8ecf99fb983d72e5532ea1f95"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ab4af423609c21bb0fbae6f6e3f0814b8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type, char del)</td></tr> +<tr class="memdesc:ab4af423609c21bb0fbae6f6e3f0814b8"><td class="mdescLeft"> </td><td class="mdescRight">Set delimiter character. <a href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">More...</a><br /></td></tr> +<tr class="separator:ab4af423609c21bb0fbae6f6e3f0814b8"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a91dc61752b4712622c3c49e393338c86"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">getDelimiter</a> (<a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type) const</td></tr> +<tr class="memdesc:a91dc61752b4712622c3c49e393338c86"><td class="mdescLeft"> </td><td class="mdescRight">Get delimiter character. <a href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">More...</a><br /></td></tr> +<tr class="separator:a91dc61752b4712622c3c49e393338c86"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><div class="compoundTemplParams">template<uint8_t max><br /> +class sCMD< max ></div><p >Class for command handler. </p> +<dl class="tparams"><dt>Template Parameters</dt><dd> + <table class="tparams"> + <tr><td class="paramname">max</td><td>Maximum number of arguments command handler can handle for one command. </td></tr> + </table> + </dd> +</dl> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00124">124</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +</div><h2 class="groupheader">Constructor & Destructor Documentation</h2> +<a id="ab8c56a4e32cafb932af755d169f170b5" name="ab8c56a4e32cafb932af755d169f170b5"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab8c56a4e32cafb932af755d169f170b5">◆ </a></span>sCMD()</h2> + +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<uint8_t max> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classs_c_m_d.html">sCMD</a>< max ><a class="el" href="classs_c_m_d.html">::sCMD</a> </td> + <td>(</td> + <td class="paramtype">const <a class="el" href="structs_c_m_d_list.html">sCMDList</a> * </td> + <td class="paramname"><em>list</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint16_t </td> + <td class="paramname"><em>len</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> </td> + <td class="paramname"><em>fallback</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char </td> + <td class="paramname"><em>ccDelimiter</em> = <code>';'</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char </td> + <td class="paramname"><em>caDelimiter</em> = <code>','</code>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char </td> + <td class="paramname"><em>aaDelimiter</em> = <code>','</code> </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> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>CMD handler constructor. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">list</td><td>Pointer to list of commands. </td></tr> + <tr><td class="paramname">len</td><td>Length of <code>list</code> </td></tr> + <tr><td class="paramname">fallback</td><td>Pointer to external function that is called when unknown command is found. </td></tr> + <tr><td class="paramname">ccDelimiter</td><td>Delimiter character between commands. Default delimiter is <code></code>; </td></tr> + <tr><td class="paramname">caDelimiter</td><td>Delimiter character between command and arguments. Default delimiter is <code></code>, </td></tr> + <tr><td class="paramname">aaDelimiter</td><td>Delimiter character between arguments. Default delimiter is <code></code>, </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00139">139</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<div class="dynheader"> +Here is the call graph for this function:</div> +<div class="dyncontent"> +<div class="center"><img src="classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png" border="0" usemap="#aclasss_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph" alt=""/></div> +<map name="aclasss_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph" id="aclasss_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph"> +<area shape="rect" title="CMD handler constructor." alt="" coords="5,5,108,31"/> +<area shape="rect" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="156,5,291,31"/> +</map> +</div> + +</div> +</div> +<a id="acdd867db6da2169039d0adad7ce6ac1e" name="acdd867db6da2169039d0adad7ce6ac1e"></a> +<h2 class="memtitle"><span class="permalink"><a href="#acdd867db6da2169039d0adad7ce6ac1e">◆ </a></span>~sCMD()</h2> + +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<uint8_t max> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname"><a class="el" href="classs_c_m_d.html">sCMD</a>< max >::~<a class="el" href="classs_c_m_d.html">sCMD</a> </td> + <td>(</td> + <td class="paramtype">void </td> + <td class="paramname"></td><td>)</td> + <td></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>CMD handler deconstructor. </p> +<dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00159">159</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<div class="dynheader"> +Here is the call graph for this function:</div> +<div class="dyncontent"> +<div class="center"><img src="classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png" border="0" usemap="#aclasss_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph" alt=""/></div> +<map name="aclasss_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph" id="aclasss_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph"> +<area shape="rect" title="CMD handler deconstructor." alt="" coords="5,5,116,31"/> +<area shape="rect" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="164,5,299,31"/> +</map> +</div> + +</div> +</div> +<h2 class="groupheader">Member Function Documentation</h2> +<a id="a6073a3d8ecf99fb983d72e5532ea1f95" name="a6073a3d8ecf99fb983d72e5532ea1f95"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a6073a3d8ecf99fb983d72e5532ea1f95">◆ </a></span>exe()</h2> + +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<uint8_t max> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">uint8_t <a class="el" href="classs_c_m_d.html">sCMD</a>< max >::exe </td> + <td>(</td> + <td class="paramtype">char * </td> + <td class="paramname"><em>input</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">uint8_t </td> + <td class="paramname"><em>nullAsArg</em> = <code>0</code> </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> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Parse and execute input C-string. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">input</td><td>Pointer to C-string. </td></tr> + <tr><td class="paramname">nullAsArg</td><td>Set to <code>1</code> to include <code>\0</code> as argument. By default, this parameter is set to <code>0</code> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Number of executed commands.</dd></dl> +<dl class="section warning"><dt>Warning</dt><dd>This function modifies <code>input</code> C-string! </dd></dl> +<dl class="section note"><dt>Note</dt><dd>This function parses input C-string from left to right. </dd></dl> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00186">186</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<a id="a91dc61752b4712622c3c49e393338c86" name="a91dc61752b4712622c3c49e393338c86"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a91dc61752b4712622c3c49e393338c86">◆ </a></span>getDelimiter()</h2> + +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<uint8_t max> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">char <a class="el" href="classs_c_m_d.html">sCMD</a>< max >::getDelimiter </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td> + <td class="paramname"><em>type</em></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>Get delimiter character. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>Configured delimiter. </dd></dl> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00285">285</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<a id="ab4af423609c21bb0fbae6f6e3f0814b8" name="ab4af423609c21bb0fbae6f6e3f0814b8"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ab4af423609c21bb0fbae6f6e3f0814b8">◆ </a></span>setDelimiter()</h2> + +<div class="memitem"> +<div class="memproto"> +<div class="memtemplate"> +template<uint8_t max> </div> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">void <a class="el" href="classs_c_m_d.html">sCMD</a>< max >::setDelimiter </td> + <td>(</td> + <td class="paramtype"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td> + <td class="paramname"><em>type</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char </td> + <td class="paramname"><em>del</em> </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> </td> + </tr> +</table> +</div><div class="memdoc"> + +<p>Set delimiter character. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">type</td><td>Delimiter type. See <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> </td></tr> + <tr><td class="paramname">del</td><td>New delimiter. </td></tr> + </table> + </dd> +</dl> +<dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00273">273</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<div class="dynheader"> +Here is the caller graph for this function:</div> +<div class="dyncontent"> +<div class="center"><img src="classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png" border="0" usemap="#aclasss_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph" alt=""/></div> +<map name="aclasss_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph" id="aclasss_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph"> +<area shape="rect" title="Set delimiter character." alt="" coords="164,31,299,56"/> +<area shape="rect" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5" title="CMD handler constructor." alt="" coords="9,5,112,31"/> +<area shape="rect" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e" title="CMD handler deconstructor." alt="" coords="5,55,116,80"/> +</map> +</div> + +</div> +</div> +<hr/>The documentation for this class was generated from the following file:<ul> +<li><a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a></li> +</ul> +</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="classs_c_m_d.html">sCMD</a></li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + </ul> +</div> +</body> +</html> diff --git a/.docs/html/classs_c_m_d.js b/.docs/html/classs_c_m_d.js new file mode 100644 index 0000000..4a9eee8 --- /dev/null +++ b/.docs/html/classs_c_m_d.js @@ -0,0 +1,8 @@ +var classs_c_m_d = +[ + [ "sCMD", "classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5", null ], + [ "~sCMD", "classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e", null ], + [ "exe", "classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95", null ], + [ "getDelimiter", "classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86", null ], + [ "setDelimiter", "classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8", null ] +]; \ No newline at end of file diff --git a/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.map b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.map new file mode 100644 index 0000000..8aafb50 --- /dev/null +++ b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.map @@ -0,0 +1,4 @@ +<map id="sCMD::sCMD" name="sCMD::sCMD"> +<area shape="rect" id="node1" title="CMD handler constructor." alt="" coords="5,5,108,31"/> +<area shape="rect" id="node2" href="$classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="156,5,291,31"/> +</map> diff --git a/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.md5 b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.md5 new file mode 100644 index 0000000..78dff4b --- /dev/null +++ b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.md5 @@ -0,0 +1 @@ +a08636199d507986a1b4b122c09679a5 \ No newline at end of file diff --git a/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.png b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.png new file mode 100644 index 0000000..f2f9fe3 Binary files /dev/null and b/.docs/html/classs_c_m_d_a79218c24b2459beff37a2c44cc3db1a9_cgraph.png differ diff --git a/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.map b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.map new file mode 100644 index 0000000..f42b4c6 --- /dev/null +++ b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.map @@ -0,0 +1,5 @@ +<map id="sCMD::setDelimiter" name="sCMD::setDelimiter"> +<area shape="rect" id="node1" title="Set delimiter character." alt="" coords="164,31,299,56"/> +<area shape="rect" id="node2" href="$classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5" title="CMD handler constructor." alt="" coords="9,5,112,31"/> +<area shape="rect" id="node3" href="$classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e" title="CMD handler deconstructor." alt="" coords="5,55,116,80"/> +</map> diff --git a/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.md5 b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.md5 new file mode 100644 index 0000000..feacb67 --- /dev/null +++ b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.md5 @@ -0,0 +1 @@ +da60ac4f37d4ee1984433b001c2b492f \ No newline at end of file diff --git a/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png new file mode 100644 index 0000000..9ceb09e Binary files /dev/null and b/.docs/html/classs_c_m_d_ab4af423609c21bb0fbae6f6e3f0814b8_icgraph.png differ diff --git a/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.map b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.map new file mode 100644 index 0000000..8aafb50 --- /dev/null +++ b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.map @@ -0,0 +1,4 @@ +<map id="sCMD::sCMD" name="sCMD::sCMD"> +<area shape="rect" id="node1" title="CMD handler constructor." alt="" coords="5,5,108,31"/> +<area shape="rect" id="node2" href="$classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="156,5,291,31"/> +</map> diff --git a/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.md5 b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.md5 new file mode 100644 index 0000000..78dff4b --- /dev/null +++ b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.md5 @@ -0,0 +1 @@ +a08636199d507986a1b4b122c09679a5 \ No newline at end of file diff --git a/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png new file mode 100644 index 0000000..f2f9fe3 Binary files /dev/null and b/.docs/html/classs_c_m_d_ab8c56a4e32cafb932af755d169f170b5_cgraph.png differ diff --git a/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.map b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.map new file mode 100644 index 0000000..c07a9be --- /dev/null +++ b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.map @@ -0,0 +1,4 @@ +<map id="sCMD::~sCMD" name="sCMD::~sCMD"> +<area shape="rect" id="node1" title="CMD handler deconstructor." alt="" coords="5,5,116,31"/> +<area shape="rect" id="node2" href="$classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8" title="Set delimiter character." alt="" coords="164,5,299,31"/> +</map> diff --git a/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.md5 b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.md5 new file mode 100644 index 0000000..678a117 --- /dev/null +++ b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.md5 @@ -0,0 +1 @@ +76fa662251a462acea94e8f80a436ec2 \ No newline at end of file diff --git a/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png new file mode 100644 index 0000000..08d3732 Binary files /dev/null and b/.docs/html/classs_c_m_d_acdd867db6da2169039d0adad7ce6ac1e_cgraph.png differ diff --git a/.docs/html/files.html b/.docs/html/files.html index 69a58bf..117c6b4 100644 --- a/.docs/html/files.html +++ b/.docs/html/files.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -96,8 +96,7 @@ <div class="contents"> <div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory"> <table class="directory"> -<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="s_c_m_d_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="s_c_m_d_8cpp.html" target="_self">sCMD.cpp</a></td><td class="desc">Simple Command Handler source file </td></tr> -<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="s_c_m_d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="s_c_m_d_8h.html" target="_self">sCMD.h</a></td><td class="desc">Simple Command Handler header file </td></tr> +<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><a href="s_c_m_d_8h_source.html"><span class="icondoc"></span></a><a class="el" href="s_c_m_d_8h.html" target="_self">sCMD.h</a></td><td class="desc">Simple Command Handler header file </td></tr> </table> </div><!-- directory --> </div><!-- contents --> @@ -105,7 +104,7 @@ <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/files_dup.js b/.docs/html/files_dup.js index 73bdca4..6a4d9bd 100644 --- a/.docs/html/files_dup.js +++ b/.docs/html/files_dup.js @@ -1,5 +1,4 @@ var files_dup = [ - [ "sCMD.cpp", "s_c_m_d_8cpp.html", "s_c_m_d_8cpp" ], [ "sCMD.h", "s_c_m_d_8h.html", "s_c_m_d_8h" ] ]; \ No newline at end of file diff --git a/.docs/html/functions.html b/.docs/html/functions.html index 861faca..5038a4c 100644 --- a/.docs/html/functions.html +++ b/.docs/html/functions.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -92,20 +92,21 @@ <div class="contents"> <div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul> -<li>cmd : <a class="el" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">CMDList</a></li> -<li>CMDHandler() : <a class="el" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler< max ></a></li> -<li>cmdHandler : <a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">CMDList</a></li> -<li>exe() : <a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">CMDHandler< max ></a></li> -<li>getDelimiter() : <a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">CMDHandler< max ></a></li> -<li>setDelimiter() : <a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">CMDHandler< max ></a></li> -<li>~CMDHandler() : <a class="el" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">CMDHandler< max ></a></li> +<li>cmd : <a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">sCMDList</a></li> +<li>cmdDescription : <a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">sCMDList</a></li> +<li>cmdHandler : <a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">sCMDList</a></li> +<li>exe() : <a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">sCMD< max ></a></li> +<li>getDelimiter() : <a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">sCMD< max ></a></li> +<li>sCMD() : <a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD< max ></a></li> +<li>setDelimiter() : <a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">sCMD< max ></a></li> +<li>~sCMD() : <a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">sCMD< max ></a></li> </ul> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/functions_func.html b/.docs/html/functions_func.html index 1eefcf0..27c7394 100644 --- a/.docs/html/functions_func.html +++ b/.docs/html/functions_func.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -92,18 +92,18 @@ <div class="contents">  <ul> -<li>CMDHandler() : <a class="el" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler< max ></a></li> -<li>exe() : <a class="el" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">CMDHandler< max ></a></li> -<li>getDelimiter() : <a class="el" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">CMDHandler< max ></a></li> -<li>setDelimiter() : <a class="el" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">CMDHandler< max ></a></li> -<li>~CMDHandler() : <a class="el" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">CMDHandler< max ></a></li> +<li>exe() : <a class="el" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">sCMD< max ></a></li> +<li>getDelimiter() : <a class="el" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">sCMD< max ></a></li> +<li>sCMD() : <a class="el" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD< max ></a></li> +<li>setDelimiter() : <a class="el" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">sCMD< max ></a></li> +<li>~sCMD() : <a class="el" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">sCMD< max ></a></li> </ul> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/functions_vars.html b/.docs/html/functions_vars.html index b053f5d..e254e05 100644 --- a/.docs/html/functions_vars.html +++ b/.docs/html/functions_vars.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -92,15 +92,16 @@ <div class="contents">  <ul> -<li>cmd : <a class="el" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">CMDList</a></li> -<li>cmdHandler : <a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">CMDList</a></li> +<li>cmd : <a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">sCMDList</a></li> +<li>cmdDescription : <a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">sCMDList</a></li> +<li>cmdHandler : <a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">sCMDList</a></li> </ul> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/globals.html b/.docs/html/globals.html index 5678610..d59791c 100644 --- a/.docs/html/globals.html +++ b/.docs/html/globals.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -93,17 +93,21 @@ <div class="contents"> <div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul> <li>cmdH : <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">sCMD.h</a></li> -<li>findCmd() : <a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">sCMD.cpp</a>, <a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">sCMD.h</a></li> -<li>sCMD_AA : <a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD.h</a></li> -<li>sCMD_CA : <a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD.h</a></li> -<li>sCMD_CC : <a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD.h</a></li> +<li>sCMD_AA : <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD.h</a></li> +<li>SCMD_ADD : <a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">sCMD.h</a></li> +<li>sCMD_CA : <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD.h</a></li> +<li>sCMD_CC : <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD.h</a></li> +<li>sCMD_del_t : <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD.h</a></li> +<li>SCMD_GET : <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">sCMD.h</a></li> +<li>SCMD_HANDLER : <a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">sCMD.h</a></li> +<li>sCMDIdx : <a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMD.h</a></li> </ul> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/globals_defs.html b/.docs/html/globals_defs.html index acd4e5e..66f901f 100644 --- a/.docs/html/globals_defs.html +++ b/.docs/html/globals_defs.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -92,16 +92,16 @@ <div class="contents">  <ul> -<li>sCMD_AA : <a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD.h</a></li> -<li>sCMD_CA : <a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD.h</a></li> -<li>sCMD_CC : <a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD.h</a></li> +<li>SCMD_ADD : <a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">sCMD.h</a></li> +<li>SCMD_GET : <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">sCMD.h</a></li> +<li>SCMD_HANDLER : <a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">sCMD.h</a></li> </ul> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/globals_enum.html b/.docs/html/globals_enum.html index d1583f7..634cba6 100644 --- a/.docs/html/globals_enum.html +++ b/.docs/html/globals_enum.html @@ -26,9 +26,9 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v0.1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> - <div id="projectbrief">Simple Command handler written in C++.</div> + <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> </tr> </tbody> @@ -92,14 +92,14 @@ <div class="contents">  <ul> -<li>sCMD_delimiter_t : <a class="el" href="group__s_c_m_d.html#gaa0fcdbeaec020e98af1c24f2f9fa199d">sCMD.h</a></li> +<li>sCMD_del_t : <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD.h</a></li> </ul> </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 on Mon Nov 14 2022 20:17:20 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/globals_eval.html b/.docs/html/globals_eval.html index c917235..92302b9 100644 --- a/.docs/html/globals_eval.html +++ b/.docs/html/globals_eval.html @@ -26,9 +26,9 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v0.1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> - <div id="projectbrief">Simple Command handler written in C++.</div> + <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> </tr> </tbody> @@ -92,16 +92,16 @@ <div class="contents">  <ul> -<li>sCMD_CC : <a class="el" href="group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dadbdda4209e48d49b43f4d0b2d22c820a">sCMD.h</a></li> -<li>sCMD_CP : <a class="el" href="group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dabdac55d99a08174f11384d30c3a5384f">sCMD.h</a></li> -<li>sCMD_PP : <a class="el" href="group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199daa464219d1a3cbcdb1f4ba85d8e9477bf">sCMD.h</a></li> +<li>sCMD_AA : <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD.h</a></li> +<li>sCMD_CA : <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD.h</a></li> +<li>sCMD_CC : <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD.h</a></li> </ul> </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 on Mon Nov 14 2022 20:17:20 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/globals_type.html b/.docs/html/globals_type.html index e365c5a..8733478 100644 --- a/.docs/html/globals_type.html +++ b/.docs/html/globals_type.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -93,13 +93,14 @@ <div class="contents">  <ul> <li>cmdH : <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">sCMD.h</a></li> +<li>sCMDIdx : <a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMD.h</a></li> </ul> </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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/graph_legend.html b/.docs/html/graph_legend.html index 24c77b1..4060e6f 100644 --- a/.docs/html/graph_legend.html +++ b/.docs/html/graph_legend.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -159,7 +159,7 @@ <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/group__s_c_m_d.html b/.docs/html/group__s_c_m_d.html index 2bc8401..6139485 100644 --- a/.docs/html/group__s_c_m_d.html +++ b/.docs/html/group__s_c_m_d.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -95,100 +95,148 @@ <a href="#nested-classes">Classes</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | -<a href="#func-members">Functions</a> </div> +<a href="#enum-members">Enumerations</a> </div> <div class="headertitle"><div class="title">SCMD</div></div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a> Classes</h2></td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct for command. <a href="struct_c_m_d_list.html#details">More...</a><br /></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct for command list. <a href="structs_c_m_d_list.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for command hanlder. <a href="class_c_m_d_handler.html#details">More...</a><br /></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for command handler. <a href="classs_c_m_d.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a> Macros</h2></td></tr> -<tr class="memitem:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>   0</td></tr> -<tr class="memdesc:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="mdescLeft"> </td><td class="mdescRight">Delimiter between commands. <a href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">More...</a><br /></td></tr> -<tr class="separator:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga00d3cd602b53555150c73418befaa613"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>   1</td></tr> -<tr class="memdesc:ga00d3cd602b53555150c73418befaa613"><td class="mdescLeft"> </td><td class="mdescRight">Delimiter between command and arguments. <a href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">More...</a><br /></td></tr> -<tr class="separator:ga00d3cd602b53555150c73418befaa613"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gabf41a56387b606234547248a5cf74164"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>   2</td></tr> -<tr class="memdesc:gabf41a56387b606234547248a5cf74164"><td class="mdescLeft"> </td><td class="mdescRight">Delimiter between arguments. <a href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">More...</a><br /></td></tr> -<tr class="separator:gabf41a56387b606234547248a5cf74164"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)    <a class="el" href="classs_c_m_d.html">sCMD</a>##_cmd</td></tr> +<tr class="memdesc:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="mdescLeft"> </td><td class="mdescRight">Get command handler function for <code>_cmd</code>. <a href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">More...</a><br /></td></tr> +<tr class="separator:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">SCMD_ADD</a>(_cmd, _description)    { #_cmd, <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd), _description }</td></tr> +<tr class="memdesc:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="mdescLeft"> </td><td class="mdescRight">Code snippet for adding command into command list. <a href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">More...</a><br /></td></tr> +<tr class="separator:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaae7661e6307c398240ab2c8520bd6c51"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">SCMD_HANDLER</a>(_cmd)    static void <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)(const char** args, const uint8_t argCnt)</td></tr> +<tr class="memdesc:gaae7661e6307c398240ab2c8520bd6c51"><td class="mdescLeft"> </td><td class="mdescRight">Code snippet for creating command handler declaration and definition. <a href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">More...</a><br /></td></tr> +<tr class="separator:gaae7661e6307c398240ab2c8520bd6c51"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gab7d31f894b743026908bea0c58929204"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>) (const char **args, const uint8_t argCnt)</td></tr> <tr class="memdesc:gab7d31f894b743026908bea0c58929204"><td class="mdescLeft"> </td><td class="mdescRight">Typedef for command handler. <a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">More...</a><br /></td></tr> <tr class="separator:gab7d31f894b743026908bea0c58929204"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memItemLeft" align="right" valign="top">typedef int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></td></tr> +<tr class="memdesc:ga7cdf4eb22a208b705937117dab6cdf51"><td class="mdescLeft"> </td><td class="mdescRight">Typedef for command index. <a href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">More...</a><br /></td></tr> +<tr class="separator:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> -<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> -Functions</h2></td></tr> -<tr class="memitem:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a> (const char *input, const <a class="el" href="struct_c_m_d_list.html">CMDList</a> *cmdList, const uint16_t len)</td></tr> -<tr class="memdesc:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="mdescLeft"> </td><td class="mdescRight">Find <code>input</code> command in <code>cmdList</code>. <a href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">More...</a><br /></td></tr> -<tr class="separator:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a> +Enumerations</h2></td></tr> +<tr class="memitem:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t { <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a> = 0 +, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a> +, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a> + }</td></tr> +<tr class="memdesc:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="mdescLeft"> </td><td class="mdescRight">Enum for delimiter types. <a href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">More...</a><br /></td></tr> +<tr class="separator:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p >Simple Command Handler.</p> <p >Command format is: <code>cmd1:param1</code>,...,paramN;...;cmdN:param1,...,paramN where <code></code>; is coomand to command delimiter, <code></code>: command to argument delimiter and <code></code>, argument to argument delimiter. Command can be without arguments.</p> -<p >Create command list with <a class="el" href="struct_c_m_d_list.html">CMDList</a> struct and command handler object using CMD<max> class template. <code>max</code> is maximum number of arguments that command handler can accept. Command handler supports multiple command delimiters(coomand to command, command to arguments and argument to argument). Search for command is case sensitive(cmd != Cmd). See examples for beter understanding. </p> +<p >Create command list with CMDList struct and command handler object using CMD<max> class template. <code>max</code> is maximum number of arguments that command handler can accept. Command handler supports multiple command delimiters(coomand to command, command to arguments and argument to argument). Search for command is case sensitive(cmd != Cmd). See examples for beter understanding. </p> <h2 class="groupheader">Macro Definition Documentation</h2> -<a id="gabf41a56387b606234547248a5cf74164" name="gabf41a56387b606234547248a5cf74164"></a> -<h2 class="memtitle"><span class="permalink"><a href="#gabf41a56387b606234547248a5cf74164">◆ </a></span>sCMD_AA</h2> +<a id="ga9ba5942496337bb287bf7b98ec7c39ff" name="ga9ba5942496337bb287bf7b98ec7c39ff"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga9ba5942496337bb287bf7b98ec7c39ff">◆ </a></span>SCMD_ADD</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define sCMD_AA   2</td> + <td class="memname">#define SCMD_ADD</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">_cmd, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype"> </td> + <td class="paramname">_description </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td>    { #_cmd, <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd), _description }</td> </tr> </table> </div><div class="memdoc"> -<p>Delimiter between arguments. </p> +<p>Code snippet for adding command into command list. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">_cmd</td><td>Command name. </td></tr> + <tr><td class="paramname">_description</td><td>Command description. </td></tr> + </table> + </dd> +</dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00051">51</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00062">62</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> -<a id="ga00d3cd602b53555150c73418befaa613" name="ga00d3cd602b53555150c73418befaa613"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ga00d3cd602b53555150c73418befaa613">◆ </a></span>sCMD_CA</h2> +<a id="ga1411ceab8e4cd2f3c874bc395bd4732a" name="ga1411ceab8e4cd2f3c874bc395bd4732a"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga1411ceab8e4cd2f3c874bc395bd4732a">◆ </a></span>SCMD_GET</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define sCMD_CA   1</td> + <td class="memname">#define SCMD_GET</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">_cmd</td><td>)</td> + <td>    <a class="el" href="classs_c_m_d.html">sCMD</a>##_cmd</td> </tr> </table> </div><div class="memdoc"> -<p>Delimiter between command and arguments. </p> +<p>Get command handler function for <code>_cmd</code>. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">_cmd</td><td>Command name. </td></tr> + </table> + </dd> +</dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00050">50</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00053">53</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> -<a id="ga95b2953eaf3446e41eaa41b8f03e9ca3" name="ga95b2953eaf3446e41eaa41b8f03e9ca3"></a> -<h2 class="memtitle"><span class="permalink"><a href="#ga95b2953eaf3446e41eaa41b8f03e9ca3">◆ </a></span>sCMD_CC</h2> +<a id="gaae7661e6307c398240ab2c8520bd6c51" name="gaae7661e6307c398240ab2c8520bd6c51"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gaae7661e6307c398240ab2c8520bd6c51">◆ </a></span>SCMD_HANDLER</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">#define sCMD_CC   0</td> + <td class="memname">#define SCMD_HANDLER</td> + <td>(</td> + <td class="paramtype"> </td> + <td class="paramname">_cmd</td><td>)</td> + <td>    static void <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)(const char** args, const uint8_t argCnt)</td> </tr> </table> </div><div class="memdoc"> -<p>Delimiter between commands. </p> +<p>Code snippet for creating command handler declaration and definition. </p> +<dl class="params"><dt>Parameters</dt><dd> + <table class="params"> + <tr><td class="paramname">_cmd</td><td>Command name.</td></tr> + </table> + </dd> +</dl> +<dl class="section note"><dt>Note</dt><dd>Command handler is static. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00049">49</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00072">72</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> @@ -215,77 +263,52 @@ <h2 class="memtitle"><span class="permalink"><a href="#gab7d31f894b743026908bea0 </dl> <dl class="section return"><dt>Returns</dt><dd>No return value. </dd></dl> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00062">62</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00084">84</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> -<h2 class="groupheader">Function Documentation</h2> -<a id="gaf825bf80ddd1a52d68d737ea93e0f621" name="gaf825bf80ddd1a52d68d737ea93e0f621"></a> -<h2 class="memtitle"><span class="permalink"><a href="#gaf825bf80ddd1a52d68d737ea93e0f621">◆ </a></span>findCmd()</h2> +<a id="ga7cdf4eb22a208b705937117dab6cdf51" name="ga7cdf4eb22a208b705937117dab6cdf51"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ga7cdf4eb22a208b705937117dab6cdf51">◆ </a></span>sCMDIdx</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> - <td class="memname">int16_t findCmd </td> - <td>(</td> - <td class="paramtype">const char * </td> - <td class="paramname"><em>input</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const <a class="el" href="struct_c_m_d_list.html">CMDList</a> * </td> - <td class="paramname"><em>cmdList</em>, </td> - </tr> - <tr> - <td class="paramkey"></td> - <td></td> - <td class="paramtype">const uint16_t </td> - <td class="paramname"><em>len</em> </td> + <td class="memname">typedef int16_t <a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></td> </tr> + </table> +</div><div class="memdoc"> + +<p>Typedef for command index. </p> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00090">90</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<h2 class="groupheader">Enumeration Type Documentation</h2> +<a id="gab7b50b228ddfc95179ddc0b5f3541c78" name="gab7b50b228ddfc95179ddc0b5f3541c78"></a> +<h2 class="memtitle"><span class="permalink"><a href="#gab7b50b228ddfc95179ddc0b5f3541c78">◆ </a></span>sCMD_del_t</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> <tr> - <td></td> - <td>)</td> - <td></td><td></td> + <td class="memname">enum <a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t</td> </tr> </table> </div><div class="memdoc"> -<p>Find <code>input</code> command in <code>cmdList</code>. </p> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramname">input</td><td>Pointer to command C-string. </td></tr> - <tr><td class="paramname">cmdList</td><td>Pointer to external command list. </td></tr> - <tr><td class="paramname">len</td><td>Length of <code>cmdList</code> </td></tr> - </table> - </dd> -</dl> -<dl class="section return"><dt>Returns</dt><dd><code>-1</code> if command is not found. </dd> -<dd> -Index of command in <code>cmdList</code> if command is found.</dd></dl> -<dl class="params"><dt>Parameters</dt><dd> - <table class="params"> - <tr><td class="paramname">input</td><td>Pointer to command C-string. </td></tr> - <tr><td class="paramname">cmdList</td><td>Pointer to external command list. </td></tr> - <tr><td class="paramname">len</td><td>Length of <code>cmdList</code> </td></tr> - </table> - </dd> -</dl> -<dl class="section return"><dt>Returns</dt><dd><code>-1</code> if command is not found. </dd> -<dd> -Index of command in <code>cmdList</code> if command is found. </dd></dl> +<p>Enum for delimiter types. </p> +<table class="fieldtable"> +<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a" name="ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a"></a>sCMD_CC </td><td class="fielddoc"><p >Delimiter between commands. </p> +</td></tr> +<tr><td class="fieldname"><a id="ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983" name="ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983"></a>sCMD_CA </td><td class="fielddoc"><p >Delimiter between command and argument. </p> +</td></tr> +<tr><td class="fieldname"><a id="ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7" name="ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7"></a>sCMD_AA </td><td class="fielddoc"><p >Delimiter between arguments inside command. </p> +</td></tr> +</table> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8cpp_source.html#l00047">47</a> of file <a class="el" href="s_c_m_d_8cpp_source.html">sCMD.cpp</a>.</p> -<div class="dynheader"> -Here is the caller graph for this function:</div> -<div class="dyncontent"> -<div class="center"><img src="group__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph.png" border="0" usemap="#agroup__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph" alt=""/></div> -<map name="agroup__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph" id="agroup__s_c_m_d_gaf825bf80ddd1a52d68d737ea93e0f621_icgraph"> -<area shape="rect" title="Find input command in cmdList." alt="" coords="177,5,248,31"/> -<area shape="rect" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59" title="Parse and execute input C-string." alt="" coords="5,5,129,31"/> -</map> -</div> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00098">98</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> @@ -294,7 +317,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#gaf825bf80ddd1a52d68d737e <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/group__s_c_m_d.js b/.docs/html/group__s_c_m_d.js index 2ab8f3d..5419a08 100644 --- a/.docs/html/group__s_c_m_d.js +++ b/.docs/html/group__s_c_m_d.js @@ -1,19 +1,25 @@ var group__s_c_m_d = [ - [ "CMDList", "struct_c_m_d_list.html", [ - [ "cmd", "struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78", null ], - [ "cmdHandler", "struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c", null ] + [ "sCMDList", "structs_c_m_d_list.html", [ + [ "cmd", "structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d", null ], + [ "cmdDescription", "structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58", null ], + [ "cmdHandler", "structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607", null ] ] ], - [ "CMDHandler< max >", "class_c_m_d_handler.html", [ - [ "CMDHandler", "class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a", null ], - [ "~CMDHandler", "class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47", null ], - [ "exe", "class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59", null ], - [ "getDelimiter", "class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b", null ], - [ "setDelimiter", "class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432", null ] + [ "sCMD< max >", "classs_c_m_d.html", [ + [ "sCMD", "classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5", null ], + [ "~sCMD", "classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e", null ], + [ "exe", "classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95", null ], + [ "getDelimiter", "classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86", null ], + [ "setDelimiter", "classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8", null ] ] ], - [ "sCMD_AA", "group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164", null ], - [ "sCMD_CA", "group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613", null ], - [ "sCMD_CC", "group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3", null ], + [ "SCMD_ADD", "group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff", null ], + [ "SCMD_GET", "group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a", null ], + [ "SCMD_HANDLER", "group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51", null ], [ "cmdH", "group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204", null ], - [ "findCmd", "group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621", null ] + [ "sCMDIdx", "group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51", null ], + [ "sCMD_del_t", "group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78", [ + [ "sCMD_CC", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a", null ], + [ "sCMD_CA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983", null ], + [ "sCMD_AA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7", null ] + ] ] ]; \ No newline at end of file diff --git a/.docs/html/index.html b/.docs/html/index.html index 581b44b..401651c 100644 --- a/.docs/html/index.html +++ b/.docs/html/index.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -99,7 +99,7 @@ <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/md__r_e_a_d_m_e.html b/.docs/html/md__r_e_a_d_m_e.html index 6442b3d..3dfc4f9 100644 --- a/.docs/html/md__r_e_a_d_m_e.html +++ b/.docs/html/md__r_e_a_d_m_e.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -112,7 +112,12 @@ <li><code>:</code> is command to arguments delimiter.</li> <li><code>,</code> is argument to argument delimiter.</li> </ul> -<p >Check library documentation and example codes for more information. Library documentation is available at <code>.docs/html/index.html</code>. Example applications are available at <code>examples</code> folder. All examples are made with STM HAL framework.</p> +<p ><code>list</code> is an array with commands, handlers and command descriptions. </p><div class="fragment"><div class="line">CMDList cmdList[] = {</div> +<div class="line"> SCMD_ADD(help, ""), // No description</div> +<div class="line"> SCMD_ADD(reset, "Reset the device"),</div> +<div class="line"> SCMD_ADD(info, "Get device info")</div> +<div class="line">};</div> +</div><!-- fragment --><p >Check library documentation and example codes for more information. Library documentation is available at <code>.docs/html/index.html</code>. Example applications are available at <code>examples</code> folder. All examples are made with STM HAL framework.</p> <h1><a class="anchor" id="autotoc_md1"></a> License</h1> <p >Copyright (c) 2022, silvio3105 (www.github.com/silvio3105)</p> @@ -127,7 +132,7 @@ <h1><a class="anchor" id="autotoc_md1"></a> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/menudata.js b/.docs/html/menudata.js index f6e4695..a9bf53c 100644 --- a/.docs/html/menudata.js +++ b/.docs/html/menudata.js @@ -37,6 +37,7 @@ var menudata={children:[ {text:"File List",url:"files.html"}, {text:"File Members",url:"globals.html",children:[ {text:"All",url:"globals.html"}, -{text:"Functions",url:"globals_func.html"}, {text:"Typedefs",url:"globals_type.html"}, +{text:"Enumerations",url:"globals_enum.html"}, +{text:"Enumerator",url:"globals_eval.html"}, {text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/.docs/html/modules.html b/.docs/html/modules.html index f36079c..6893c46 100644 --- a/.docs/html/modules.html +++ b/.docs/html/modules.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -104,7 +104,7 @@ <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/navtreedata.js b/.docs/html/navtreedata.js index 1916614..f0d0161 100644 --- a/.docs/html/navtreedata.js +++ b/.docs/html/navtreedata.js @@ -42,8 +42,9 @@ var NAVTREE = [ "File List", "files.html", "files_dup" ], [ "File Members", "globals.html", [ [ "All", "globals.html", null ], - [ "Functions", "globals_func.html", null ], [ "Typedefs", "globals_type.html", null ], + [ "Enumerations", "globals_enum.html", null ], + [ "Enumerator", "globals_eval.html", null ], [ "Macros", "globals_defs.html", null ] ] ] ] ] diff --git a/.docs/html/navtreeindex0.js b/.docs/html/navtreeindex0.js index 34efcb0..6e1ce3a 100644 --- a/.docs/html/navtreeindex0.js +++ b/.docs/html/navtreeindex0.js @@ -1,37 +1,41 @@ var NAVTREEINDEX0 = { "annotated.html":[2,0], -"class_c_m_d_handler.html":[1,0,1], -"class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432":[1,0,1,4], -"class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59":[1,0,1,2], -"class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a":[1,0,1,0], -"class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b":[1,0,1,3], -"class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47":[1,0,1,1], "classes.html":[2,1], +"classs_c_m_d.html":[1,0,1], +"classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95":[1,0,1,2], +"classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86":[1,0,1,3], +"classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8":[1,0,1,4], +"classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5":[1,0,1,0], +"classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e":[1,0,1,1], "files.html":[3,0], "functions.html":[2,2,0], "functions_func.html":[2,2,1], "functions_vars.html":[2,2,2], "globals.html":[3,1,0], -"globals_defs.html":[3,1,3], -"globals_func.html":[3,1,1], -"globals_type.html":[3,1,2], +"globals_defs.html":[3,1,4], +"globals_enum.html":[3,1,2], +"globals_eval.html":[3,1,3], +"globals_type.html":[3,1,1], "group__s_c_m_d.html":[1,0], -"group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613":[1,0,3], -"group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3":[1,0,4], +"group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a":[1,0,3], +"group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51":[1,0,6], +"group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff":[1,0,2], +"group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51":[1,0,4], +"group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78":[1,0,7], "group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204":[1,0,5], -"group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164":[1,0,2], -"group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621":[1,0,6], +"group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7":[1,0,7,2], +"group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983":[1,0,7,1], +"group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a":[1,0,7,0], "index.html":[], "md__r_e_a_d_m_e.html":[0], "md__r_e_a_d_m_e.html#autotoc_md1":[0,0], "modules.html":[1], "pages.html":[], -"s_c_m_d_8cpp.html":[3,0,0], -"s_c_m_d_8cpp_source.html":[3,0,0], -"s_c_m_d_8h.html":[3,0,1], -"s_c_m_d_8h_source.html":[3,0,1], -"struct_c_m_d_list.html":[1,0,0], -"struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c":[1,0,0,1], -"struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78":[1,0,0,0] +"s_c_m_d_8h.html":[3,0,0], +"s_c_m_d_8h_source.html":[3,0,0], +"structs_c_m_d_list.html":[1,0,0], +"structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d":[1,0,0,0], +"structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607":[1,0,0,2], +"structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58":[1,0,0,1] }; diff --git a/.docs/html/pages.html b/.docs/html/pages.html index c04eddf..617cf08 100644 --- a/.docs/html/pages.html +++ b/.docs/html/pages.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -104,7 +104,7 @@ <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/s_c_m_d_8h.html b/.docs/html/s_c_m_d_8h.html index 77832cb..9bdba2f 100644 --- a/.docs/html/s_c_m_d_8h.html +++ b/.docs/html/s_c_m_d_8h.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -95,7 +95,7 @@ <a href="#nested-classes">Classes</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | -<a href="#func-members">Functions</a> </div> +<a href="#enum-members">Enumerations</a> </div> <div class="headertitle"><div class="title">sCMD.h File Reference</div></div> </div><!--header--> <div class="contents"> @@ -112,50 +112,47 @@ <area shape="rect" title=" " alt="" coords="10,79,70,104"/> </map> </div> -</div><div class="textblock"><div class="dynheader"> -This graph shows which files directly or indirectly include this file:</div> -<div class="dyncontent"> -<div class="center"><img src="s_c_m_d_8h__dep__incl.png" border="0" usemap="#as_c_m_d_8hdep" alt=""/></div> -<map name="as_c_m_d_8hdep" id="as_c_m_d_8hdep"> -<area shape="rect" title="Simple Command Handler header file." alt="" coords="12,5,81,31"/> -<area shape="rect" href="s_c_m_d_8cpp.html" title="Simple Command Handler source file." alt="" coords="5,79,88,104"/> -</map> -</div> </div> <p><a href="s_c_m_d_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a> Classes</h2></td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct for command. <a href="struct_c_m_d_list.html#details">More...</a><br /></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct for command list. <a href="structs_c_m_d_list.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_m_d_handler.html">CMDHandler< max ></a></td></tr> -<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for command hanlder. <a href="class_c_m_d_handler.html#details">More...</a><br /></td></tr> +<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classs_c_m_d.html">sCMD< max ></a></td></tr> +<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for command handler. <a href="classs_c_m_d.html#details">More...</a><br /></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a> Macros</h2></td></tr> -<tr class="memitem:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>   0</td></tr> -<tr class="memdesc:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="mdescLeft"> </td><td class="mdescRight">Delimiter between commands. <a href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">More...</a><br /></td></tr> -<tr class="separator:ga95b2953eaf3446e41eaa41b8f03e9ca3"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:ga00d3cd602b53555150c73418befaa613"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>   1</td></tr> -<tr class="memdesc:ga00d3cd602b53555150c73418befaa613"><td class="mdescLeft"> </td><td class="mdescRight">Delimiter between command and arguments. <a href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">More...</a><br /></td></tr> -<tr class="separator:ga00d3cd602b53555150c73418befaa613"><td class="memSeparator" colspan="2"> </td></tr> -<tr class="memitem:gabf41a56387b606234547248a5cf74164"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>   2</td></tr> -<tr class="memdesc:gabf41a56387b606234547248a5cf74164"><td class="mdescLeft"> </td><td class="mdescRight">Delimiter between arguments. <a href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">More...</a><br /></td></tr> -<tr class="separator:gabf41a56387b606234547248a5cf74164"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)    <a class="el" href="classs_c_m_d.html">sCMD</a>##_cmd</td></tr> +<tr class="memdesc:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="mdescLeft"> </td><td class="mdescRight">Get command handler function for <code>_cmd</code>. <a href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">More...</a><br /></td></tr> +<tr class="separator:ga1411ceab8e4cd2f3c874bc395bd4732a"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">SCMD_ADD</a>(_cmd, _description)    { #_cmd, <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd), _description }</td></tr> +<tr class="memdesc:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="mdescLeft"> </td><td class="mdescRight">Code snippet for adding command into command list. <a href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff">More...</a><br /></td></tr> +<tr class="separator:ga9ba5942496337bb287bf7b98ec7c39ff"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:gaae7661e6307c398240ab2c8520bd6c51"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">SCMD_HANDLER</a>(_cmd)    static void <a class="el" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a">SCMD_GET</a>(_cmd)(const char** args, const uint8_t argCnt)</td></tr> +<tr class="memdesc:gaae7661e6307c398240ab2c8520bd6c51"><td class="mdescLeft"> </td><td class="mdescRight">Code snippet for creating command handler declaration and definition. <a href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51">More...</a><br /></td></tr> +<tr class="separator:gaae7661e6307c398240ab2c8520bd6c51"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gab7d31f894b743026908bea0c58929204"><td class="memItemLeft" align="right" valign="top">typedef void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>) (const char **args, const uint8_t argCnt)</td></tr> <tr class="memdesc:gab7d31f894b743026908bea0c58929204"><td class="mdescLeft"> </td><td class="mdescRight">Typedef for command handler. <a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">More...</a><br /></td></tr> <tr class="separator:gab7d31f894b743026908bea0c58929204"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memItemLeft" align="right" valign="top">typedef int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></td></tr> +<tr class="memdesc:ga7cdf4eb22a208b705937117dab6cdf51"><td class="mdescLeft"> </td><td class="mdescRight">Typedef for command index. <a href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">More...</a><br /></td></tr> +<tr class="separator:ga7cdf4eb22a208b705937117dab6cdf51"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> -<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a> -Functions</h2></td></tr> -<tr class="memitem:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memItemLeft" align="right" valign="top">int16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a> (const char *input, const <a class="el" href="struct_c_m_d_list.html">CMDList</a> *cmdList, const uint16_t len)</td></tr> -<tr class="memdesc:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="mdescLeft"> </td><td class="mdescRight">Find <code>input</code> command in <code>cmdList</code>. <a href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">More...</a><br /></td></tr> -<tr class="separator:gaf825bf80ddd1a52d68d737ea93e0f621"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a> +Enumerations</h2></td></tr> +<tr class="memitem:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t { <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a> = 0 +, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a> +, <a class="el" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a> + }</td></tr> +<tr class="memdesc:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="mdescLeft"> </td><td class="mdescRight">Enum for delimiter types. <a href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">More...</a><br /></td></tr> +<tr class="separator:gab7b50b228ddfc95179ddc0b5f3541c78"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p >Simple Command Handler header file. </p> @@ -169,7 +166,7 @@ <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="s_c_m_d_8h.html">sCMD.h</a></li> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/s_c_m_d_8h.js b/.docs/html/s_c_m_d_8h.js index 01baba4..05cfe8f 100644 --- a/.docs/html/s_c_m_d_8h.js +++ b/.docs/html/s_c_m_d_8h.js @@ -1,8 +1,13 @@ var s_c_m_d_8h = [ - [ "sCMD_AA", "group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164", null ], - [ "sCMD_CA", "group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613", null ], - [ "sCMD_CC", "group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3", null ], + [ "SCMD_ADD", "group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff", null ], + [ "SCMD_GET", "group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a", null ], + [ "SCMD_HANDLER", "group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51", null ], [ "cmdH", "group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204", null ], - [ "findCmd", "group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621", null ] + [ "sCMDIdx", "group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51", null ], + [ "sCMD_del_t", "group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78", [ + [ "sCMD_CC", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a", null ], + [ "sCMD_CA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983", null ], + [ "sCMD_AA", "group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7", null ] + ] ] ]; \ No newline at end of file diff --git a/.docs/html/s_c_m_d_8h_source.html b/.docs/html/s_c_m_d_8h_source.html index 1966c3c..5764f29 100644 --- a/.docs/html/s_c_m_d_8h_source.html +++ b/.docs/html/s_c_m_d_8h_source.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.1r1</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -119,192 +119,220 @@ <div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// ----- INCLUDE FILES</span></div> <div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include "sStd.h"</span></div> <div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div> -<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// ----- MACRO DEFINITIONS</span></div> -<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="comment">// DELIMITER TYPES</span></div> -<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3"> 49</a></span><span class="preprocessor">#define sCMD_CC 0 </span></div> -<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613"> 50</a></span><span class="preprocessor">#define sCMD_CA 1 </span></div> -<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164"> 51</a></span><span class="preprocessor">#define sCMD_AA 2 </span></div> -<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment">// ----- TYPEDEFS</span></div> -<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204"> 62</a></span><span class="comment"></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span>** args, <span class="keyword">const</span> uint8_t argCnt);</div> -<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div> +<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span><span class="comment">// ----- CODE SNIPPETS</span></div> +<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a"> 53</a></span><span class="comment"></span><span class="preprocessor">#define SCMD_GET(_cmd) \</span></div> +<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor"> sCMD##_cmd</span></div> +<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div> +<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff"> 62</a></span><span class="preprocessor">#define SCMD_ADD(_cmd, _description) \</span></div> +<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span><span class="preprocessor"> { #_cmd, SCMD_GET(_cmd), _description }</span></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="comment">// ----- STRUCTS</span></div> -<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="struct_c_m_d_list.html"> 70</a></span><span class="comment"></span><span class="keyword">struct </span><a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a> {</div> -<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78"> 71</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">cmd</a>; </div> -<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c"> 72</a></span> <span class="keyword">const</span> <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> <a class="code hl_variable" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a>; </div> -<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>};</div> +<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51"> 72</a></span><span class="preprocessor">#define SCMD_HANDLER(_cmd) \</span></div> +<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="preprocessor"> static void SCMD_GET(_cmd)(const char** args, const uint8_t argCnt)</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> </div> -<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">// ----- FUNCTION DECLARATIONS</span></div> -<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"></span>int16_t <a class="code hl_function" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* input, <span class="keyword">const</span> <a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a>* cmdList, <span class="keyword">const</span> uint16_t len);</div> -<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</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="comment">// ----- CLASSES</span></div> -<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"></span><span class="keyword">template</span> <u<span class="keywordtype">int</span>8_t max></div> -<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html"> 96</a></span><span class="keyword">class </span><a class="code hl_class" href="class_c_m_d_handler.html">CMDHandler</a> {</div> -<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="comment">// PUBLIC STUFF</span></div> -<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">public</span>:</div> -<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="comment">// CONSTRUCTOR & DECONSTRUCTOR METHOD DECLARATIONS</span></div> -<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a"> 111</a></span><span class="comment"></span> <a class="code hl_function" href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler</a>(<span class="keyword">const</span> <a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a>* list, uint16_t len, <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> fallback, <span class="keywordtype">char</span> ccDelimiter = <span class="charliteral">';'</span>, <span class="keywordtype">char</span> caDelimiter = <span class="charliteral">','</span>, <span class="keywordtype">char</span> aaDelimiter = <span class="charliteral">','</span>)</div> -<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> {</div> -<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// Set command list</span></div> -<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> cmdList = list;</div> -<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> cmdListLen = len;</div> +<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment">// ----- TYPEDEFS</span></div> +<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204"> 84</a></span><span class="comment"></span><span class="keyword">typedef</span> void (*<a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>)(<span class="keyword">const</span> <span class="keywordtype">char</span>** args, <span class="keyword">const</span> uint8_t argCnt);</div> +<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div> +<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51"> 90</a></span><span class="keyword">typedef</span> int16_t <a class="code hl_typedef" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a>;</div> +<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div> +<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div> +<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment">// ----- ENUMS</span></div> +<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78"> 98</a></span><span class="comment"></span><span class="keyword">enum</span> <a class="code hl_enumeration" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> : uint8_t {</div> +<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a"> 99</a></span> <a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a> = 0, </div> +<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983"> 100</a></span> <a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a>, </div> +<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a> </div> +<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7"> 102</a></span>};</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="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment">// ----- STRUCTS</span></div> +<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html"> 110</a></span><span class="comment"></span><span class="keyword">struct </span><a class="code hl_struct" href="structs_c_m_d_list.html">sCMDList</a> {</div> +<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d"> 111</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">cmd</a>; </div> +<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607"> 112</a></span> <span class="keyword">const</span> <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> <a class="code hl_variable" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a>; </div> +<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58"> 113</a></span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code hl_variable" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">cmdDescription</a> = <span class="stringliteral">""</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> </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="comment">// Set fallback function</span></div> -<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> cmdFallback = fallback;</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> <span class="comment">// Set delimiters</span></div> -<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>, ccDelimiter);</div> -<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>, caDelimiter);</div> -<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>, aaDelimiter); </div> -<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div> -<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div> -<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47"> 131</a></span> <a class="code hl_function" href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">~CMDHandler</a>(<span class="keywordtype">void</span>)</div> -<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> {</div> -<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="comment">// Reset command list</span></div> -<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> cmdList = <span class="keyword">nullptr</span>;</div> -<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> cmdListLen = 0;</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="comment">// Reset fallback</span></div> -<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> cmdFallback = <span class="keyword">nullptr</span>;</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> <span class="comment">// Reset delimiters</span></div> -<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>, <span class="charliteral">'\0'</span>);</div> -<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>, <span class="charliteral">'\0'</span>);</div> -<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(<a class="code hl_define" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>, <span class="charliteral">'\0'</span>); </div> -<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> }</div> -<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div> -<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// METHOD DECLARATIONS</span></div> -<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59"> 157</a></span><span class="comment"></span> uint8_t <a class="code hl_function" href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">exe</a>(<span class="keywordtype">char</span>* input, uint8_t nullAsArg = 0)</div> -<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> {</div> -<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordtype">char</span>* nextCmd = <span class="keyword">nullptr</span>;</div> -<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keywordtype">char</span>* nextArg = <span class="keyword">nullptr</span>;</div> -<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordtype">char</span>* currCmd = <span class="keyword">nullptr</span>;</div> -<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordtype">char</span>* currArg = <span class="keyword">nullptr</span>; </div> -<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> int16_t cmdIdx = -1;</div> -<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> uint8_t argCnt = 0;</div> -<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> uint8_t cmdCnt = 0;</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="comment">// Set pointer to first command</span></div> -<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> nextCmd = input;</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="comment">// While next command is found</span></div> -<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordflow">do</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="comment">// Reset argument counter</span></div> -<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> argCnt = 0;</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="comment">// Copy command start address</span></div> -<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> currCmd = nextCmd;</div> -<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div> -<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="comment">// Find next command</span></div> -<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> nextCmd = sStd::tok(nextCmd, delimiter[<a class="code hl_define" href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a>]);</div> -<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> </div> -<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="comment">// Find start address of first argument</span></div> -<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> nextArg = sStd::tok(currCmd, delimiter[<a class="code hl_define" href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a>]);</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="comment">// If argument part is found</span></div> -<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordflow">if</span> (nextArg)</div> -<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> {</div> -<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="comment">// While command to argument delimiter is found</span></div> -<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">do</span></div> -<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> {</div> -<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="comment">// Stop parsing arguments if argument limit is reached</span></div> -<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keywordflow">if</span> (argCnt == maxArgs) <span class="keywordflow">break</span>;</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> <span class="comment">// Copy argument start address</span></div> -<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> currArg = nextArg;</div> -<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> </div> -<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="comment">// Find next argument</span></div> -<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> nextArg = sStd::tok(nextArg, delimiter[<a class="code hl_define" href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a>]); </div> -<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> </div> -<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// If current argument is not \0 or if nullAsArg is set to 1</span></div> -<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keywordflow">if</span> (*currArg || nullAsArg)</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="comment">// Copy argument's start address to argument array</span></div> -<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> args[argCnt] = currArg;</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="comment">// Increase argument counter</span></div> -<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> argCnt++;</div> -<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</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="keywordflow">while</span> (nextArg);</div> -<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> }</div> -<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> </div> -<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> <span class="comment">// If current command is not \0</span></div> -<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> (*currCmd)</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="comment">// Find command index in command list</span></div> -<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> cmdIdx = <a class="code hl_function" href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a>(currCmd, cmdList, cmdListLen);</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="comment">// Call fallback handler if command was not found</span></div> -<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <span class="keywordflow">if</span> (cmdIdx == -1) cmdFallback((<span class="keyword">const</span> <span class="keywordtype">char</span>**)currCmd, 0);</div> -<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">else</span> <span class="comment">// Command is found</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="comment">// Call command arguments</span></div> -<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> cmdList[cmdIdx].<a class="code hl_variable" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>**)args, argCnt);</div> -<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div> -<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// Increase command counter</span></div> -<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> cmdCnt++;</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> }</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> <span class="keywordflow">while</span> (nextCmd);</div> -<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> </div> -<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> <span class="comment">// Return number of executed commands</span></div> -<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> <span class="keywordflow">return</span> cmdCnt; </div> -<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> }</div> -<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> </div> -<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432"> 244</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">setDelimiter</a>(uint8_t type, <span class="keywordtype">char</span> del)</div> -<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> {</div> -<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <span class="comment">// Set delimiter for the type</span></div> -<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> delimiter[type] = del;</div> -<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> }</div> -<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> </div> -<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b"> 256</a></span> <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code hl_function" href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">getDelimiter</a>(uint8_t type)<span class="keyword"> const</span></div> -<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span><span class="keyword"> </span>{</div> -<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> <span class="comment">// Get delimiter for the type</span></div> -<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="keywordflow">return</span> delimiter[type];</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> </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="comment">// PRIVATE STUFF</span></div> -<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">private</span>:</div> -<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> <span class="comment">// VARIABLES</span></div> -<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="comment"></span> <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> cmdFallback = <span class="keyword">nullptr</span>; </div> -<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">const</span> <a class="code hl_struct" href="struct_c_m_d_list.html">CMDList</a>* cmdList; </div> -<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> uint8_t maxArgs = max; </div> -<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="keywordtype">char</span> delimiter[3] = { <span class="charliteral">'\0'</span>, <span class="charliteral">'\0'</span>, <span class="charliteral">'\0'</span> }; </div> -<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="keywordtype">char</span>* args[max]; </div> -<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> uint16_t cmdListLen = 0; </div> -<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span>};</div> -<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> </div> -<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div> -<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span><span class="preprocessor">#endif </span><span class="comment">// _SCMD_H_</span></div> -<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div> -<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span><span class="comment">// END WITH NEW LINE</span></div> -<div class="ttc" id="aclass_c_m_d_handler_html"><div class="ttname"><a href="class_c_m_d_handler.html">CMDHandler</a></div><div class="ttdoc">Class for command hanlder.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00096">sCMD.h:96</a></div></div> -<div class="ttc" id="aclass_c_m_d_handler_html_a296dc2f654b585e7cb29caa69452d432"><div class="ttname"><a href="class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432">CMDHandler::setDelimiter</a></div><div class="ttdeci">void setDelimiter(uint8_t type, char del)</div><div class="ttdoc">Set delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00244">sCMD.h:244</a></div></div> -<div class="ttc" id="aclass_c_m_d_handler_html_a81e71d6d511bd21237c40366bc31cf59"><div class="ttname"><a href="class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59">CMDHandler::exe</a></div><div class="ttdeci">uint8_t exe(char *input, uint8_t nullAsArg=0)</div><div class="ttdoc">Parse and execute input C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00157">sCMD.h:157</a></div></div> -<div class="ttc" id="aclass_c_m_d_handler_html_a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a"><div class="ttname"><a href="class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a">CMDHandler::CMDHandler</a></div><div class="ttdeci">CMDHandler(const CMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</div><div class="ttdoc">CMD handler constructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00111">sCMD.h:111</a></div></div> -<div class="ttc" id="aclass_c_m_d_handler_html_aa8501ee9fae636c4d0fc2311cab3a54b"><div class="ttname"><a href="class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b">CMDHandler::getDelimiter</a></div><div class="ttdeci">char getDelimiter(uint8_t type) const</div><div class="ttdoc">Get delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00256">sCMD.h:256</a></div></div> -<div class="ttc" id="aclass_c_m_d_handler_html_ab0dff8dad9b29c91453a4f8c689a9c47"><div class="ttname"><a href="class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47">CMDHandler::~CMDHandler</a></div><div class="ttdeci">~CMDHandler(void)</div><div class="ttdoc">CMD handler deconstructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00131">sCMD.h:131</a></div></div> -<div class="ttc" id="agroup__s_c_m_d_html_ga00d3cd602b53555150c73418befaa613"><div class="ttname"><a href="group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613">sCMD_CA</a></div><div class="ttdeci">#define sCMD_CA</div><div class="ttdoc">Delimiter between command and arguments.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00050">sCMD.h:50</a></div></div> -<div class="ttc" id="agroup__s_c_m_d_html_ga95b2953eaf3446e41eaa41b8f03e9ca3"><div class="ttname"><a href="group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3">sCMD_CC</a></div><div class="ttdeci">#define sCMD_CC</div><div class="ttdoc">Delimiter between commands.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00049">sCMD.h:49</a></div></div> -<div class="ttc" id="agroup__s_c_m_d_html_gab7d31f894b743026908bea0c58929204"><div class="ttname"><a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a></div><div class="ttdeci">void(* cmdH)(const char **args, const uint8_t argCnt)</div><div class="ttdoc">Typedef for command handler.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00062">sCMD.h:62</a></div></div> -<div class="ttc" id="agroup__s_c_m_d_html_gabf41a56387b606234547248a5cf74164"><div class="ttname"><a href="group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164">sCMD_AA</a></div><div class="ttdeci">#define sCMD_AA</div><div class="ttdoc">Delimiter between arguments.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00051">sCMD.h:51</a></div></div> -<div class="ttc" id="agroup__s_c_m_d_html_gaf825bf80ddd1a52d68d737ea93e0f621"><div class="ttname"><a href="group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621">findCmd</a></div><div class="ttdeci">int16_t findCmd(const char *input, const CMDList *cmdList, const uint16_t len)</div><div class="ttdoc">Find input command in cmdList.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8cpp_source.html#l00047">sCMD.cpp:47</a></div></div> -<div class="ttc" id="astruct_c_m_d_list_html"><div class="ttname"><a href="struct_c_m_d_list.html">CMDList</a></div><div class="ttdoc">Struct for command.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00070">sCMD.h:70</a></div></div> -<div class="ttc" id="astruct_c_m_d_list_html_a9caafd87cedc702f14a47a3a4089301c"><div class="ttname"><a href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">CMDList::cmdHandler</a></div><div class="ttdeci">const cmdH cmdHandler</div><div class="ttdoc">Pointer to command function. See cmdH.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00072">sCMD.h:72</a></div></div> -<div class="ttc" id="astruct_c_m_d_list_html_abdbdb8c1725681c7af26692f4e7c7d78"><div class="ttname"><a href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">CMDList::cmd</a></div><div class="ttdeci">const char * cmd</div><div class="ttdoc">Command C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00071">sCMD.h:71</a></div></div> +<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment">// ----- CLASSES</span></div> +<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span><span class="comment"></span><span class="keyword">template</span> <u<span class="keywordtype">int</span>8_t max></div> +<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classs_c_m_d.html"> 124</a></span><span class="keyword">class </span><a class="code hl_class" href="classs_c_m_d.html">sCMD</a> {</div> +<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="comment">// PUBLIC STUFF</span></div> +<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">public</span>:</div> +<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="comment">// CONSTRUCTOR & DECONSTRUCTOR METHOD DECLARATIONS</span></div> +<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5"> 139</a></span><span class="comment"></span> <a class="code hl_function" href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD</a>(<span class="keyword">const</span> <a class="code hl_struct" href="structs_c_m_d_list.html">sCMDList</a>* list, uint16_t len, <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> fallback, <span class="keywordtype">char</span> ccDelimiter = <span class="charliteral">';'</span>, <span class="keywordtype">char</span> caDelimiter = <span class="charliteral">','</span>, <span class="keywordtype">char</span> aaDelimiter = <span class="charliteral">','</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="comment">// Set command list</span></div> +<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> cmdList = list;</div> +<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> cmdListLen = len;</div> +<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div> +<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// Set fallback function</span></div> +<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> cmdFallback = fallback;</div> +<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div> +<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="comment">// Set delimiters</span></div> +<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CC, ccDelimiter);</div> +<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CA, caDelimiter);</div> +<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_AA, aaDelimiter); </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="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e"> 159</a></span> <a class="code hl_function" href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">~sCMD</a>(<span class="keywordtype">void</span>)</div> +<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> {</div> +<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// Reset command list</span></div> +<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> cmdList = <span class="keyword">nullptr</span>;</div> +<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> cmdListLen = 0;</div> +<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> </div> +<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="comment">// Reset fallback</span></div> +<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> cmdFallback = <span class="keyword">nullptr</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="comment">// Reset delimiters</span></div> +<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CC, <span class="charliteral">'\0'</span>);</div> +<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_CA, <span class="charliteral">'\0'</span>);</div> +<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(sCMD_del_t::sCMD_AA, <span class="charliteral">'\0'</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> </div> +<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div> +<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="comment">// METHOD DECLARATIONS</span></div> +<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95"> 186</a></span><span class="comment"></span> uint8_t <a class="code hl_function" href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">exe</a>(<span class="keywordtype">char</span>* input, uint8_t nullAsArg = 0)</div> +<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> {</div> +<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordtype">char</span>* nextCmd = <span class="keyword">nullptr</span>;</div> +<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordtype">char</span>* nextArg = <span class="keyword">nullptr</span>;</div> +<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">char</span>* currCmd = <span class="keyword">nullptr</span>;</div> +<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordtype">char</span>* currArg = <span class="keyword">nullptr</span>; </div> +<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_typedef" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a> idx = -1;</div> +<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> uint8_t argCnt = 0;</div> +<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> uint8_t cmdCnt = 0;</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="comment">// Set pointer to first command</span></div> +<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> nextCmd = input;</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="comment">// While next command is found</span></div> +<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> <span class="keywordflow">do</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="comment">// Reset argument counter</span></div> +<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> argCnt = 0;</div> +<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> </div> +<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="comment">// Copy command start address</span></div> +<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> currCmd = nextCmd;</div> +<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div> +<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// Find next command</span></div> +<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> nextCmd = sStd::tok(nextCmd, delimiter[<a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a>]);</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="comment">// Find start address of first argument</span></div> +<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> nextArg = sStd::tok(currCmd, delimiter[<a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a>]);</div> +<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div> +<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// If argument part is found</span></div> +<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> <span class="keywordflow">if</span> (nextArg)</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="comment">// While command to argument delimiter is found</span></div> +<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> <span class="keywordflow">do</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="comment">// Stop parsing arguments if argument limit is reached</span></div> +<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> <span class="keywordflow">if</span> (argCnt == maxArgs) <span class="keywordflow">break</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="comment">// Copy argument start address</span></div> +<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> currArg = nextArg;</div> +<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> </div> +<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <span class="comment">// Find next argument</span></div> +<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> nextArg = sStd::tok(nextArg, delimiter[<a class="code hl_enumvalue" href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a>]); </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="comment">// If current argument is not \0 or if nullAsArg is set to 1</span></div> +<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <span class="keywordflow">if</span> (*currArg || nullAsArg)</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="comment">// Copy argument's start address to argument array</span></div> +<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> args[argCnt] = currArg;</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> <span class="comment">// Increase argument counter</span></div> +<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> argCnt++;</div> +<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</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="keywordflow">while</span> (nextArg);</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> </div> +<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> <span class="comment">// If current command is not \0</span></div> +<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> <span class="keywordflow">if</span> (*currCmd)</div> +<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> {</div> +<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="comment">// Find command index in command list</span></div> +<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> idx = findCmd(currCmd);</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="comment">// Call fallback handler if command was not found</span></div> +<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <span class="keywordflow">if</span> (idx == -1) cmdFallback((<span class="keyword">const</span> <span class="keywordtype">char</span>**)currCmd, 0);</div> +<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <span class="keywordflow">else</span> <span class="comment">// Command is found</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="comment">// Call command arguments</span></div> +<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> cmdList[idx].<a class="code hl_variable" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a>((<span class="keyword">const</span> <span class="keywordtype">char</span>**)args, argCnt);</div> +<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> </div> +<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <span class="comment">// Increase command counter</span></div> +<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> cmdCnt++;</div> +<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</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> }</div> +<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <span class="keywordflow">while</span> (nextCmd);</div> +<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div> +<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="comment">// Return number of executed commands</span></div> +<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> <span class="keywordflow">return</span> cmdCnt; </div> +<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> }</div> +<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div> +<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8"> 273</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">setDelimiter</a>(<a class="code hl_enumeration" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type, <span class="keywordtype">char</span> del)</div> +<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> {</div> +<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="comment">// Set delimiter for the type</span></div> +<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> delimiter[type] = del;</div> +<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> }</div> +<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div> +<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"><a class="line" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86"> 285</a></span> <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code hl_function" href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">getDelimiter</a>(<a class="code hl_enumeration" href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a> type)<span class="keyword"> const</span></div> +<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span><span class="keyword"> </span>{</div> +<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> <span class="comment">// Get delimiter for the type</span></div> +<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> <span class="keywordflow">return</span> delimiter[type];</div> +<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> }</div> +<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</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="comment">// PRIVATE STUFF</span></div> +<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">private</span>:</div> +<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="comment">// VARIABLES</span></div> +<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span><span class="comment"></span> <a class="code hl_typedef" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> cmdFallback = <span class="keyword">nullptr</span>; </div> +<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">const</span> <a class="code hl_struct" href="structs_c_m_d_list.html">sCMDList</a>* cmdList; </div> +<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> uint8_t maxArgs = max; </div> +<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="keywordtype">char</span> delimiter[3] = { <span class="charliteral">'\0'</span>, <span class="charliteral">'\0'</span>, <span class="charliteral">'\0'</span> }; </div> +<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="keywordtype">char</span>* args[max]; </div> +<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> uint16_t cmdListLen = 0; </div> +<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> <span class="comment">// METHODS</span></div> +<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span><span class="comment"></span> <a class="code hl_typedef" href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a> findCmd(<span class="keyword">const</span> <span class="keywordtype">char</span>* cmd)<span class="keyword"> const</span></div> +<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span><span class="keyword"> </span>{</div> +<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <span class="keywordflow">for</span> (uint16_t i = 0; i < cmdListLen; i++)</div> +<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> {</div> +<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="comment">// If command is found, return index</span></div> +<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keywordflow">if</span> (sStd::cmp(cmd, cmdList[i].cmd) == SSTD_OK) <span class="keywordflow">return</span> i;</div> +<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> }</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="comment">// Command is not found</span></div> +<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> <span class="keywordflow">return</span> -1;</div> +<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> } </div> +<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span>};</div> +<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> </div> +<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div> +<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span><span class="preprocessor">#endif </span><span class="comment">// _SCMD_H_</span></div> +<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> </div> +<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span><span class="comment">// END WITH NEW LINE</span></div> +<div class="ttc" id="aclasss_c_m_d_html"><div class="ttname"><a href="classs_c_m_d.html">sCMD</a></div><div class="ttdoc">Class for command handler.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00124">sCMD.h:124</a></div></div> +<div class="ttc" id="aclasss_c_m_d_html_a6073a3d8ecf99fb983d72e5532ea1f95"><div class="ttname"><a href="classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95">sCMD::exe</a></div><div class="ttdeci">uint8_t exe(char *input, uint8_t nullAsArg=0)</div><div class="ttdoc">Parse and execute input C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00186">sCMD.h:186</a></div></div> +<div class="ttc" id="aclasss_c_m_d_html_a91dc61752b4712622c3c49e393338c86"><div class="ttname"><a href="classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86">sCMD::getDelimiter</a></div><div class="ttdeci">char getDelimiter(sCMD_del_t type) const</div><div class="ttdoc">Get delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00285">sCMD.h:285</a></div></div> +<div class="ttc" id="aclasss_c_m_d_html_ab4af423609c21bb0fbae6f6e3f0814b8"><div class="ttname"><a href="classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8">sCMD::setDelimiter</a></div><div class="ttdeci">void setDelimiter(sCMD_del_t type, char del)</div><div class="ttdoc">Set delimiter character.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00273">sCMD.h:273</a></div></div> +<div class="ttc" id="aclasss_c_m_d_html_ab8c56a4e32cafb932af755d169f170b5"><div class="ttname"><a href="classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5">sCMD::sCMD</a></div><div class="ttdeci">sCMD(const sCMDList *list, uint16_t len, cmdH fallback, char ccDelimiter=';', char caDelimiter=',', char aaDelimiter=',')</div><div class="ttdoc">CMD handler constructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00139">sCMD.h:139</a></div></div> +<div class="ttc" id="aclasss_c_m_d_html_acdd867db6da2169039d0adad7ce6ac1e"><div class="ttname"><a href="classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e">sCMD::~sCMD</a></div><div class="ttdeci">~sCMD(void)</div><div class="ttdoc">CMD handler deconstructor.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00159">sCMD.h:159</a></div></div> +<div class="ttc" id="agroup__s_c_m_d_html_ga7cdf4eb22a208b705937117dab6cdf51"><div class="ttname"><a href="group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51">sCMDIdx</a></div><div class="ttdeci">int16_t sCMDIdx</div><div class="ttdoc">Typedef for command index.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00090">sCMD.h:90</a></div></div> +<div class="ttc" id="agroup__s_c_m_d_html_gab7b50b228ddfc95179ddc0b5f3541c78"><div class="ttname"><a href="group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78">sCMD_del_t</a></div><div class="ttdeci">sCMD_del_t</div><div class="ttdoc">Enum for delimiter types.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00098">sCMD.h:98</a></div></div> +<div class="ttc" id="agroup__s_c_m_d_html_gab7d31f894b743026908bea0c58929204"><div class="ttname"><a href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a></div><div class="ttdeci">void(* cmdH)(const char **args, const uint8_t argCnt)</div><div class="ttdoc">Typedef for command handler.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00084">sCMD.h:84</a></div></div> +<div class="ttc" id="agroup__s_c_m_d_html_ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7"><div class="ttname"><a href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7">sCMD_AA</a></div><div class="ttdeci">@ sCMD_AA</div><div class="ttdoc">Delimiter between arguments inside command.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00102">sCMD.h:101</a></div></div> +<div class="ttc" id="agroup__s_c_m_d_html_ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983"><div class="ttname"><a href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983">sCMD_CA</a></div><div class="ttdeci">@ sCMD_CA</div><div class="ttdoc">Delimiter between command and argument.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00100">sCMD.h:100</a></div></div> +<div class="ttc" id="agroup__s_c_m_d_html_ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a"><div class="ttname"><a href="group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a">sCMD_CC</a></div><div class="ttdeci">@ sCMD_CC</div><div class="ttdoc">Delimiter between commands.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00099">sCMD.h:99</a></div></div> +<div class="ttc" id="astructs_c_m_d_list_html"><div class="ttname"><a href="structs_c_m_d_list.html">sCMDList</a></div><div class="ttdoc">Struct for command list.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00110">sCMD.h:110</a></div></div> +<div class="ttc" id="astructs_c_m_d_list_html_a314d8c24851f01228b2d018ce9d95a9d"><div class="ttname"><a href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">sCMDList::cmd</a></div><div class="ttdeci">const char * cmd</div><div class="ttdoc">Command C-string.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00111">sCMD.h:111</a></div></div> +<div class="ttc" id="astructs_c_m_d_list_html_ae2d1f15338e4bcc0537e67ea73ed8607"><div class="ttname"><a href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">sCMDList::cmdHandler</a></div><div class="ttdeci">const cmdH cmdHandler</div><div class="ttdoc">Pointer to command function. See cmdH.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00112">sCMD.h:112</a></div></div> +<div class="ttc" id="astructs_c_m_d_list_html_af3af9bd604038bf7bb98b89d7a302b58"><div class="ttname"><a href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">sCMDList::cmdDescription</a></div><div class="ttdeci">const char * cmdDescription</div><div class="ttdoc">Command description.</div><div class="ttdef"><b>Definition:</b> <a href="s_c_m_d_8h_source.html#l00113">sCMD.h:113</a></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="s_c_m_d_8h.html">sCMD.h</a></li> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/search/all_0.js b/.docs/html/search/all_0.js index 15f27af..1f2b2df 100644 --- a/.docs/html/search/all_0.js +++ b/.docs/html/search/all_0.js @@ -1,9 +1,7 @@ var searchData= [ - ['cmd_0',['cmd',['../struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78',1,'CMDList']]], - ['cmdh_1',['cmdH',['../group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204',1,'sCMD.h']]], - ['cmdhandler_2',['CMDHandler',['../class_c_m_d_handler.html',1,'']]], - ['cmdhandler_3',['cmdHandler',['../struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c',1,'CMDList']]], - ['cmdhandler_4',['CMDHandler',['../class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a',1,'CMDHandler']]], - ['cmdlist_5',['CMDList',['../struct_c_m_d_list.html',1,'']]] + ['cmd_0',['cmd',['../structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d',1,'sCMDList']]], + ['cmddescription_1',['cmdDescription',['../structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58',1,'sCMDList']]], + ['cmdh_2',['cmdH',['../group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204',1,'sCMD.h']]], + ['cmdhandler_3',['cmdHandler',['../structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607',1,'sCMDList']]] ]; diff --git a/.docs/html/search/all_1.js b/.docs/html/search/all_1.js index 883476f..19cc21a 100644 --- a/.docs/html/search/all_1.js +++ b/.docs/html/search/all_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['exe_0',['exe',['../class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59',1,'CMDHandler']]] + ['exe_0',['exe',['../classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95',1,'sCMD']]] ]; diff --git a/.docs/html/search/all_2.js b/.docs/html/search/all_2.js index 9331477..ea0aff6 100644 --- a/.docs/html/search/all_2.js +++ b/.docs/html/search/all_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['findcmd_0',['findCmd',['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len): sCMD.cpp'],['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len): sCMD.cpp']]] + ['getdelimiter_0',['getDelimiter',['../classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86',1,'sCMD']]] ]; diff --git a/.docs/html/search/all_3.js b/.docs/html/search/all_3.js index c3509f8..3fd7601 100644 --- a/.docs/html/search/all_3.js +++ b/.docs/html/search/all_3.js @@ -1,4 +1,17 @@ var searchData= [ - ['getdelimiter_0',['getDelimiter',['../class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b',1,'CMDHandler']]] + ['scmd_0',['sCMD',['../classs_c_m_d.html',1,'sCMD< max >'],['../classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5',1,'sCMD::sCMD()']]], + ['scmd_1',['SCMD',['../group__s_c_m_d.html',1,'']]], + ['scmd_2eh_2',['sCMD.h',['../s_c_m_d_8h.html',1,'']]], + ['scmd_5faa_3',['sCMD_AA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7',1,'sCMD.h']]], + ['scmd_5fadd_4',['SCMD_ADD',['../group__s_c_m_d.html#ga9ba5942496337bb287bf7b98ec7c39ff',1,'sCMD.h']]], + ['scmd_5fca_5',['sCMD_CA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983',1,'sCMD.h']]], + ['scmd_5fcc_6',['sCMD_CC',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a',1,'sCMD.h']]], + ['scmd_5fdel_5ft_7',['sCMD_del_t',['../group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78',1,'sCMD.h']]], + ['scmd_5fget_8',['SCMD_GET',['../group__s_c_m_d.html#ga1411ceab8e4cd2f3c874bc395bd4732a',1,'sCMD.h']]], + ['scmd_5fhandler_9',['SCMD_HANDLER',['../group__s_c_m_d.html#gaae7661e6307c398240ab2c8520bd6c51',1,'sCMD.h']]], + ['scmdidx_10',['sCMDIdx',['../group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51',1,'sCMD.h']]], + ['scmdlist_11',['sCMDList',['../structs_c_m_d_list.html',1,'']]], + ['setdelimiter_12',['setDelimiter',['../classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8',1,'sCMD']]], + ['simple_20command_20handler_13',['Simple Command Handler',['../md__r_e_a_d_m_e.html',1,'']]] ]; diff --git a/.docs/html/search/all_4.js b/.docs/html/search/all_4.js index 597bbdd..5592e67 100644 --- a/.docs/html/search/all_4.js +++ b/.docs/html/search/all_4.js @@ -1,11 +1,4 @@ var searchData= [ - ['scmd_0',['SCMD',['../group__s_c_m_d.html',1,'']]], - ['scmd_2ecpp_1',['sCMD.cpp',['../s_c_m_d_8cpp.html',1,'']]], - ['scmd_2eh_2',['sCMD.h',['../s_c_m_d_8h.html',1,'']]], - ['scmd_5faa_3',['sCMD_AA',['../group__s_c_m_d.html#gabf41a56387b606234547248a5cf74164',1,'sCMD.h']]], - ['scmd_5fca_4',['sCMD_CA',['../group__s_c_m_d.html#ga00d3cd602b53555150c73418befaa613',1,'sCMD.h']]], - ['scmd_5fcc_5',['sCMD_CC',['../group__s_c_m_d.html#ga95b2953eaf3446e41eaa41b8f03e9ca3',1,'sCMD.h']]], - ['setdelimiter_6',['setDelimiter',['../class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432',1,'CMDHandler']]], - ['simple_20command_20handler_7',['Simple Command Handler',['../md__r_e_a_d_m_e.html',1,'']]] + ['_7escmd_0',['~sCMD',['../classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e',1,'sCMD']]] ]; diff --git a/.docs/html/search/classes_0.js b/.docs/html/search/classes_0.js index 77d7a3a..1291839 100644 --- a/.docs/html/search/classes_0.js +++ b/.docs/html/search/classes_0.js @@ -1,5 +1,5 @@ var searchData= [ - ['cmdhandler_0',['CMDHandler',['../class_c_m_d_handler.html',1,'']]], - ['cmdlist_1',['CMDList',['../struct_c_m_d_list.html',1,'']]] + ['scmd_0',['sCMD',['../classs_c_m_d.html',1,'']]], + ['scmdlist_1',['sCMDList',['../structs_c_m_d_list.html',1,'']]] ]; diff --git a/.docs/html/search/classes_1.js b/.docs/html/search/classes_1.js new file mode 100644 index 0000000..8d516a9 --- /dev/null +++ b/.docs/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['scmd_0',['sCMD',['../classs_c_m_d.html',1,'']]] +]; diff --git a/.docs/html/search/enums_0.js b/.docs/html/search/enums_0.js index 86122e3..ee2900b 100644 --- a/.docs/html/search/enums_0.js +++ b/.docs/html/search/enums_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['scmd_5fdelimiter_5ft_0',['sCMD_delimiter_t',['../group__s_c_m_d.html#gaa0fcdbeaec020e98af1c24f2f9fa199d',1,'sCMD.h']]] + ['scmd_5fdel_5ft_0',['sCMD_del_t',['../group__s_c_m_d.html#gab7b50b228ddfc95179ddc0b5f3541c78',1,'sCMD.h']]] ]; diff --git a/.docs/html/search/enumvalues_0.js b/.docs/html/search/enumvalues_0.js index d68f20a..d1567e7 100644 --- a/.docs/html/search/enumvalues_0.js +++ b/.docs/html/search/enumvalues_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['scmd_5fcc_0',['sCMD_CC',['../group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dadbdda4209e48d49b43f4d0b2d22c820a',1,'sCMD.h']]], - ['scmd_5fcp_1',['sCMD_CP',['../group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199dabdac55d99a08174f11384d30c3a5384f',1,'sCMD.h']]], - ['scmd_5fpp_2',['sCMD_PP',['../group__s_c_m_d.html#ggaa0fcdbeaec020e98af1c24f2f9fa199daa464219d1a3cbcdb1f4ba85d8e9477bf',1,'sCMD.h']]] + ['scmd_5faa_0',['sCMD_AA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a15ac9688c0578182cf393b0a9d04ddb7',1,'sCMD.h']]], + ['scmd_5fca_1',['sCMD_CA',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78a5d9da4ac1ad0489f77edfe4df7cb4983',1,'sCMD.h']]], + ['scmd_5fcc_2',['sCMD_CC',['../group__s_c_m_d.html#ggab7b50b228ddfc95179ddc0b5f3541c78adbdda4209e48d49b43f4d0b2d22c820a',1,'sCMD.h']]] ]; diff --git a/.docs/html/search/files_0.js b/.docs/html/search/files_0.js index 90355e3..9949c31 100644 --- a/.docs/html/search/files_0.js +++ b/.docs/html/search/files_0.js @@ -1,5 +1,4 @@ var searchData= [ - ['scmd_2ecpp_0',['sCMD.cpp',['../s_c_m_d_8cpp.html',1,'']]], - ['scmd_2eh_1',['sCMD.h',['../s_c_m_d_8h.html',1,'']]] + ['scmd_2eh_0',['sCMD.h',['../s_c_m_d_8h.html',1,'']]] ]; diff --git a/.docs/html/search/functions_0.js b/.docs/html/search/functions_0.js index 4b89e0a..19cc21a 100644 --- a/.docs/html/search/functions_0.js +++ b/.docs/html/search/functions_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['cmdhandler_0',['CMDHandler',['../class_c_m_d_handler.html#a9e7ca0b6f0b25fbf1fb0a125f0f4cc8a',1,'CMDHandler']]] + ['exe_0',['exe',['../classs_c_m_d.html#a6073a3d8ecf99fb983d72e5532ea1f95',1,'sCMD']]] ]; diff --git a/.docs/html/search/functions_1.js b/.docs/html/search/functions_1.js index 883476f..ea0aff6 100644 --- a/.docs/html/search/functions_1.js +++ b/.docs/html/search/functions_1.js @@ -1,4 +1,4 @@ var searchData= [ - ['exe_0',['exe',['../class_c_m_d_handler.html#a81e71d6d511bd21237c40366bc31cf59',1,'CMDHandler']]] + ['getdelimiter_0',['getDelimiter',['../classs_c_m_d.html#a91dc61752b4712622c3c49e393338c86',1,'sCMD']]] ]; diff --git a/.docs/html/search/functions_2.js b/.docs/html/search/functions_2.js index 9331477..89c8f1b 100644 --- a/.docs/html/search/functions_2.js +++ b/.docs/html/search/functions_2.js @@ -1,4 +1,5 @@ var searchData= [ - ['findcmd_0',['findCmd',['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len): sCMD.cpp'],['../group__s_c_m_d.html#gaf825bf80ddd1a52d68d737ea93e0f621',1,'findCmd(const char *input, const CMDList *cmdList, const uint16_t len): sCMD.cpp']]] + ['scmd_0',['sCMD',['../classs_c_m_d.html#ab8c56a4e32cafb932af755d169f170b5',1,'sCMD']]], + ['setdelimiter_1',['setDelimiter',['../classs_c_m_d.html#ab4af423609c21bb0fbae6f6e3f0814b8',1,'sCMD']]] ]; diff --git a/.docs/html/search/functions_3.js b/.docs/html/search/functions_3.js index c3509f8..5592e67 100644 --- a/.docs/html/search/functions_3.js +++ b/.docs/html/search/functions_3.js @@ -1,4 +1,4 @@ var searchData= [ - ['getdelimiter_0',['getDelimiter',['../class_c_m_d_handler.html#aa8501ee9fae636c4d0fc2311cab3a54b',1,'CMDHandler']]] + ['_7escmd_0',['~sCMD',['../classs_c_m_d.html#acdd867db6da2169039d0adad7ce6ac1e',1,'sCMD']]] ]; diff --git a/.docs/html/search/functions_4.js b/.docs/html/search/functions_4.js index 7092da0..f350802 100644 --- a/.docs/html/search/functions_4.js +++ b/.docs/html/search/functions_4.js @@ -1,4 +1,4 @@ var searchData= [ - ['setdelimiter_0',['setDelimiter',['../class_c_m_d_handler.html#a296dc2f654b585e7cb29caa69452d432',1,'CMDHandler']]] + ['_7ecmdhandler_0',['~CMDHandler',['../class_c_m_d_handler.html#ab0dff8dad9b29c91453a4f8c689a9c47',1,'CMDHandler']]] ]; diff --git a/.docs/html/search/searchdata.js b/.docs/html/search/searchdata.js index e3e630c..5803ffc 100644 --- a/.docs/html/search/searchdata.js +++ b/.docs/html/search/searchdata.js @@ -1,13 +1,15 @@ var indexSectionsWithContent = { - 0: "cefgs~", - 1: "c", + 0: "cegs~", + 1: "s", 2: "s", - 3: "cefgs~", + 3: "egs~", 4: "c", - 5: "c", + 5: "cs", 6: "s", - 7: "s" + 7: "s", + 8: "s", + 9: "s" }; var indexSectionNames = @@ -18,8 +20,10 @@ var indexSectionNames = 3: "functions", 4: "variables", 5: "typedefs", - 6: "groups", - 7: "pages" + 6: "enums", + 7: "enumvalues", + 8: "groups", + 9: "pages" }; var indexSectionLabels = @@ -30,7 +34,9 @@ var indexSectionLabels = 3: "Functions", 4: "Variables", 5: "Typedefs", - 6: "Modules", - 7: "Pages" + 6: "Enumerations", + 7: "Enumerator", + 8: "Modules", + 9: "Pages" }; diff --git a/.docs/html/search/typedefs_1.js b/.docs/html/search/typedefs_1.js new file mode 100644 index 0000000..b4d52b8 --- /dev/null +++ b/.docs/html/search/typedefs_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['scmdidx_0',['sCMDIdx',['../group__s_c_m_d.html#ga7cdf4eb22a208b705937117dab6cdf51',1,'sCMD.h']]] +]; diff --git a/.docs/html/search/variables_0.js b/.docs/html/search/variables_0.js index 19122da..3f584eb 100644 --- a/.docs/html/search/variables_0.js +++ b/.docs/html/search/variables_0.js @@ -1,5 +1,6 @@ var searchData= [ - ['cmd_0',['cmd',['../struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78',1,'CMDList']]], - ['cmdhandler_1',['cmdHandler',['../struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c',1,'CMDList']]] + ['cmd_0',['cmd',['../structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d',1,'sCMDList']]], + ['cmddescription_1',['cmdDescription',['../structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58',1,'sCMDList']]], + ['cmdhandler_2',['cmdHandler',['../structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607',1,'sCMDList']]] ]; diff --git a/.docs/html/struct_c_m_d_list-members.html b/.docs/html/struct_c_m_d_list-members.html index 763318f..fb43b0a 100644 --- a/.docs/html/struct_c_m_d_list-members.html +++ b/.docs/html/struct_c_m_d_list-members.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.0r2</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -98,13 +98,14 @@ <p>This is the complete list of members for <a class="el" href="struct_c_m_d_list.html">CMDList</a>, including all inherited members.</p> <table class="directory"> <tr class="even"><td class="entry"><a class="el" href="struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78">cmd</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr> - <tr class="odd"><td class="entry"><a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae">cmdDescription</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a></td><td class="entry"><a class="el" href="struct_c_m_d_list.html">CMDList</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 on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:20:01 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/struct_c_m_d_list.html b/.docs/html/struct_c_m_d_list.html index 6ecde0a..2e36c28 100644 --- a/.docs/html/struct_c_m_d_list.html +++ b/.docs/html/struct_c_m_d_list.html @@ -26,7 +26,7 @@ <tbody> <tr id="projectrow"> <td id="projectalign"> - <div id="projectname">sCMD<span id="projectnumber"> v1.0r1</span> + <div id="projectname">sCMD<span id="projectnumber"> v1.0r2</span> </div> <div id="projectbrief">Frameworkless simple command handler written in C++.</div> </td> @@ -98,7 +98,7 @@ </div><!--header--> <div class="contents"> -<p>Struct for command. +<p>Struct for command list. <a href="struct_c_m_d_list.html#details">More...</a></p> <p><code>#include <<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>></code></p> @@ -111,11 +111,14 @@ <tr class="memitem:a9caafd87cedc702f14a47a3a4089301c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">cmdHandler</a></td></tr> <tr class="memdesc:a9caafd87cedc702f14a47a3a4089301c"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>. <a href="struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c">More...</a><br /></td></tr> <tr class="separator:a9caafd87cedc702f14a47a3a4089301c"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af9e8f7efc222908a587b3cc9d5f7a2ae"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae">cmdDescription</a> = ""</td></tr> +<tr class="memdesc:af9e8f7efc222908a587b3cc9d5f7a2ae"><td class="mdescLeft"> </td><td class="mdescRight">Command description. <a href="struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae">More...</a><br /></td></tr> +<tr class="separator:af9e8f7efc222908a587b3cc9d5f7a2ae"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> -<div class="textblock"><p >Struct for command. </p> +<div class="textblock"><p >Struct for command list. </p> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00070">70</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00110">110</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div><h2 class="groupheader">Member Data Documentation</h2> <a id="abdbdb8c1725681c7af26692f4e7c7d78" name="abdbdb8c1725681c7af26692f4e7c7d78"></a> <h2 class="memtitle"><span class="permalink"><a href="#abdbdb8c1725681c7af26692f4e7c7d78">◆ </a></span>cmd</h2> @@ -131,7 +134,25 @@ <h2 class="memtitle"><span class="permalink"><a href="#abdbdb8c1725681c7af26692f <p>Command C-string. </p> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00071">71</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00111">111</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<a id="af9e8f7efc222908a587b3cc9d5f7a2ae" name="af9e8f7efc222908a587b3cc9d5f7a2ae"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af9e8f7efc222908a587b3cc9d5f7a2ae">◆ </a></span>cmdDescription</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* CMDList::cmdDescription = ""</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Command description. </p> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00113">113</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> @@ -149,7 +170,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9caafd87cedc702f14a47a3a <p>Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>. </p> -<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00072">72</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00112">112</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> </div> </div> @@ -162,7 +183,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a9caafd87cedc702f14a47a3a <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="struct_c_m_d_list.html">CMDList</a></li> - <li class="footer">Generated on Sun Dec 25 2022 22:15:15 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + <li class="footer">Generated on Wed Feb 22 2023 20:20:01 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> </ul> </div> </body> diff --git a/.docs/html/struct_c_m_d_list.js b/.docs/html/struct_c_m_d_list.js index a044237..333eaa5 100644 --- a/.docs/html/struct_c_m_d_list.js +++ b/.docs/html/struct_c_m_d_list.js @@ -1,5 +1,6 @@ var struct_c_m_d_list = [ [ "cmd", "struct_c_m_d_list.html#abdbdb8c1725681c7af26692f4e7c7d78", null ], + [ "cmdDescription", "struct_c_m_d_list.html#af9e8f7efc222908a587b3cc9d5f7a2ae", null ], [ "cmdHandler", "struct_c_m_d_list.html#a9caafd87cedc702f14a47a3a4089301c", null ] ]; \ No newline at end of file diff --git a/.docs/html/structs_c_m_d_list-members.html b/.docs/html/structs_c_m_d_list-members.html new file mode 100644 index 0000000..37a1e1e --- /dev/null +++ b/.docs/html/structs_c_m_d_list-members.html @@ -0,0 +1,112 @@ +<!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.5"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>sCMD: 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> +<script type="text/javascript" src="darkmode_toggle.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">sCMD<span id="projectnumber"> v1.1r1</span> + </div> + <div id="projectbrief">Frameworkless simple command handler written in C++.</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.9.5 --> +<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> +</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('structs_c_m_d_list.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">sCMDList Member List</div></div> +</div><!--header--> +<div class="contents"> + +<p>This is the complete list of members for <a class="el" href="structs_c_m_d_list.html">sCMDList</a>, including all inherited members.</p> +<table class="directory"> + <tr class="even"><td class="entry"><a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">cmd</a></td><td class="entry"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td><td class="entry"></td></tr> + <tr class="odd"><td class="entry"><a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">cmdDescription</a></td><td class="entry"><a class="el" href="structs_c_m_d_list.html">sCMDList</a></td><td class="entry"></td></tr> + <tr class="even"><td class="entry"><a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a></td><td class="entry"><a class="el" href="structs_c_m_d_list.html">sCMDList</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 on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + </ul> +</div> +</body> +</html> diff --git a/.docs/html/structs_c_m_d_list.html b/.docs/html/structs_c_m_d_list.html new file mode 100644 index 0000000..6fbdbac --- /dev/null +++ b/.docs/html/structs_c_m_d_list.html @@ -0,0 +1,190 @@ +<!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.5"/> +<meta name="viewport" content="width=device-width, initial-scale=1"/> +<title>sCMD: sCMDList Struct 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> +<script type="text/javascript" src="darkmode_toggle.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">sCMD<span id="projectnumber"> v1.1r1</span> + </div> + <div id="projectbrief">Frameworkless simple command handler written in C++.</div> + </td> + </tr> + </tbody> +</table> +</div> +<!-- end header part --> +<!-- Generated by Doxygen 1.9.5 --> +<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> +</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('structs_c_m_d_list.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-attribs">Public Attributes</a> | +<a href="structs_c_m_d_list-members.html">List of all members</a> </div> + <div class="headertitle"><div class="title">sCMDList Struct Reference<div class="ingroups"><a class="el" href="group__s_c_m_d.html">SCMD</a></div></div></div> +</div><!--header--> +<div class="contents"> + +<p>Struct for command list. + <a href="structs_c_m_d_list.html#details">More...</a></p> + +<p><code>#include <<a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>></code></p> +<table class="memberdecls"> +<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a> +Public Attributes</h2></td></tr> +<tr class="memitem:a314d8c24851f01228b2d018ce9d95a9d"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">cmd</a></td></tr> +<tr class="memdesc:a314d8c24851f01228b2d018ce9d95a9d"><td class="mdescLeft"> </td><td class="mdescRight">Command C-string. <a href="structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d">More...</a><br /></td></tr> +<tr class="separator:a314d8c24851f01228b2d018ce9d95a9d"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ae2d1f15338e4bcc0537e67ea73ed8607"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">cmdHandler</a></td></tr> +<tr class="memdesc:ae2d1f15338e4bcc0537e67ea73ed8607"><td class="mdescLeft"> </td><td class="mdescRight">Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>. <a href="structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607">More...</a><br /></td></tr> +<tr class="separator:ae2d1f15338e4bcc0537e67ea73ed8607"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af3af9bd604038bf7bb98b89d7a302b58"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">cmdDescription</a> = ""</td></tr> +<tr class="memdesc:af3af9bd604038bf7bb98b89d7a302b58"><td class="mdescLeft"> </td><td class="mdescRight">Command description. <a href="structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58">More...</a><br /></td></tr> +<tr class="separator:af3af9bd604038bf7bb98b89d7a302b58"><td class="memSeparator" colspan="2"> </td></tr> +</table> +<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> +<div class="textblock"><p >Struct for command list. </p> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00110">110</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> +</div><h2 class="groupheader">Member Data Documentation</h2> +<a id="a314d8c24851f01228b2d018ce9d95a9d" name="a314d8c24851f01228b2d018ce9d95a9d"></a> +<h2 class="memtitle"><span class="permalink"><a href="#a314d8c24851f01228b2d018ce9d95a9d">◆ </a></span>cmd</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* sCMDList::cmd</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Command C-string. </p> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00111">111</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<a id="af3af9bd604038bf7bb98b89d7a302b58" name="af3af9bd604038bf7bb98b89d7a302b58"></a> +<h2 class="memtitle"><span class="permalink"><a href="#af3af9bd604038bf7bb98b89d7a302b58">◆ </a></span>cmdDescription</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const char* sCMDList::cmdDescription = ""</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Command description. </p> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00113">113</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<a id="ae2d1f15338e4bcc0537e67ea73ed8607" name="ae2d1f15338e4bcc0537e67ea73ed8607"></a> +<h2 class="memtitle"><span class="permalink"><a href="#ae2d1f15338e4bcc0537e67ea73ed8607">◆ </a></span>cmdHandler</h2> + +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">const <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a> sCMDList::cmdHandler</td> + </tr> + </table> +</div><div class="memdoc"> + +<p>Pointer to command function. See <a class="el" href="group__s_c_m_d.html#gab7d31f894b743026908bea0c58929204">cmdH</a>. </p> + +<p class="definition">Definition at line <a class="el" href="s_c_m_d_8h_source.html#l00112">112</a> of file <a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a>.</p> + +</div> +</div> +<hr/>The documentation for this struct was generated from the following file:<ul> +<li><a class="el" href="s_c_m_d_8h_source.html">sCMD.h</a></li> +</ul> +</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="structs_c_m_d_list.html">sCMDList</a></li> + <li class="footer">Generated on Wed Feb 22 2023 20:25:37 for sCMD by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5 </li> + </ul> +</div> +</body> +</html> diff --git a/.docs/html/structs_c_m_d_list.js b/.docs/html/structs_c_m_d_list.js new file mode 100644 index 0000000..e633f1d --- /dev/null +++ b/.docs/html/structs_c_m_d_list.js @@ -0,0 +1,6 @@ +var structs_c_m_d_list = +[ + [ "cmd", "structs_c_m_d_list.html#a314d8c24851f01228b2d018ce9d95a9d", null ], + [ "cmdDescription", "structs_c_m_d_list.html#af3af9bd604038bf7bb98b89d7a302b58", null ], + [ "cmdHandler", "structs_c_m_d_list.html#ae2d1f15338e4bcc0537e67ea73ed8607", null ] +]; \ No newline at end of file diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 1309512..71a3d66 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -14,7 +14,7 @@ "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "gcc-arm", - "compilerPath": "${ARM-GCC}\\arm-none-eabi-g++.exe", + "compilerPath": "${ARM-GCC}\\arm-none-eabi-gcc.exe", "compilerArgs": [] } ], diff --git a/Doxyfile b/Doxyfile index f3ff4f8..cba5639 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = sCMD # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v1.0r1 +PROJECT_NUMBER = v1.1r1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/README.md b/README.md index 22c9736..2dd2cae 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,15 @@ Example: `CMD<4> cmd = CMD<4>(list, 2, fallback, ';', ':', ',');` where: - `:` is command to arguments delimiter. - `,` is argument to argument delimiter. +`list` is an array with commands, handlers and command descriptions. +``` +CMDList cmdList[] = { + SCMD_ADD(help, ""), // No description + SCMD_ADD(reset, "Reset the device"), + SCMD_ADD(info, "Get device info") +}; +``` + Check library documentation and example codes for more information. Library documentation is available at `.docs/html/index.html`. Example applications are available at `examples` folder. All examples are made with STM HAL framework. diff --git a/sCMD.cpp b/sCMD.cpp deleted file mode 100644 index 71e8472..0000000 --- a/sCMD.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file sCMD.cpp - * @author silvio3105 (www.github.com/silvio3105) - * @brief Simple Command Handler source file. - * - * @copyright Copyright (c) 2022, silvio3105 - * - */ - - -/* -License - -Copyright (c) 2022, silvio3105 (www.github.com/silvio3105) - -Access and use of this Project and its contents are granted free of charge to any Person. -The Person is allowed to copy, modify and use The Project and its contents only for non-commercial use. -Commercial use of this Project and its contents is prohibited. -Modifying this License and/or sublicensing is prohibited. - -THE PROJECT AND ITS CONTENT ARE PROVIDED "AS IS" WITH ALL FAULTS AND WITHOUT EXPRESSED OR IMPLIED WARRANTY. -THE AUTHOR KEEPS ALL RIGHTS TO CHANGE OR REMOVE THE CONTENTS OF THIS PROJECT WITHOUT PREVIOUS NOTICE. -THE AUTHOR IS NOT RESPONSIBLE FOR DAMAGE OF ANY KIND OR LIABILITY CAUSED BY USING THE CONTENTS OF THIS PROJECT. - -This License shall be included in all methodal textual files. -*/ - - -// ----- INCLUDE FILES -#include "sCMD.h" - - -// ----- FUNCTION DECLARATIONS -/** - * @brief Find \c input command in \c cmdList - * - * @param input Pointer to command C-string. - * @param cmdList Pointer to external command list. - * @param len Length of \c cmdList - * @return \c -1 if command is not found. - * @return Index of command in \c cmdList if command is found. - */ -int16_t findCmd(const char* input, const CMDList* cmdList, const uint16_t len); - - -// ----- FUNCTION DEFINITIONS -int16_t findCmd(const char* input, const CMDList* cmdList, const uint16_t len) -{ - for (uint16_t i = 0; i < len; i++) - { - // If command is found, return index - if (sStd::cmp(input, cmdList[i].cmd) == SSTD_OK) return i; - } - - return -1; -} - -// END WITH NEW LINE diff --git a/sCMD.h b/sCMD.h index 64c164e..51c8873 100644 --- a/sCMD.h +++ b/sCMD.h @@ -44,11 +44,33 @@ This License shall be included in all methodal textual files. */ -// ----- MACRO DEFINITIONS -// DELIMITER TYPES -#define sCMD_CC 0 /**< @brief Delimiter between commands. */ -#define sCMD_CA 1 /**< @brief Delimiter between command and arguments. */ -#define sCMD_AA 2 /**< @brief Delimiter between arguments. */ +// ----- CODE SNIPPETS +/** + * @brief Get command handler function for \c _cmd + * + * @param _cmd Command name. + */ +#define SCMD_GET(_cmd) \ + sCMD##_cmd + +/** + * @brief Code snippet for adding command into command list. + * + * @param _cmd Command name. + * @param _description Command description. + */ +#define SCMD_ADD(_cmd, _description) \ + { #_cmd, SCMD_GET(_cmd), _description } + +/** + * @brief Code snippet for creating command handler declaration and definition. + * + * @param _cmd Command name. + * + * @note Command handler is static. + */ +#define SCMD_HANDLER(_cmd) \ + static void SCMD_GET(_cmd)(const char** args, const uint8_t argCnt) // ----- TYPEDEFS @@ -61,39 +83,45 @@ This License shall be included in all methodal textual files. */ typedef void (*cmdH)(const char** args, const uint8_t argCnt); +/** + * @brief Typedef for command index. + * + */ +typedef int16_t sCMDIdx; -// ----- STRUCTS + +// ----- ENUMS /** - * @brief Struct for command. + * @brief Enum for delimiter types. * */ -struct CMDList { - const char* cmd; /**< @brief Command C-string. */ - const cmdH cmdHandler; /**< @brief Pointer to command function. See \ref cmdH */ +enum sCMD_del_t : uint8_t { + sCMD_CC = 0, /**< @brief Delimiter between commands. */ + sCMD_CA, /**< @brief Delimiter between command and argument. */ + sCMD_AA /**< @brief Delimiter between arguments inside command. */ }; -// ----- FUNCTION DECLARATIONS +// ----- STRUCTS /** - * @brief Find \c input command in \c cmdList + * @brief Struct for command list. * - * @param input Pointer to command C-string. - * @param cmdList Pointer to external command list. - * @param len Length of \c cmdList - * @return \c -1 if command is not found. - * @return Index of command in \c cmdList if command is found. */ -int16_t findCmd(const char* input, const CMDList* cmdList, const uint16_t len); +struct sCMDList { + const char* cmd; /**< @brief Command C-string. */ + const cmdH cmdHandler; /**< @brief Pointer to command function. See \ref cmdH */ + const char* cmdDescription = ""; /**< @brief Command description. */ +}; // ----- CLASSES /** - * @brief Class for command hanlder. + * @brief Class for command handler. * * @tparam max Maximum number of arguments command handler can handle for one command. */ template <uint8_t max> -class CMDHandler { +class sCMD { // PUBLIC STUFF public: // CONSTRUCTOR & DECONSTRUCTOR METHOD DECLARATIONS @@ -108,7 +136,7 @@ class CMDHandler { * @param aaDelimiter Delimiter character between arguments. Default delimiter is \c , * @return No return value. */ - CMDHandler(const CMDList* list, uint16_t len, cmdH fallback, char ccDelimiter = ';', char caDelimiter = ',', char aaDelimiter = ',') + sCMD(const sCMDList* list, uint16_t len, cmdH fallback, char ccDelimiter = ';', char caDelimiter = ',', char aaDelimiter = ',') { // Set command list cmdList = list; @@ -118,9 +146,9 @@ class CMDHandler { cmdFallback = fallback; // Set delimiters - setDelimiter(sCMD_CC, ccDelimiter); - setDelimiter(sCMD_CA, caDelimiter); - setDelimiter(sCMD_AA, aaDelimiter); + setDelimiter(sCMD_del_t::sCMD_CC, ccDelimiter); + setDelimiter(sCMD_del_t::sCMD_CA, caDelimiter); + setDelimiter(sCMD_del_t::sCMD_AA, aaDelimiter); } /** @@ -128,7 +156,7 @@ class CMDHandler { * * @return No return value. */ - ~CMDHandler(void) + ~sCMD(void) { // Reset command list cmdList = nullptr; @@ -138,11 +166,12 @@ class CMDHandler { cmdFallback = nullptr; // Reset delimiters - setDelimiter(sCMD_CC, '\0'); - setDelimiter(sCMD_CA, '\0'); - setDelimiter(sCMD_AA, '\0'); + setDelimiter(sCMD_del_t::sCMD_CC, '\0'); + setDelimiter(sCMD_del_t::sCMD_CA, '\0'); + setDelimiter(sCMD_del_t::sCMD_AA, '\0'); } + // METHOD DECLARATIONS /** * @brief Parse and execute input C-string. @@ -160,7 +189,7 @@ class CMDHandler { char* nextArg = nullptr; char* currCmd = nullptr; char* currArg = nullptr; - int16_t cmdIdx = -1; + sCMDIdx idx = -1; uint8_t argCnt = 0; uint8_t cmdCnt = 0; @@ -214,14 +243,14 @@ class CMDHandler { if (*currCmd) { // Find command index in command list - cmdIdx = findCmd(currCmd, cmdList, cmdListLen); + idx = findCmd(currCmd); // Call fallback handler if command was not found - if (cmdIdx == -1) cmdFallback((const char**)currCmd, 0); + if (idx == -1) cmdFallback((const char**)currCmd, 0); else // Command is found { // Call command arguments - cmdList[cmdIdx].cmdHandler((const char**)args, argCnt); + cmdList[idx].cmdHandler((const char**)args, argCnt); // Increase command counter cmdCnt++; @@ -237,11 +266,11 @@ class CMDHandler { /** * @brief Set delimiter character. * - * @param type Delimiter type. - * @param del Delimiter character. + * @param type Delimiter type. See \ref sCMD_del_t + * @param del New delimiter. * @return No return value. */ - inline void setDelimiter(uint8_t type, char del) + inline void setDelimiter(sCMD_del_t type, char del) { // Set delimiter for the type delimiter[type] = del; @@ -250,10 +279,10 @@ class CMDHandler { /** * @brief Get delimiter character. * - * @param type Delimiter type. + * @param type Delimiter type. See \ref sCMD_del_t * @return Configured delimiter. */ - inline char getDelimiter(uint8_t type) const + inline char getDelimiter(sCMD_del_t type) const { // Get delimiter for the type return delimiter[type]; @@ -270,11 +299,31 @@ class CMDHandler { * Function parameter \c args points to command C-string that does not exist. See \ref cmdH */ cmdH cmdFallback = nullptr; - const CMDList* cmdList; /**< @brief Pointer to external list of commands. */ + const sCMDList* cmdList; /**< @brief Pointer to external list of commands. */ uint8_t maxArgs = max; /**< @brief Length of \ref args array. */ char delimiter[3] = { '\0', '\0', '\0' }; /**< @brief Array with CC, CA and AA delimiters. */ char* args[max]; /**< @brief Pointer to all command's arguments. */ uint16_t cmdListLen = 0; /**< @brief Length of \ref cmdList */ + + // METHODS + /** + * @brief Find command \c cmd in \ref cmdList + * + * @param cmd Command to find. Must end with \c NULL char + * @return \c -1 if command is not found. + * @return Command index in \ref cmdList + */ + sCMDIdx findCmd(const char* cmd) const + { + for (uint16_t i = 0; i < cmdListLen; i++) + { + // If command is found, return index + if (sStd::cmp(cmd, cmdList[i].cmd) == SSTD_OK) return i; + } + + // Command is not found + return -1; + } };