classdoor_1_1Door.html 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.17"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Bugz Door Project: door::Door Class Reference</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="search/searchdata.js"></script>
  14. <script type="text/javascript" src="search/search.js"></script>
  15. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  19. <div id="titlearea">
  20. <table cellspacing="0" cellpadding="0">
  21. <tbody>
  22. <tr style="height: 56px;">
  23. <td id="projectalign" style="padding-left: 0.5em;">
  24. <div id="projectname">Bugz Door Project
  25. </div>
  26. </td>
  27. </tr>
  28. </tbody>
  29. </table>
  30. </div>
  31. <!-- end header part -->
  32. <!-- Generated by Doxygen 1.8.17 -->
  33. <script type="text/javascript">
  34. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  35. var searchBox = new SearchBox("searchBox", "search",false,'Search');
  36. /* @license-end */
  37. </script>
  38. <script type="text/javascript" src="menudata.js"></script>
  39. <script type="text/javascript" src="menu.js"></script>
  40. <script type="text/javascript">
  41. /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  42. $(function() {
  43. initMenu('',true,false,'search.php','Search');
  44. $(document).ready(function() { init_search(); });
  45. });
  46. /* @license-end */</script>
  47. <div id="main-nav"></div>
  48. <!-- window showing the filter options -->
  49. <div id="MSearchSelectWindow"
  50. onmouseover="return searchBox.OnSearchSelectShow()"
  51. onmouseout="return searchBox.OnSearchSelectHide()"
  52. onkeydown="return searchBox.OnSearchSelectKey(event)">
  53. </div>
  54. <!-- iframe showing the search results (closed by default) -->
  55. <div id="MSearchResultsWindow">
  56. <iframe src="javascript:void(0)" frameborder="0"
  57. name="MSearchResults" id="MSearchResults">
  58. </iframe>
  59. </div>
  60. <div id="nav-path" class="navpath">
  61. <ul>
  62. <li class="navelem"><a class="el" href="namespacedoor.html">door</a></li><li class="navelem"><a class="el" href="classdoor_1_1Door.html">Door</a></li> </ul>
  63. </div>
  64. </div><!-- top -->
  65. <div class="header">
  66. <div class="summary">
  67. <a href="#pub-methods">Public Member Functions</a> &#124;
  68. <a href="#pub-attribs">Public Attributes</a> &#124;
  69. <a href="#pri-methods">Private Member Functions</a> &#124;
  70. <a href="#pri-attribs">Private Attributes</a> &#124;
  71. <a href="classdoor_1_1Door-members.html">List of all members</a> </div>
  72. <div class="headertitle">
  73. <div class="title">door::Door Class Reference</div> </div>
  74. </div><!--header-->
  75. <div class="contents">
  76. <p><code>#include &lt;<a class="el" href="door_8h_source.html">door.h</a>&gt;</code></p>
  77. <div class="dynheader">
  78. Inheritance diagram for door::Door:</div>
  79. <div class="dyncontent">
  80. <div class="center"><img src="classdoor_1_1Door__inherit__graph.png" border="0" usemap="#door_1_1Door_inherit__map" alt="Inheritance graph"/></div>
  81. <map name="door_1_1Door_inherit__map" id="door_1_1Door_inherit__map">
  82. <area shape="rect" title=" " alt="" coords="79,80,169,107"/>
  83. <area shape="rect" title=" " alt="" coords="5,5,109,32"/>
  84. <area shape="rect" title=" " alt="" coords="133,5,251,32"/>
  85. </map>
  86. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  87. <div class="dynheader">
  88. Collaboration diagram for door::Door:</div>
  89. <div class="dyncontent">
  90. <div class="center"><img src="classdoor_1_1Door__coll__graph.png" border="0" usemap="#door_1_1Door_coll__map" alt="Collaboration graph"/></div>
  91. <map name="door_1_1Door_coll__map" id="door_1_1Door_coll__map">
  92. <area shape="rect" title=" " alt="" coords="147,95,237,121"/>
  93. <area shape="rect" title=" " alt="" coords="5,5,109,32"/>
  94. <area shape="rect" title=" " alt="" coords="133,5,251,32"/>
  95. <area shape="rect" href="classdoor_1_1ANSIColor.html" title="Foreground, Background and Attributes." alt="" coords="274,5,398,32"/>
  96. </map>
  97. <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
  98. <table class="memberdecls">
  99. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  100. Public Member Functions</h2></td></tr>
  101. <tr class="memitem:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">Door</a> (std::string dname, int argc, char *argv[])</td></tr>
  102. <tr class="separator:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  103. <tr class="memitem:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="memItemLeft" align="right" valign="top"><a id="a65728f9e00ef3765c65d4f1e2c106fb6"></a>
  104. &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a65728f9e00ef3765c65d4f1e2c106fb6">Door</a> (<a class="el" href="classdoor_1_1Door.html">Door</a> &amp;)=delete</td></tr>
  105. <tr class="memdesc:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default copy ctor deleted. <br /></td></tr>
  106. <tr class="separator:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a15d3f18b7165f348479344b897b6ed96"><td class="memItemLeft" align="right" valign="top">ofstream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">log</a> (void)</td></tr>
  108. <tr class="memdesc:a15d3f18b7165f348479344b897b6ed96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Give ofstream handle for logging. <a href="classdoor_1_1Door.html#a15d3f18b7165f348479344b897b6ed96">More...</a><br /></td></tr>
  109. <tr class="separator:a15d3f18b7165f348479344b897b6ed96"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:a10d40a7089473c72c1acf5a987777404"><td class="memItemLeft" align="right" valign="top"><a id="a10d40a7089473c72c1acf5a987777404"></a>
  111. signed int&#160;</td><td class="memItemRight" valign="bottom"><b>getkey</b> (void)</td></tr>
  112. <tr class="separator:a10d40a7089473c72c1acf5a987777404"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:adb2006e73645885986d5487eb576fd21"><td class="memItemLeft" align="right" valign="top"><a id="adb2006e73645885986d5487eb576fd21"></a>
  114. bool&#160;</td><td class="memItemRight" valign="bottom"><b>haskey</b> (void)</td></tr>
  115. <tr class="separator:adb2006e73645885986d5487eb576fd21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:a1facb3e6470d700630e3da5115d25599"><td class="memItemLeft" align="right" valign="top"><a id="a1facb3e6470d700630e3da5115d25599"></a>
  117. int&#160;</td><td class="memItemRight" valign="bottom"><b>get_input</b> (void)</td></tr>
  118. <tr class="separator:a1facb3e6470d700630e3da5115d25599"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">sleep_key</a> (int secs)</td></tr>
  120. <tr class="memdesc:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits secs seconds for a keypress. <a href="classdoor_1_1Door.html#a092b281d63bb6ee0a3bee2ba77d78a47">More...</a><br /></td></tr>
  121. <tr class="separator:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:a93bbb3d1bfcec623e46ef47e6ba6b470"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">input_string</a> (int max)</td></tr>
  123. <tr class="memdesc:a93bbb3d1bfcec623e46ef47e6ba6b470"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input a string of requested max length. <a href="classdoor_1_1Door.html#a93bbb3d1bfcec623e46ef47e6ba6b470">More...</a><br /></td></tr>
  124. <tr class="separator:a93bbb3d1bfcec623e46ef47e6ba6b470"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:aa807fbcea8d7e92f591d9f459f392232"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">get_one_of</a> (const char *keys)</td></tr>
  126. <tr class="memdesc:aa807fbcea8d7e92f591d9f459f392232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get one of these keys. <a href="classdoor_1_1Door.html#aa807fbcea8d7e92f591d9f459f392232">More...</a><br /></td></tr>
  127. <tr class="separator:aa807fbcea8d7e92f591d9f459f392232"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. </table><table class="memberdecls">
  129. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
  130. Public Attributes</h2></td></tr>
  131. <tr class="memitem:a7e9aa4c92094271c40d67979b087d36b"><td class="memItemLeft" align="right" valign="top"><a id="a7e9aa4c92094271c40d67979b087d36b"></a>
  132. AnyOption&#160;</td><td class="memItemRight" valign="bottom"><b>opt</b></td></tr>
  133. <tr class="separator:a7e9aa4c92094271c40d67979b087d36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:ae0e34a59d92ec9d70720fd90380b4223"><td class="memItemLeft" align="right" valign="top"><a id="ae0e34a59d92ec9d70720fd90380b4223"></a>
  135. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>debug_buffer</b></td></tr>
  136. <tr class="separator:ae0e34a59d92ec9d70720fd90380b4223"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:adf76d445797eb513020a60f786f65767"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#adf76d445797eb513020a60f786f65767">previous</a></td></tr>
  138. <tr class="separator:adf76d445797eb513020a60f786f65767"><td class="memSeparator" colspan="2">&#160;</td></tr>
  139. <tr class="memitem:abc021f4f29b9f78356641ba68df3ee4a"><td class="memItemLeft" align="right" valign="top"><a id="abc021f4f29b9f78356641ba68df3ee4a"></a>
  140. bool&#160;</td><td class="memItemRight" valign="bottom"><b>track</b></td></tr>
  141. <tr class="separator:abc021f4f29b9f78356641ba68df3ee4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memItemLeft" align="right" valign="top"><a id="a18b8c731b27e23d6913c0ad683a37ce7"></a>
  143. int&#160;</td><td class="memItemRight" valign="bottom"><b>cx</b></td></tr>
  144. <tr class="separator:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:ae3030f754f5c183c0739ca899f5d351c"><td class="memItemLeft" align="right" valign="top"><a id="ae3030f754f5c183c0739ca899f5d351c"></a>
  146. int&#160;</td><td class="memItemRight" valign="bottom"><b>cy</b></td></tr>
  147. <tr class="separator:ae3030f754f5c183c0739ca899f5d351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:a773004acf25257a8e384bc6333b3e169"><td class="memItemLeft" align="right" valign="top"><a id="a773004acf25257a8e384bc6333b3e169"></a>
  149. int&#160;</td><td class="memItemRight" valign="bottom"><b>width</b></td></tr>
  150. <tr class="separator:a773004acf25257a8e384bc6333b3e169"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:ad6b79329830e41ba0ee960b01804a383"><td class="memItemLeft" align="right" valign="top"><a id="ad6b79329830e41ba0ee960b01804a383"></a>
  152. int&#160;</td><td class="memItemRight" valign="bottom"><b>height</b></td></tr>
  153. <tr class="separator:ad6b79329830e41ba0ee960b01804a383"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:a9190e804f05c37523aad88e5ebb0f826"><td class="memItemLeft" align="right" valign="top"><a id="a9190e804f05c37523aad88e5ebb0f826"></a>
  155. int&#160;</td><td class="memItemRight" valign="bottom"><b>inactivity</b></td></tr>
  156. <tr class="separator:a9190e804f05c37523aad88e5ebb0f826"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:aaeb090ff9afcae8ea0a15416eae84850"><td class="memItemLeft" align="right" valign="top"><a id="aaeb090ff9afcae8ea0a15416eae84850"></a>
  158. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>username</b></td></tr>
  159. <tr class="separator:aaeb090ff9afcae8ea0a15416eae84850"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:af9732845ca55a168cb03400486e47a37"><td class="memItemLeft" align="right" valign="top"><a id="af9732845ca55a168cb03400486e47a37"></a>
  161. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>handle</b></td></tr>
  162. <tr class="separator:af9732845ca55a168cb03400486e47a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. <tr class="memitem:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memItemLeft" align="right" valign="top"><a id="a4542fd79a3669c8bf7b2354bebb8d4df"></a>
  164. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>location</b></td></tr>
  165. <tr class="separator:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memItemLeft" align="right" valign="top"><a id="ad774c3579cd2cff08dcbd5c565bc9b70"></a>
  167. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>sysop</b></td></tr>
  168. <tr class="separator:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
  169. <tr class="memitem:ac617cee68cc0993ff5c294d06023b19b"><td class="memItemLeft" align="right" valign="top"><a id="ac617cee68cc0993ff5c294d06023b19b"></a>
  170. int&#160;</td><td class="memItemRight" valign="bottom"><b>node</b></td></tr>
  171. <tr class="separator:ac617cee68cc0993ff5c294d06023b19b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  172. <tr class="memitem:a459531d32a3208856979ebcdeb7c6aed"><td class="memItemLeft" align="right" valign="top"><a id="a459531d32a3208856979ebcdeb7c6aed"></a>
  173. atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>time_left</b></td></tr>
  174. <tr class="separator:a459531d32a3208856979ebcdeb7c6aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:aafaad41e8f04b9df6466f512d4893d82"><td class="memItemLeft" align="right" valign="top"><a id="aafaad41e8f04b9df6466f512d4893d82"></a>
  176. atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>time_used</b></td></tr>
  177. <tr class="separator:aafaad41e8f04b9df6466f512d4893d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
  178. </table><table class="memberdecls">
  179. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  180. Private Member Functions</h2></td></tr>
  181. <tr class="memitem:aad67bdb165987c4e3133a0f12f2b2b33"><td class="memItemLeft" align="right" valign="top">std::streamsize&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#aad67bdb165987c4e3133a0f12f2b2b33">xsputn</a> (const char *s, std::streamsize n) override</td></tr>
  182. <tr class="separator:aad67bdb165987c4e3133a0f12f2b2b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:a264d9e4eb0d6eb0e03f60520bcb11dd4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a264d9e4eb0d6eb0e03f60520bcb11dd4">overflow</a> (int c) override</td></tr>
  184. <tr class="separator:a264d9e4eb0d6eb0e03f60520bcb11dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:a30663f319df84ef33658b593b41b06a2"><td class="memItemLeft" align="right" valign="top"><a id="a30663f319df84ef33658b593b41b06a2"></a>
  186. void&#160;</td><td class="memItemRight" valign="bottom"><b>parse_dropfile</b> (const char *filepath)</td></tr>
  187. <tr class="separator:a30663f319df84ef33658b593b41b06a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  188. <tr class="memitem:ab90a3663bd05a3be1caff2584a49ad64"><td class="memItemLeft" align="right" valign="top"><a id="ab90a3663bd05a3be1caff2584a49ad64"></a>
  189. void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> (void)</td></tr>
  190. <tr class="separator:ab90a3663bd05a3be1caff2584a49ad64"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:a7671e29e45d346657b5bd5d66f569737"><td class="memItemLeft" align="right" valign="top"><a id="a7671e29e45d346657b5bd5d66f569737"></a>
  192. signed int&#160;</td><td class="memItemRight" valign="bottom"><b>getch</b> (void)</td></tr>
  193. <tr class="separator:a7671e29e45d346657b5bd5d66f569737"><td class="memSeparator" colspan="2">&#160;</td></tr>
  194. <tr class="memitem:a6548202e5ca9d9e322b93d7685e4d1b9"><td class="memItemLeft" align="right" valign="top"><a id="a6548202e5ca9d9e322b93d7685e4d1b9"></a>
  195. void&#160;</td><td class="memItemRight" valign="bottom"><b>unget</b> (char c)</td></tr>
  196. <tr class="separator:a6548202e5ca9d9e322b93d7685e4d1b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:a57ce5fa6bc0d41e0cbfa46ce4cea4469"><td class="memItemLeft" align="right" valign="top"><a id="a57ce5fa6bc0d41e0cbfa46ce4cea4469"></a>
  198. char&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> (void)</td></tr>
  199. <tr class="separator:a57ce5fa6bc0d41e0cbfa46ce4cea4469"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:ac271b0be7c45192f1e5691b33b6703bb"><td class="memItemLeft" align="right" valign="top"><a id="ac271b0be7c45192f1e5691b33b6703bb"></a>
  201. void&#160;</td><td class="memItemRight" valign="bottom"><b>detect_unicode_and_screen</b> (void)</td></tr>
  202. <tr class="separator:ac271b0be7c45192f1e5691b33b6703bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  203. <tr class="memitem:a062d08121d8cfa6e380cedbdad9b9a45"><td class="memItemLeft" align="right" valign="top"><a id="a062d08121d8cfa6e380cedbdad9b9a45"></a>
  204. void&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread_run</b> (std::future&lt; void &gt; future)</td></tr>
  205. <tr class="separator:a062d08121d8cfa6e380cedbdad9b9a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. </table><table class="memberdecls">
  207. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
  208. Private Attributes</h2></td></tr>
  209. <tr class="memitem:a7660c60172a692036907d431ae2006f8"><td class="memItemLeft" align="right" valign="top"><a id="a7660c60172a692036907d431ae2006f8"></a>
  210. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>doorname</b></td></tr>
  211. <tr class="separator:a7660c60172a692036907d431ae2006f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. <tr class="memitem:ac5e32daf4c1ed6d7675f2a8bee43a420"><td class="memItemLeft" align="right" valign="top"><a id="ac5e32daf4c1ed6d7675f2a8bee43a420"></a>
  213. std::time_t&#160;</td><td class="memItemRight" valign="bottom"><b>startup</b></td></tr>
  214. <tr class="separator:ac5e32daf4c1ed6d7675f2a8bee43a420"><td class="memSeparator" colspan="2">&#160;</td></tr>
  215. <tr class="memitem:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memItemLeft" align="right" valign="top"><a id="ac9694a43baa3f7a8c0aaea15910b2afc"></a>
  216. struct termios&#160;</td><td class="memItemRight" valign="bottom"><b>tio_default</b></td></tr>
  217. <tr class="separator:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  218. <tr class="memitem:af9ec505cd10426909fabacbff1e9a484"><td class="memItemLeft" align="right" valign="top"><a id="af9ec505cd10426909fabacbff1e9a484"></a>
  219. char&#160;</td><td class="memItemRight" valign="bottom"><b>buffer</b> [5]</td></tr>
  220. <tr class="separator:af9ec505cd10426909fabacbff1e9a484"><td class="memSeparator" colspan="2">&#160;</td></tr>
  221. <tr class="memitem:a9d0eee2a9cfc2b459d13f3fb3f9285d5"><td class="memItemLeft" align="right" valign="top"><a id="a9d0eee2a9cfc2b459d13f3fb3f9285d5"></a>
  222. unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>bpos</b></td></tr>
  223. <tr class="separator:a9d0eee2a9cfc2b459d13f3fb3f9285d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  224. <tr class="memitem:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memItemLeft" align="right" valign="top"><a id="ab72706c45d0d143c30dbe61f4e9f6a68"></a>
  225. bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_dropfile</b></td></tr>
  226. <tr class="separator:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
  227. <tr class="memitem:acbcb8c030207ca3529dc8e9efeb2da8c"><td class="memItemLeft" align="right" valign="top"><a id="acbcb8c030207ca3529dc8e9efeb2da8c"></a>
  228. bool&#160;</td><td class="memItemRight" valign="bottom"><b>debugging</b></td></tr>
  229. <tr class="separator:acbcb8c030207ca3529dc8e9efeb2da8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  230. <tr class="memitem:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memItemLeft" align="right" valign="top"><a id="acd2e33e65d7ccac7c46e0c7fa6b3a407"></a>
  231. std::string&#160;</td><td class="memItemRight" valign="bottom"><b>dropfilename</b></td></tr>
  232. <tr class="separator:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memSeparator" colspan="2">&#160;</td></tr>
  233. <tr class="memitem:a3d83225897fcc51bf883170ba6f6963f"><td class="memItemLeft" align="right" valign="top"><a id="a3d83225897fcc51bf883170ba6f6963f"></a>
  234. vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>dropfilelines</b></td></tr>
  235. <tr class="separator:a3d83225897fcc51bf883170ba6f6963f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  236. <tr class="memitem:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memItemLeft" align="right" valign="top"><a id="a2456a5f520ad5a005ec13bebbfb0774d"></a>
  237. ofstream&#160;</td><td class="memItemRight" valign="bottom"><b>logf</b></td></tr>
  238. <tr class="separator:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  239. <tr class="memitem:a65e014489e39390328fbf448a304d548"><td class="memItemLeft" align="right" valign="top"><a id="a65e014489e39390328fbf448a304d548"></a>
  240. std::promise&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>stop_thread</b></td></tr>
  241. <tr class="separator:a65e014489e39390328fbf448a304d548"><td class="memSeparator" colspan="2">&#160;</td></tr>
  242. <tr class="memitem:a076ef095ae4e49acdb4afed0b413e430"><td class="memItemLeft" align="right" valign="top"><a id="a076ef095ae4e49acdb4afed0b413e430"></a>
  243. int&#160;</td><td class="memItemRight" valign="bottom"><b>seconds_elapsed</b></td></tr>
  244. <tr class="separator:a076ef095ae4e49acdb4afed0b413e430"><td class="memSeparator" colspan="2">&#160;</td></tr>
  245. <tr class="memitem:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memItemLeft" align="right" valign="top"><a id="a76deeffd8b0df5112b6e4d03d9ebdd73"></a>
  246. std::thread&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread</b></td></tr>
  247. <tr class="separator:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memSeparator" colspan="2">&#160;</td></tr>
  248. </table>
  249. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  250. <div class="textblock"><p>This handles output to the caller, via ostream. </p>
  251. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="door-example_8cpp-example.html#_a0">door-example.cpp</a>, and <a class="el" href="menu-example_8cpp-example.html#_a0">menu-example.cpp</a>.</dd>
  252. </dl>
  253. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  254. <a id="a8f7dcac2dafd0e11d42ab227b7d1a2ba"></a>
  255. <h2 class="memtitle"><span class="permalink"><a href="#a8f7dcac2dafd0e11d42ab227b7d1a2ba">&#9670;&nbsp;</a></span>Door()</h2>
  256. <div class="memitem">
  257. <div class="memproto">
  258. <table class="memname">
  259. <tr>
  260. <td class="memname">door::Door::Door </td>
  261. <td>(</td>
  262. <td class="paramtype">std::string&#160;</td>
  263. <td class="paramname"><em>dname</em>, </td>
  264. </tr>
  265. <tr>
  266. <td class="paramkey"></td>
  267. <td></td>
  268. <td class="paramtype">int&#160;</td>
  269. <td class="paramname"><em>argc</em>, </td>
  270. </tr>
  271. <tr>
  272. <td class="paramkey"></td>
  273. <td></td>
  274. <td class="paramtype">char *&#160;</td>
  275. <td class="paramname"><em>argv</em>[]&#160;</td>
  276. </tr>
  277. <tr>
  278. <td></td>
  279. <td>)</td>
  280. <td></td><td></td>
  281. </tr>
  282. </table>
  283. </div><div class="memdoc">
  284. <dl class="params"><dt>Parameters</dt><dd>
  285. <table class="params">
  286. <tr><td class="paramname">argc</td><td>int </td></tr>
  287. <tr><td class="paramname">argv</td><td>char *[] </td></tr>
  288. </table>
  289. </dd>
  290. </dl>
  291. </div>
  292. </div>
  293. <h2 class="groupheader">Member Function Documentation</h2>
  294. <a id="aa807fbcea8d7e92f591d9f459f392232"></a>
  295. <h2 class="memtitle"><span class="permalink"><a href="#aa807fbcea8d7e92f591d9f459f392232">&#9670;&nbsp;</a></span>get_one_of()</h2>
  296. <div class="memitem">
  297. <div class="memproto">
  298. <table class="memname">
  299. <tr>
  300. <td class="memname">int door::Door::get_one_of </td>
  301. <td>(</td>
  302. <td class="paramtype">const char *&#160;</td>
  303. <td class="paramname"><em>keys</em></td><td>)</td>
  304. <td></td>
  305. </tr>
  306. </table>
  307. </div><div class="memdoc">
  308. <p>Get one of these keys. </p>
  309. <p>returns char, or &lt; 0 if timeout.</p>
  310. <dl class="params"><dt>Parameters</dt><dd>
  311. <table class="params">
  312. <tr><td class="paramname">keys</td><td></td></tr>
  313. </table>
  314. </dd>
  315. </dl>
  316. <dl class="section return"><dt>Returns</dt><dd>char or &lt; 0 </dd></dl>
  317. </div>
  318. </div>
  319. <a id="a93bbb3d1bfcec623e46ef47e6ba6b470"></a>
  320. <h2 class="memtitle"><span class="permalink"><a href="#a93bbb3d1bfcec623e46ef47e6ba6b470">&#9670;&nbsp;</a></span>input_string()</h2>
  321. <div class="memitem">
  322. <div class="memproto">
  323. <table class="memname">
  324. <tr>
  325. <td class="memname">std::string door::Door::input_string </td>
  326. <td>(</td>
  327. <td class="paramtype">int&#160;</td>
  328. <td class="paramname"><em>max</em></td><td>)</td>
  329. <td></td>
  330. </tr>
  331. </table>
  332. </div><div class="memdoc">
  333. <p>Input a string of requested max length. </p>
  334. <p>This first sends out max number of spaces, and max number of backspaces. This will setup the input area. (If you set a background color of blue, this would allow that to be seen by the user.)</p>
  335. <p>It handles input, backspaces / deleting the characters / enter input and timeout/hangup/out of time.</p>
  336. <dl class="params"><dt>Parameters</dt><dd>
  337. <table class="params">
  338. <tr><td class="paramname">max</td><td></td></tr>
  339. </table>
  340. </dd>
  341. </dl>
  342. <dl class="section return"><dt>Returns</dt><dd>std::string </dd></dl>
  343. </div>
  344. </div>
  345. <a id="a15d3f18b7165f348479344b897b6ed96"></a>
  346. <h2 class="memtitle"><span class="permalink"><a href="#a15d3f18b7165f348479344b897b6ed96">&#9670;&nbsp;</a></span>log()</h2>
  347. <div class="memitem">
  348. <div class="memproto">
  349. <table class="memname">
  350. <tr>
  351. <td class="memname">ofstream &amp; door::Door::log </td>
  352. <td>(</td>
  353. <td class="paramtype">void&#160;</td>
  354. <td class="paramname"></td><td>)</td>
  355. <td></td>
  356. </tr>
  357. </table>
  358. </div><div class="memdoc">
  359. <p>Give ofstream handle for logging. </p>
  360. <p>This appends the current date/time stamp into the logfile, and returns a reference.</p>
  361. <p>Example:</p>
  362. <p>door.log() &lt;&lt; "Something bad just happened." &lt;&lt; std::endl;</p>
  363. <dl class="section return"><dt>Returns</dt><dd>ofstream&amp; </dd></dl>
  364. </div>
  365. </div>
  366. <a id="a264d9e4eb0d6eb0e03f60520bcb11dd4"></a>
  367. <h2 class="memtitle"><span class="permalink"><a href="#a264d9e4eb0d6eb0e03f60520bcb11dd4">&#9670;&nbsp;</a></span>overflow()</h2>
  368. <div class="memitem">
  369. <div class="memproto">
  370. <table class="mlabels">
  371. <tr>
  372. <td class="mlabels-left">
  373. <table class="memname">
  374. <tr>
  375. <td class="memname">int door::Door::overflow </td>
  376. <td>(</td>
  377. <td class="paramtype">int&#160;</td>
  378. <td class="paramname"><em>c</em></td><td>)</td>
  379. <td></td>
  380. </tr>
  381. </table>
  382. </td>
  383. <td class="mlabels-right">
  384. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">private</span></span> </td>
  385. </tr>
  386. </table>
  387. </div><div class="memdoc">
  388. <p>Stores a character into the buffer. This does still use the buffer. </p><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>Replace this also with a direct call to od_disp_emu.</dd></dl>
  389. <dl class="params"><dt>Parameters</dt><dd>
  390. <table class="params">
  391. <tr><td class="paramname">c</td><td>char </td></tr>
  392. </table>
  393. </dd>
  394. </dl>
  395. <dl class="section return"><dt>Returns</dt><dd>int </dd></dl>
  396. </div>
  397. </div>
  398. <a id="a092b281d63bb6ee0a3bee2ba77d78a47"></a>
  399. <h2 class="memtitle"><span class="permalink"><a href="#a092b281d63bb6ee0a3bee2ba77d78a47">&#9670;&nbsp;</a></span>sleep_key()</h2>
  400. <div class="memitem">
  401. <div class="memproto">
  402. <table class="memname">
  403. <tr>
  404. <td class="memname">signed int door::Door::sleep_key </td>
  405. <td>(</td>
  406. <td class="paramtype">int&#160;</td>
  407. <td class="paramname"><em>secs</em></td><td>)</td>
  408. <td></td>
  409. </tr>
  410. </table>
  411. </div><div class="memdoc">
  412. <p>Waits secs seconds for a keypress. </p>
  413. <p>returns key, or -1 on timeout (seconds passed). -2 hangup -3 out of time</p>
  414. <dl class="params"><dt>Parameters</dt><dd>
  415. <table class="params">
  416. <tr><td class="paramname">secs</td><td></td></tr>
  417. </table>
  418. </dd>
  419. </dl>
  420. <dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
  421. </div>
  422. </div>
  423. <a id="aad67bdb165987c4e3133a0f12f2b2b33"></a>
  424. <h2 class="memtitle"><span class="permalink"><a href="#aad67bdb165987c4e3133a0f12f2b2b33">&#9670;&nbsp;</a></span>xsputn()</h2>
  425. <div class="memitem">
  426. <div class="memproto">
  427. <table class="mlabels">
  428. <tr>
  429. <td class="mlabels-left">
  430. <table class="memname">
  431. <tr>
  432. <td class="memname">std::streamsize door::Door::xsputn </td>
  433. <td>(</td>
  434. <td class="paramtype">const char *&#160;</td>
  435. <td class="paramname"><em>s</em>, </td>
  436. </tr>
  437. <tr>
  438. <td class="paramkey"></td>
  439. <td></td>
  440. <td class="paramtype">std::streamsize&#160;</td>
  441. <td class="paramname"><em>n</em>&#160;</td>
  442. </tr>
  443. <tr>
  444. <td></td>
  445. <td>)</td>
  446. <td></td><td></td>
  447. </tr>
  448. </table>
  449. </td>
  450. <td class="mlabels-right">
  451. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">private</span></span> </td>
  452. </tr>
  453. </table>
  454. </div><div class="memdoc">
  455. <p>Take given buffer and output it.</p>
  456. <p>If debug_capture is enabled, we save everything to debug_buffer. This is used by the tests.</p>
  457. <dl class="params"><dt>Parameters</dt><dd>
  458. <table class="params">
  459. <tr><td class="paramname">s</td><td>const char * </td></tr>
  460. <tr><td class="paramname">n</td><td>std::streamsize </td></tr>
  461. </table>
  462. </dd>
  463. </dl>
  464. <dl class="section return"><dt>Returns</dt><dd>std::streamsize </dd></dl>
  465. </div>
  466. </div>
  467. <h2 class="groupheader">Member Data Documentation</h2>
  468. <a id="adf76d445797eb513020a60f786f65767"></a>
  469. <h2 class="memtitle"><span class="permalink"><a href="#adf76d445797eb513020a60f786f65767">&#9670;&nbsp;</a></span>previous</h2>
  470. <div class="memitem">
  471. <div class="memproto">
  472. <table class="memname">
  473. <tr>
  474. <td class="memname"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> door::Door::previous</td>
  475. </tr>
  476. </table>
  477. </div><div class="memdoc">
  478. <p>Previous ANSI-BBS colors and attributes sent. This is used to optimize our output. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classdoor_1_1ANSIColor.html#a24c97bd59b2a17cca37512dea5d21505">ANSIColor::output()</a> </dd></dl>
  479. </div>
  480. </div>
  481. <hr/>The documentation for this class was generated from the following files:<ul>
  482. <li><a class="el" href="door_8h_source.html">door.h</a></li>
  483. <li><a class="el" href="door_8cpp.html">door.cpp</a></li>
  484. </ul>
  485. </div><!-- contents -->
  486. <!-- start footer part -->
  487. <hr class="footer"/><address class="footer"><small>
  488. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  489. <img class="footer" src="doxygen.png" alt="doxygen"/>
  490. </a> 1.8.17
  491. </small></address>
  492. </body>
  493. </html>