classdoor_1_1Door.html 50 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054
  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="memdesc:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a new <a class="el" href="classdoor_1_1Door.html">Door</a>:: <a class="el" href="classdoor_1_1Door.html">Door</a> object. <a href="classdoor_1_1Door.html#a8f7dcac2dafd0e11d42ab227b7d1a2ba">More...</a><br /></td></tr>
  103. <tr class="separator:a8f7dcac2dafd0e11d42ab227b7d1a2ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a65728f9e00ef3765c65d4f1e2c106fb6"><td class="memItemLeft" align="right" valign="top"><a id="a65728f9e00ef3765c65d4f1e2c106fb6"></a>
  105. &#160;</td><td class="memItemRight" valign="bottom"><b>Door</b> (<a class="el" href="classdoor_1_1Door.html">Door</a> &amp;)=delete</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">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">getkey</a> (void)</td></tr>
  111. <tr class="memdesc:a10d40a7089473c72c1acf5a987777404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a key routine. <a href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">More...</a><br /></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">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">haskey</a> (void)</td></tr>
  114. <tr class="memdesc:adb2006e73645885986d5487eb576fd21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Are there any keys in STDIN? <a href="classdoor_1_1Door.html#adb2006e73645885986d5487eb576fd21">More...</a><br /></td></tr>
  115. <tr class="separator:adb2006e73645885986d5487eb576fd21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <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>
  117. <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>
  118. <tr class="separator:a092b281d63bb6ee0a3bee2ba77d78a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <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>
  120. <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>
  121. <tr class="separator:a93bbb3d1bfcec623e46ef47e6ba6b470"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <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>
  123. <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>
  124. <tr class="separator:aa807fbcea8d7e92f591d9f459f392232"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. </table><table class="memberdecls">
  126. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
  127. Public Attributes</h2></td></tr>
  128. <tr class="memitem:a7e9aa4c92094271c40d67979b087d36b"><td class="memItemLeft" align="right" valign="top">AnyOption&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7e9aa4c92094271c40d67979b087d36b">opt</a></td></tr>
  129. <tr class="separator:a7e9aa4c92094271c40d67979b087d36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  130. <tr class="memitem:ae0e34a59d92ec9d70720fd90380b4223"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ae0e34a59d92ec9d70720fd90380b4223">debug_buffer</a></td></tr>
  131. <tr class="separator:ae0e34a59d92ec9d70720fd90380b4223"><td class="memSeparator" colspan="2">&#160;</td></tr>
  132. <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>
  133. <tr class="separator:adf76d445797eb513020a60f786f65767"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:abc021f4f29b9f78356641ba68df3ee4a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#abc021f4f29b9f78356641ba68df3ee4a">track</a></td></tr>
  135. <tr class="separator:abc021f4f29b9f78356641ba68df3ee4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a18b8c731b27e23d6913c0ad683a37ce7">cx</a></td></tr>
  137. <tr class="separator:a18b8c731b27e23d6913c0ad683a37ce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:ae3030f754f5c183c0739ca899f5d351c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ae3030f754f5c183c0739ca899f5d351c">cy</a></td></tr>
  139. <tr class="separator:ae3030f754f5c183c0739ca899f5d351c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a773004acf25257a8e384bc6333b3e169"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a773004acf25257a8e384bc6333b3e169">width</a></td></tr>
  141. <tr class="separator:a773004acf25257a8e384bc6333b3e169"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:ad6b79329830e41ba0ee960b01804a383"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ad6b79329830e41ba0ee960b01804a383">height</a></td></tr>
  143. <tr class="separator:ad6b79329830e41ba0ee960b01804a383"><td class="memSeparator" colspan="2">&#160;</td></tr>
  144. <tr class="memitem:a9190e804f05c37523aad88e5ebb0f826"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">inactivity</a></td></tr>
  145. <tr class="memdesc:a9190e804f05c37523aad88e5ebb0f826"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of seconds before timing out. <a href="classdoor_1_1Door.html#a9190e804f05c37523aad88e5ebb0f826">More...</a><br /></td></tr>
  146. <tr class="separator:a9190e804f05c37523aad88e5ebb0f826"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:aaeb090ff9afcae8ea0a15416eae84850"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#aaeb090ff9afcae8ea0a15416eae84850">username</a></td></tr>
  148. <tr class="separator:aaeb090ff9afcae8ea0a15416eae84850"><td class="memSeparator" colspan="2">&#160;</td></tr>
  149. <tr class="memitem:af9732845ca55a168cb03400486e47a37"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#af9732845ca55a168cb03400486e47a37">handle</a></td></tr>
  150. <tr class="separator:af9732845ca55a168cb03400486e47a37"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a4542fd79a3669c8bf7b2354bebb8d4df">location</a></td></tr>
  152. <tr class="separator:a4542fd79a3669c8bf7b2354bebb8d4df"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ad774c3579cd2cff08dcbd5c565bc9b70">sysop</a></td></tr>
  154. <tr class="separator:ad774c3579cd2cff08dcbd5c565bc9b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
  155. <tr class="memitem:ac617cee68cc0993ff5c294d06023b19b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ac617cee68cc0993ff5c294d06023b19b">node</a></td></tr>
  156. <tr class="separator:ac617cee68cc0993ff5c294d06023b19b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a459531d32a3208856979ebcdeb7c6aed"><td class="memItemLeft" align="right" valign="top">atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a459531d32a3208856979ebcdeb7c6aed">time_left</a></td></tr>
  158. <tr class="separator:a459531d32a3208856979ebcdeb7c6aed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="memitem:aafaad41e8f04b9df6466f512d4893d82"><td class="memItemLeft" align="right" valign="top">atomic&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#aafaad41e8f04b9df6466f512d4893d82">time_used</a></td></tr>
  160. <tr class="separator:aafaad41e8f04b9df6466f512d4893d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
  161. </table><table class="memberdecls">
  162. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
  163. Private Member Functions</h2></td></tr>
  164. <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>
  165. <tr class="separator:aad67bdb165987c4e3133a0f12f2b2b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <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>
  167. <tr class="separator:a264d9e4eb0d6eb0e03f60520bcb11dd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
  168. <tr class="memitem:a30663f319df84ef33658b593b41b06a2"><td class="memItemLeft" align="right" valign="top"><a id="a30663f319df84ef33658b593b41b06a2"></a>
  169. void&#160;</td><td class="memItemRight" valign="bottom"><b>parse_dropfile</b> (const char *filepath)</td></tr>
  170. <tr class="separator:a30663f319df84ef33658b593b41b06a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  171. <tr class="memitem:ab90a3663bd05a3be1caff2584a49ad64"><td class="memItemLeft" align="right" valign="top"><a id="ab90a3663bd05a3be1caff2584a49ad64"></a>
  172. void&#160;</td><td class="memItemRight" valign="bottom"><b>init</b> (void)</td></tr>
  173. <tr class="separator:ab90a3663bd05a3be1caff2584a49ad64"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. <tr class="memitem:a7671e29e45d346657b5bd5d66f569737"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">getch</a> (void)</td></tr>
  175. <tr class="memdesc:a7671e29e45d346657b5bd5d66f569737"><td class="mdescLeft">&#160;</td><td class="mdescRight">low level read key. <a href="classdoor_1_1Door.html#a7671e29e45d346657b5bd5d66f569737">More...</a><br /></td></tr>
  176. <tr class="separator:a7671e29e45d346657b5bd5d66f569737"><td class="memSeparator" colspan="2">&#160;</td></tr>
  177. <tr class="memitem:a7dd4913cdfb13f0938888adaab363e93"><td class="memItemLeft" align="right" valign="top">signed int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7dd4913cdfb13f0938888adaab363e93">getkey_or_pushback</a> (void)</td></tr>
  178. <tr class="separator:a7dd4913cdfb13f0938888adaab363e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:ac271b0be7c45192f1e5691b33b6703bb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">detect_unicode_and_screen</a> (void)</td></tr>
  180. <tr class="memdesc:ac271b0be7c45192f1e5691b33b6703bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Detect unicode/CP437, and screen size. <a href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">More...</a><br /></td></tr>
  181. <tr class="separator:ac271b0be7c45192f1e5691b33b6703bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
  182. <tr class="memitem:a062d08121d8cfa6e380cedbdad9b9a45"><td class="memItemLeft" align="right" valign="top"><a id="a062d08121d8cfa6e380cedbdad9b9a45"></a>
  183. void&#160;</td><td class="memItemRight" valign="bottom"><b>time_thread_run</b> (std::future&lt; void &gt; future)</td></tr>
  184. <tr class="separator:a062d08121d8cfa6e380cedbdad9b9a45"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. </table><table class="memberdecls">
  186. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
  187. Private Attributes</h2></td></tr>
  188. <tr class="memitem:a7660c60172a692036907d431ae2006f8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a7660c60172a692036907d431ae2006f8">doorname</a></td></tr>
  189. <tr class="separator:a7660c60172a692036907d431ae2006f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  190. <tr class="memitem:ac5e32daf4c1ed6d7675f2a8bee43a420"><td class="memItemLeft" align="right" valign="top"><a id="ac5e32daf4c1ed6d7675f2a8bee43a420"></a>
  191. std::time_t&#160;</td><td class="memItemRight" valign="bottom"><b>startup</b></td></tr>
  192. <tr class="separator:ac5e32daf4c1ed6d7675f2a8bee43a420"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memItemLeft" align="right" valign="top">struct termios&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ac9694a43baa3f7a8c0aaea15910b2afc">tio_default</a></td></tr>
  194. <tr class="separator:ac9694a43baa3f7a8c0aaea15910b2afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr class="memitem:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#ab72706c45d0d143c30dbe61f4e9f6a68">has_dropfile</a></td></tr>
  196. <tr class="separator:ab72706c45d0d143c30dbe61f4e9f6a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
  197. <tr class="memitem:acbcb8c030207ca3529dc8e9efeb2da8c"><td class="memItemLeft" align="right" valign="top"><a id="acbcb8c030207ca3529dc8e9efeb2da8c"></a>
  198. bool&#160;</td><td class="memItemRight" valign="bottom"><b>debugging</b></td></tr>
  199. <tr class="separator:acbcb8c030207ca3529dc8e9efeb2da8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#acd2e33e65d7ccac7c46e0c7fa6b3a407">dropfilename</a></td></tr>
  201. <tr class="separator:acd2e33e65d7ccac7c46e0c7fa6b3a407"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:a3d83225897fcc51bf883170ba6f6963f"><td class="memItemLeft" align="right" valign="top">vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a3d83225897fcc51bf883170ba6f6963f">dropfilelines</a></td></tr>
  203. <tr class="separator:a3d83225897fcc51bf883170ba6f6963f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  204. <tr class="memitem:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memItemLeft" align="right" valign="top">ofstream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a2456a5f520ad5a005ec13bebbfb0774d">logf</a></td></tr>
  205. <tr class="separator:a2456a5f520ad5a005ec13bebbfb0774d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  206. <tr class="memitem:a65e014489e39390328fbf448a304d548"><td class="memItemLeft" align="right" valign="top">std::promise&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a65e014489e39390328fbf448a304d548">stop_thread</a></td></tr>
  207. <tr class="separator:a65e014489e39390328fbf448a304d548"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:a076ef095ae4e49acdb4afed0b413e430"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a076ef095ae4e49acdb4afed0b413e430">seconds_elapsed</a></td></tr>
  209. <tr class="separator:a076ef095ae4e49acdb4afed0b413e430"><td class="memSeparator" colspan="2">&#160;</td></tr>
  210. <tr class="memitem:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memItemLeft" align="right" valign="top">std::thread&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdoor_1_1Door.html#a76deeffd8b0df5112b6e4d03d9ebdd73">time_thread</a></td></tr>
  211. <tr class="separator:a76deeffd8b0df5112b6e4d03d9ebdd73"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. </table>
  213. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  214. <div class="textblock"><p>This handles output to the caller, via ostream. </p>
  215. <dl class="section examples"><dt>Examples</dt><dd><a class="el" href="menu-example_8cpp-example.html#_a0">menu-example.cpp</a>.</dd>
  216. </dl>
  217. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  218. <a id="a8f7dcac2dafd0e11d42ab227b7d1a2ba"></a>
  219. <h2 class="memtitle"><span class="permalink"><a href="#a8f7dcac2dafd0e11d42ab227b7d1a2ba">&#9670;&nbsp;</a></span>Door()</h2>
  220. <div class="memitem">
  221. <div class="memproto">
  222. <table class="memname">
  223. <tr>
  224. <td class="memname">door::Door::Door </td>
  225. <td>(</td>
  226. <td class="paramtype">std::string&#160;</td>
  227. <td class="paramname"><em>dname</em>, </td>
  228. </tr>
  229. <tr>
  230. <td class="paramkey"></td>
  231. <td></td>
  232. <td class="paramtype">int&#160;</td>
  233. <td class="paramname"><em>argc</em>, </td>
  234. </tr>
  235. <tr>
  236. <td class="paramkey"></td>
  237. <td></td>
  238. <td class="paramtype">char *&#160;</td>
  239. <td class="paramname"><em>argv</em>[]&#160;</td>
  240. </tr>
  241. <tr>
  242. <td></td>
  243. <td>)</td>
  244. <td></td><td></td>
  245. </tr>
  246. </table>
  247. </div><div class="memdoc">
  248. <p>Construct a new <a class="el" href="classdoor_1_1Door.html">Door</a>:: <a class="el" href="classdoor_1_1Door.html">Door</a> object. </p>
  249. <dl class="params"><dt>Parameters</dt><dd>
  250. <table class="params">
  251. <tr><td class="paramdir">[in]</td><td class="paramname">dname</td><td><a class="el" href="classdoor_1_1Door.html">Door</a> name used for logfile </td></tr>
  252. <tr><td class="paramdir">[in]</td><td class="paramname">argc</td><td></td></tr>
  253. <tr><td class="paramdir">[in]</td><td class="paramname">argv</td><td></td></tr>
  254. </table>
  255. </dd>
  256. </dl>
  257. </div>
  258. </div>
  259. <h2 class="groupheader">Member Function Documentation</h2>
  260. <a id="ac271b0be7c45192f1e5691b33b6703bb"></a>
  261. <h2 class="memtitle"><span class="permalink"><a href="#ac271b0be7c45192f1e5691b33b6703bb">&#9670;&nbsp;</a></span>detect_unicode_and_screen()</h2>
  262. <div class="memitem">
  263. <div class="memproto">
  264. <table class="mlabels">
  265. <tr>
  266. <td class="mlabels-left">
  267. <table class="memname">
  268. <tr>
  269. <td class="memname">void door::Door::detect_unicode_and_screen </td>
  270. <td>(</td>
  271. <td class="paramtype">void&#160;</td>
  272. <td class="paramname"></td><td>)</td>
  273. <td></td>
  274. </tr>
  275. </table>
  276. </td>
  277. <td class="mlabels-right">
  278. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  279. </tr>
  280. </table>
  281. </div><div class="memdoc">
  282. <p>Detect unicode/CP437, and screen size. </p>
  283. <p>This sets unicode and full_cp437 flags, width and height.</p>
  284. <p>This works by clearing the screen and homing the cursor. We then output some CP437 symbols and ask for the cursor position. We send a newline, output a unicode symbol, and query cursor position.</p>
  285. <p>The CP437 symbols we use are specific. They are the hearts and diamonds symbols, which are commonly mistaken for control codes. If unicode == false and full_cp437 == true, then we do fully support CP437 on this terminal.</p>
  286. <p>For the screensize, we move the cursor down 999 and move cursor right 999 and query position.</p>
  287. <p>On failure to detect screensize, width and height are set to 0. </p>
  288. </div>
  289. </div>
  290. <a id="aa807fbcea8d7e92f591d9f459f392232"></a>
  291. <h2 class="memtitle"><span class="permalink"><a href="#aa807fbcea8d7e92f591d9f459f392232">&#9670;&nbsp;</a></span>get_one_of()</h2>
  292. <div class="memitem">
  293. <div class="memproto">
  294. <table class="memname">
  295. <tr>
  296. <td class="memname">int door::Door::get_one_of </td>
  297. <td>(</td>
  298. <td class="paramtype">const char *&#160;</td>
  299. <td class="paramname"><em>keys</em></td><td>)</td>
  300. <td></td>
  301. </tr>
  302. </table>
  303. </div><div class="memdoc">
  304. <p>Get one of these keys. </p>
  305. <p>returns char, or &lt; 0 if timeout.</p>
  306. <dl class="params"><dt>Parameters</dt><dd>
  307. <table class="params">
  308. <tr><td class="paramname">keys</td><td></td></tr>
  309. </table>
  310. </dd>
  311. </dl>
  312. <dl class="section return"><dt>Returns</dt><dd>char or &lt; 0 </dd></dl>
  313. </div>
  314. </div>
  315. <a id="a7671e29e45d346657b5bd5d66f569737"></a>
  316. <h2 class="memtitle"><span class="permalink"><a href="#a7671e29e45d346657b5bd5d66f569737">&#9670;&nbsp;</a></span>getch()</h2>
  317. <div class="memitem">
  318. <div class="memproto">
  319. <table class="mlabels">
  320. <tr>
  321. <td class="mlabels-left">
  322. <table class="memname">
  323. <tr>
  324. <td class="memname">signed int door::Door::getch </td>
  325. <td>(</td>
  326. <td class="paramtype">void&#160;</td>
  327. <td class="paramname"></td><td>)</td>
  328. <td></td>
  329. </tr>
  330. </table>
  331. </td>
  332. <td class="mlabels-right">
  333. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  334. </tr>
  335. </table>
  336. </div><div class="memdoc">
  337. <p>low level read key. </p>
  338. <p>Returns key, or -1 no key available/timeout -2 read error/hang up -3 out of time</p>
  339. <dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
  340. </div>
  341. </div>
  342. <a id="a10d40a7089473c72c1acf5a987777404"></a>
  343. <h2 class="memtitle"><span class="permalink"><a href="#a10d40a7089473c72c1acf5a987777404">&#9670;&nbsp;</a></span>getkey()</h2>
  344. <div class="memitem">
  345. <div class="memproto">
  346. <table class="memname">
  347. <tr>
  348. <td class="memname">signed int door::Door::getkey </td>
  349. <td>(</td>
  350. <td class="paramtype">void&#160;</td>
  351. <td class="paramname"></td><td>)</td>
  352. <td></td>
  353. </tr>
  354. </table>
  355. </div><div class="memdoc">
  356. <p>Get a key routine. </p>
  357. <p>This returns the key received, or XKEY_* values for function keys, etc. If return &lt; 0: -1 timeout/no key -2 hangup -3 out of time</p>
  358. <dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
  359. </div>
  360. </div>
  361. <a id="a7dd4913cdfb13f0938888adaab363e93"></a>
  362. <h2 class="memtitle"><span class="permalink"><a href="#a7dd4913cdfb13f0938888adaab363e93">&#9670;&nbsp;</a></span>getkey_or_pushback()</h2>
  363. <div class="memitem">
  364. <div class="memproto">
  365. <table class="mlabels">
  366. <tr>
  367. <td class="mlabels-left">
  368. <table class="memname">
  369. <tr>
  370. <td class="memname">signed int door::Door::getkey_or_pushback </td>
  371. <td>(</td>
  372. <td class="paramtype">void&#160;</td>
  373. <td class="paramname"></td><td>)</td>
  374. <td></td>
  375. </tr>
  376. </table>
  377. </td>
  378. <td class="mlabels-right">
  379. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  380. </tr>
  381. </table>
  382. </div><div class="memdoc">
  383. <p>Call low level getch if the pushback buffer is empty.</p>
  384. <p>This allows testing of the <a class="el" href="classdoor_1_1Door.html#a10d40a7089473c72c1acf5a987777404">Door::getkey</a> function.</p>
  385. <dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
  386. </div>
  387. </div>
  388. <a id="adb2006e73645885986d5487eb576fd21"></a>
  389. <h2 class="memtitle"><span class="permalink"><a href="#adb2006e73645885986d5487eb576fd21">&#9670;&nbsp;</a></span>haskey()</h2>
  390. <div class="memitem">
  391. <div class="memproto">
  392. <table class="memname">
  393. <tr>
  394. <td class="memname">bool door::Door::haskey </td>
  395. <td>(</td>
  396. <td class="paramtype">void&#160;</td>
  397. <td class="paramname"></td><td>)</td>
  398. <td></td>
  399. </tr>
  400. </table>
  401. </div><div class="memdoc">
  402. <p>Are there any keys in STDIN? </p>
  403. <p>This uses select to check if we have received any keys. This does not use pushback. </p><dl class="section return"><dt>Returns</dt><dd>true </dd>
  404. <dd>
  405. false </dd></dl>
  406. </div>
  407. </div>
  408. <a id="a93bbb3d1bfcec623e46ef47e6ba6b470"></a>
  409. <h2 class="memtitle"><span class="permalink"><a href="#a93bbb3d1bfcec623e46ef47e6ba6b470">&#9670;&nbsp;</a></span>input_string()</h2>
  410. <div class="memitem">
  411. <div class="memproto">
  412. <table class="memname">
  413. <tr>
  414. <td class="memname">std::string door::Door::input_string </td>
  415. <td>(</td>
  416. <td class="paramtype">int&#160;</td>
  417. <td class="paramname"><em>max</em></td><td>)</td>
  418. <td></td>
  419. </tr>
  420. </table>
  421. </div><div class="memdoc">
  422. <p>Input a string of requested max length. </p>
  423. <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>
  424. <p>It handles input, backspaces / deleting the characters / enter input and timeout/hangup/out of time.</p>
  425. <dl class="params"><dt>Parameters</dt><dd>
  426. <table class="params">
  427. <tr><td class="paramname">max</td><td></td></tr>
  428. </table>
  429. </dd>
  430. </dl>
  431. <dl class="section return"><dt>Returns</dt><dd>std::string </dd></dl>
  432. </div>
  433. </div>
  434. <a id="a15d3f18b7165f348479344b897b6ed96"></a>
  435. <h2 class="memtitle"><span class="permalink"><a href="#a15d3f18b7165f348479344b897b6ed96">&#9670;&nbsp;</a></span>log()</h2>
  436. <div class="memitem">
  437. <div class="memproto">
  438. <table class="memname">
  439. <tr>
  440. <td class="memname">ofstream &amp; door::Door::log </td>
  441. <td>(</td>
  442. <td class="paramtype">void&#160;</td>
  443. <td class="paramname"></td><td>)</td>
  444. <td></td>
  445. </tr>
  446. </table>
  447. </div><div class="memdoc">
  448. <p>Give ofstream handle for logging. </p>
  449. <p>This appends the current date/time stamp into the logfile, and returns a reference.</p>
  450. <p>Example:</p>
  451. <p>door.log() &lt;&lt; "Something bad just happened." &lt;&lt; std::endl;</p>
  452. <dl class="section return"><dt>Returns</dt><dd>ofstream&amp; </dd></dl>
  453. </div>
  454. </div>
  455. <a id="a264d9e4eb0d6eb0e03f60520bcb11dd4"></a>
  456. <h2 class="memtitle"><span class="permalink"><a href="#a264d9e4eb0d6eb0e03f60520bcb11dd4">&#9670;&nbsp;</a></span>overflow()</h2>
  457. <div class="memitem">
  458. <div class="memproto">
  459. <table class="mlabels">
  460. <tr>
  461. <td class="mlabels-left">
  462. <table class="memname">
  463. <tr>
  464. <td class="memname">int door::Door::overflow </td>
  465. <td>(</td>
  466. <td class="paramtype">int&#160;</td>
  467. <td class="paramname"><em>c</em></td><td>)</td>
  468. <td></td>
  469. </tr>
  470. </table>
  471. </td>
  472. <td class="mlabels-right">
  473. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">private</span></span> </td>
  474. </tr>
  475. </table>
  476. </div><div class="memdoc">
  477. <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>
  478. <dl class="params"><dt>Parameters</dt><dd>
  479. <table class="params">
  480. <tr><td class="paramname">c</td><td>char </td></tr>
  481. </table>
  482. </dd>
  483. </dl>
  484. <dl class="section return"><dt>Returns</dt><dd>int </dd></dl>
  485. </div>
  486. </div>
  487. <a id="a092b281d63bb6ee0a3bee2ba77d78a47"></a>
  488. <h2 class="memtitle"><span class="permalink"><a href="#a092b281d63bb6ee0a3bee2ba77d78a47">&#9670;&nbsp;</a></span>sleep_key()</h2>
  489. <div class="memitem">
  490. <div class="memproto">
  491. <table class="memname">
  492. <tr>
  493. <td class="memname">signed int door::Door::sleep_key </td>
  494. <td>(</td>
  495. <td class="paramtype">int&#160;</td>
  496. <td class="paramname"><em>secs</em></td><td>)</td>
  497. <td></td>
  498. </tr>
  499. </table>
  500. </div><div class="memdoc">
  501. <p>Waits secs seconds for a keypress. </p>
  502. <p>returns key, or -1 on timeout (seconds passed). -2 hangup -3 out of time</p>
  503. <dl class="params"><dt>Parameters</dt><dd>
  504. <table class="params">
  505. <tr><td class="paramname">secs</td><td></td></tr>
  506. </table>
  507. </dd>
  508. </dl>
  509. <dl class="section return"><dt>Returns</dt><dd>signed int </dd></dl>
  510. </div>
  511. </div>
  512. <a id="aad67bdb165987c4e3133a0f12f2b2b33"></a>
  513. <h2 class="memtitle"><span class="permalink"><a href="#aad67bdb165987c4e3133a0f12f2b2b33">&#9670;&nbsp;</a></span>xsputn()</h2>
  514. <div class="memitem">
  515. <div class="memproto">
  516. <table class="mlabels">
  517. <tr>
  518. <td class="mlabels-left">
  519. <table class="memname">
  520. <tr>
  521. <td class="memname">std::streamsize door::Door::xsputn </td>
  522. <td>(</td>
  523. <td class="paramtype">const char *&#160;</td>
  524. <td class="paramname"><em>s</em>, </td>
  525. </tr>
  526. <tr>
  527. <td class="paramkey"></td>
  528. <td></td>
  529. <td class="paramtype">std::streamsize&#160;</td>
  530. <td class="paramname"><em>n</em>&#160;</td>
  531. </tr>
  532. <tr>
  533. <td></td>
  534. <td>)</td>
  535. <td></td><td></td>
  536. </tr>
  537. </table>
  538. </td>
  539. <td class="mlabels-right">
  540. <span class="mlabels"><span class="mlabel">override</span><span class="mlabel">private</span></span> </td>
  541. </tr>
  542. </table>
  543. </div><div class="memdoc">
  544. <p>Take given buffer and output it.</p>
  545. <p>If debug_capture is enabled, we save everything to debug_buffer. This is used by the tests.</p>
  546. <dl class="params"><dt>Parameters</dt><dd>
  547. <table class="params">
  548. <tr><td class="paramname">s</td><td>const char * </td></tr>
  549. <tr><td class="paramname">n</td><td>std::streamsize </td></tr>
  550. </table>
  551. </dd>
  552. </dl>
  553. <dl class="section return"><dt>Returns</dt><dd>std::streamsize </dd></dl>
  554. </div>
  555. </div>
  556. <h2 class="groupheader">Member Data Documentation</h2>
  557. <a id="a18b8c731b27e23d6913c0ad683a37ce7"></a>
  558. <h2 class="memtitle"><span class="permalink"><a href="#a18b8c731b27e23d6913c0ad683a37ce7">&#9670;&nbsp;</a></span>cx</h2>
  559. <div class="memitem">
  560. <div class="memproto">
  561. <table class="memname">
  562. <tr>
  563. <td class="memname">int door::Door::cx</td>
  564. </tr>
  565. </table>
  566. </div><div class="memdoc">
  567. <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Current cursor X position. </dd></dl>
  568. </div>
  569. </div>
  570. <a id="ae3030f754f5c183c0739ca899f5d351c"></a>
  571. <h2 class="memtitle"><span class="permalink"><a href="#ae3030f754f5c183c0739ca899f5d351c">&#9670;&nbsp;</a></span>cy</h2>
  572. <div class="memitem">
  573. <div class="memproto">
  574. <table class="memname">
  575. <tr>
  576. <td class="memname">int door::Door::cy</td>
  577. </tr>
  578. </table>
  579. </div><div class="memdoc">
  580. <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd>Current cursor Y position. </dd></dl>
  581. </div>
  582. </div>
  583. <a id="ae0e34a59d92ec9d70720fd90380b4223"></a>
  584. <h2 class="memtitle"><span class="permalink"><a href="#ae0e34a59d92ec9d70720fd90380b4223">&#9670;&nbsp;</a></span>debug_buffer</h2>
  585. <div class="memitem">
  586. <div class="memproto">
  587. <table class="memname">
  588. <tr>
  589. <td class="memname">std::string door::Door::debug_buffer</td>
  590. </tr>
  591. </table>
  592. </div><div class="memdoc">
  593. <p>Buffer that holds the output for testing. </p>
  594. </div>
  595. </div>
  596. <a id="a7660c60172a692036907d431ae2006f8"></a>
  597. <h2 class="memtitle"><span class="permalink"><a href="#a7660c60172a692036907d431ae2006f8">&#9670;&nbsp;</a></span>doorname</h2>
  598. <div class="memitem">
  599. <div class="memproto">
  600. <table class="mlabels">
  601. <tr>
  602. <td class="mlabels-left">
  603. <table class="memname">
  604. <tr>
  605. <td class="memname">std::string door::Door::doorname</td>
  606. </tr>
  607. </table>
  608. </td>
  609. <td class="mlabels-right">
  610. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  611. </tr>
  612. </table>
  613. </div><div class="memdoc">
  614. <p>The name used for logfile </p>
  615. </div>
  616. </div>
  617. <a id="a3d83225897fcc51bf883170ba6f6963f"></a>
  618. <h2 class="memtitle"><span class="permalink"><a href="#a3d83225897fcc51bf883170ba6f6963f">&#9670;&nbsp;</a></span>dropfilelines</h2>
  619. <div class="memitem">
  620. <div class="memproto">
  621. <table class="mlabels">
  622. <tr>
  623. <td class="mlabels-left">
  624. <table class="memname">
  625. <tr>
  626. <td class="memname">vector&lt;std::string&gt; door::Door::dropfilelines</td>
  627. </tr>
  628. </table>
  629. </td>
  630. <td class="mlabels-right">
  631. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  632. </tr>
  633. </table>
  634. </div><div class="memdoc">
  635. <p>Contents of the dropfile. </p>
  636. </div>
  637. </div>
  638. <a id="acd2e33e65d7ccac7c46e0c7fa6b3a407"></a>
  639. <h2 class="memtitle"><span class="permalink"><a href="#acd2e33e65d7ccac7c46e0c7fa6b3a407">&#9670;&nbsp;</a></span>dropfilename</h2>
  640. <div class="memitem">
  641. <div class="memproto">
  642. <table class="mlabels">
  643. <tr>
  644. <td class="mlabels-left">
  645. <table class="memname">
  646. <tr>
  647. <td class="memname">std::string door::Door::dropfilename</td>
  648. </tr>
  649. </table>
  650. </td>
  651. <td class="mlabels-right">
  652. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  653. </tr>
  654. </table>
  655. </div><div class="memdoc">
  656. <p>Name of the dropfile. </p>
  657. </div>
  658. </div>
  659. <a id="af9732845ca55a168cb03400486e47a37"></a>
  660. <h2 class="memtitle"><span class="permalink"><a href="#af9732845ca55a168cb03400486e47a37">&#9670;&nbsp;</a></span>handle</h2>
  661. <div class="memitem">
  662. <div class="memproto">
  663. <table class="memname">
  664. <tr>
  665. <td class="memname">std::string door::Door::handle</td>
  666. </tr>
  667. </table>
  668. </div><div class="memdoc">
  669. <p>BBS Dropfile handle </p>
  670. </div>
  671. </div>
  672. <a id="ab72706c45d0d143c30dbe61f4e9f6a68"></a>
  673. <h2 class="memtitle"><span class="permalink"><a href="#ab72706c45d0d143c30dbe61f4e9f6a68">&#9670;&nbsp;</a></span>has_dropfile</h2>
  674. <div class="memitem">
  675. <div class="memproto">
  676. <table class="mlabels">
  677. <tr>
  678. <td class="mlabels-left">
  679. <table class="memname">
  680. <tr>
  681. <td class="memname">bool door::Door::has_dropfile</td>
  682. </tr>
  683. </table>
  684. </td>
  685. <td class="mlabels-right">
  686. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  687. </tr>
  688. </table>
  689. </div><div class="memdoc">
  690. <p>Did we read a dropfile? </p>
  691. </div>
  692. </div>
  693. <a id="ad6b79329830e41ba0ee960b01804a383"></a>
  694. <h2 class="memtitle"><span class="permalink"><a href="#ad6b79329830e41ba0ee960b01804a383">&#9670;&nbsp;</a></span>height</h2>
  695. <div class="memitem">
  696. <div class="memproto">
  697. <table class="memname">
  698. <tr>
  699. <td class="memname">int door::Door::height</td>
  700. </tr>
  701. </table>
  702. </div><div class="memdoc">
  703. <p>Detected screen height. </p>
  704. </div>
  705. </div>
  706. <a id="a9190e804f05c37523aad88e5ebb0f826"></a>
  707. <h2 class="memtitle"><span class="permalink"><a href="#a9190e804f05c37523aad88e5ebb0f826">&#9670;&nbsp;</a></span>inactivity</h2>
  708. <div class="memitem">
  709. <div class="memproto">
  710. <table class="memname">
  711. <tr>
  712. <td class="memname">int door::Door::inactivity</td>
  713. </tr>
  714. </table>
  715. </div><div class="memdoc">
  716. <p>Number of seconds before timing out. </p>
  717. <p>When prompting for user input, this is the number of seconds they have to respond before we give up and timeout on them. (Default 120/2 minutes) </p>
  718. </div>
  719. </div>
  720. <a id="a4542fd79a3669c8bf7b2354bebb8d4df"></a>
  721. <h2 class="memtitle"><span class="permalink"><a href="#a4542fd79a3669c8bf7b2354bebb8d4df">&#9670;&nbsp;</a></span>location</h2>
  722. <div class="memitem">
  723. <div class="memproto">
  724. <table class="memname">
  725. <tr>
  726. <td class="memname">std::string door::Door::location</td>
  727. </tr>
  728. </table>
  729. </div><div class="memdoc">
  730. <p>BBS Dropfile location </p>
  731. </div>
  732. </div>
  733. <a id="a2456a5f520ad5a005ec13bebbfb0774d"></a>
  734. <h2 class="memtitle"><span class="permalink"><a href="#a2456a5f520ad5a005ec13bebbfb0774d">&#9670;&nbsp;</a></span>logf</h2>
  735. <div class="memitem">
  736. <div class="memproto">
  737. <table class="mlabels">
  738. <tr>
  739. <td class="mlabels-left">
  740. <table class="memname">
  741. <tr>
  742. <td class="memname">ofstream door::Door::logf</td>
  743. </tr>
  744. </table>
  745. </td>
  746. <td class="mlabels-right">
  747. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  748. </tr>
  749. </table>
  750. </div><div class="memdoc">
  751. <p>Logfile </p>
  752. </div>
  753. </div>
  754. <a id="ac617cee68cc0993ff5c294d06023b19b"></a>
  755. <h2 class="memtitle"><span class="permalink"><a href="#ac617cee68cc0993ff5c294d06023b19b">&#9670;&nbsp;</a></span>node</h2>
  756. <div class="memitem">
  757. <div class="memproto">
  758. <table class="memname">
  759. <tr>
  760. <td class="memname">int door::Door::node</td>
  761. </tr>
  762. </table>
  763. </div><div class="memdoc">
  764. <p>BBS Dropfile node number </p>
  765. </div>
  766. </div>
  767. <a id="a7e9aa4c92094271c40d67979b087d36b"></a>
  768. <h2 class="memtitle"><span class="permalink"><a href="#a7e9aa4c92094271c40d67979b087d36b">&#9670;&nbsp;</a></span>opt</h2>
  769. <div class="memitem">
  770. <div class="memproto">
  771. <table class="memname">
  772. <tr>
  773. <td class="memname">AnyOption door::Door::opt</td>
  774. </tr>
  775. </table>
  776. </div><div class="memdoc">
  777. <p>Commandline options parser. </p>
  778. </div>
  779. </div>
  780. <a id="adf76d445797eb513020a60f786f65767"></a>
  781. <h2 class="memtitle"><span class="permalink"><a href="#adf76d445797eb513020a60f786f65767">&#9670;&nbsp;</a></span>previous</h2>
  782. <div class="memitem">
  783. <div class="memproto">
  784. <table class="memname">
  785. <tr>
  786. <td class="memname"><a class="el" href="classdoor_1_1ANSIColor.html">ANSIColor</a> door::Door::previous</td>
  787. </tr>
  788. </table>
  789. </div><div class="memdoc">
  790. <p>Previous ANSI-BBS colors and attributes sent. This is used to optimize ANSI Color 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>
  791. </div>
  792. </div>
  793. <a id="a076ef095ae4e49acdb4afed0b413e430"></a>
  794. <h2 class="memtitle"><span class="permalink"><a href="#a076ef095ae4e49acdb4afed0b413e430">&#9670;&nbsp;</a></span>seconds_elapsed</h2>
  795. <div class="memitem">
  796. <div class="memproto">
  797. <table class="mlabels">
  798. <tr>
  799. <td class="mlabels-left">
  800. <table class="memname">
  801. <tr>
  802. <td class="memname">int door::Door::seconds_elapsed</td>
  803. </tr>
  804. </table>
  805. </td>
  806. <td class="mlabels-right">
  807. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  808. </tr>
  809. </table>
  810. </div><div class="memdoc">
  811. <p>Used by time_thread to know when a minute has passed. </p>
  812. </div>
  813. </div>
  814. <a id="a65e014489e39390328fbf448a304d548"></a>
  815. <h2 class="memtitle"><span class="permalink"><a href="#a65e014489e39390328fbf448a304d548">&#9670;&nbsp;</a></span>stop_thread</h2>
  816. <div class="memitem">
  817. <div class="memproto">
  818. <table class="mlabels">
  819. <tr>
  820. <td class="mlabels-left">
  821. <table class="memname">
  822. <tr>
  823. <td class="memname">std::promise&lt;void&gt; door::Door::stop_thread</td>
  824. </tr>
  825. </table>
  826. </td>
  827. <td class="mlabels-right">
  828. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  829. </tr>
  830. </table>
  831. </div><div class="memdoc">
  832. <p>Allow us to stop the time_thread. </p>
  833. </div>
  834. </div>
  835. <a id="ad774c3579cd2cff08dcbd5c565bc9b70"></a>
  836. <h2 class="memtitle"><span class="permalink"><a href="#ad774c3579cd2cff08dcbd5c565bc9b70">&#9670;&nbsp;</a></span>sysop</h2>
  837. <div class="memitem">
  838. <div class="memproto">
  839. <table class="memname">
  840. <tr>
  841. <td class="memname">std::string door::Door::sysop</td>
  842. </tr>
  843. </table>
  844. </div><div class="memdoc">
  845. <p>BBS Dropfile sysop name </p>
  846. </div>
  847. </div>
  848. <a id="a459531d32a3208856979ebcdeb7c6aed"></a>
  849. <h2 class="memtitle"><span class="permalink"><a href="#a459531d32a3208856979ebcdeb7c6aed">&#9670;&nbsp;</a></span>time_left</h2>
  850. <div class="memitem">
  851. <div class="memproto">
  852. <table class="memname">
  853. <tr>
  854. <td class="memname">atomic&lt;int&gt; door::Door::time_left</td>
  855. </tr>
  856. </table>
  857. </div><div class="memdoc">
  858. <p>time left in minutes </p>
  859. </div>
  860. </div>
  861. <a id="a76deeffd8b0df5112b6e4d03d9ebdd73"></a>
  862. <h2 class="memtitle"><span class="permalink"><a href="#a76deeffd8b0df5112b6e4d03d9ebdd73">&#9670;&nbsp;</a></span>time_thread</h2>
  863. <div class="memitem">
  864. <div class="memproto">
  865. <table class="mlabels">
  866. <tr>
  867. <td class="mlabels-left">
  868. <table class="memname">
  869. <tr>
  870. <td class="memname">std::thread door::Door::time_thread</td>
  871. </tr>
  872. </table>
  873. </td>
  874. <td class="mlabels-right">
  875. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  876. </tr>
  877. </table>
  878. </div><div class="memdoc">
  879. <p>Thread used to update time_left and time_used. </p>
  880. </div>
  881. </div>
  882. <a id="aafaad41e8f04b9df6466f512d4893d82"></a>
  883. <h2 class="memtitle"><span class="permalink"><a href="#aafaad41e8f04b9df6466f512d4893d82">&#9670;&nbsp;</a></span>time_used</h2>
  884. <div class="memitem">
  885. <div class="memproto">
  886. <table class="memname">
  887. <tr>
  888. <td class="memname">atomic&lt;int&gt; door::Door::time_used</td>
  889. </tr>
  890. </table>
  891. </div><div class="memdoc">
  892. <p>time used in minutes </p>
  893. </div>
  894. </div>
  895. <a id="ac9694a43baa3f7a8c0aaea15910b2afc"></a>
  896. <h2 class="memtitle"><span class="permalink"><a href="#ac9694a43baa3f7a8c0aaea15910b2afc">&#9670;&nbsp;</a></span>tio_default</h2>
  897. <div class="memitem">
  898. <div class="memproto">
  899. <table class="mlabels">
  900. <tr>
  901. <td class="mlabels-left">
  902. <table class="memname">
  903. <tr>
  904. <td class="memname">struct termios door::Door::tio_default</td>
  905. </tr>
  906. </table>
  907. </td>
  908. <td class="mlabels-right">
  909. <span class="mlabels"><span class="mlabel">private</span></span> </td>
  910. </tr>
  911. </table>
  912. </div><div class="memdoc">
  913. <p>Initial terminal defaults. </p>
  914. </div>
  915. </div>
  916. <a id="abc021f4f29b9f78356641ba68df3ee4a"></a>
  917. <h2 class="memtitle"><span class="permalink"><a href="#abc021f4f29b9f78356641ba68df3ee4a">&#9670;&nbsp;</a></span>track</h2>
  918. <div class="memitem">
  919. <div class="memproto">
  920. <table class="memname">
  921. <tr>
  922. <td class="memname">bool door::Door::track</td>
  923. </tr>
  924. </table>
  925. </div><div class="memdoc">
  926. <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>Enable tracking cursor position. </dd></dl>
  927. </div>
  928. </div>
  929. <a id="aaeb090ff9afcae8ea0a15416eae84850"></a>
  930. <h2 class="memtitle"><span class="permalink"><a href="#aaeb090ff9afcae8ea0a15416eae84850">&#9670;&nbsp;</a></span>username</h2>
  931. <div class="memitem">
  932. <div class="memproto">
  933. <table class="memname">
  934. <tr>
  935. <td class="memname">std::string door::Door::username</td>
  936. </tr>
  937. </table>
  938. </div><div class="memdoc">
  939. <p>BBS Dropfile username </p>
  940. </div>
  941. </div>
  942. <a id="a773004acf25257a8e384bc6333b3e169"></a>
  943. <h2 class="memtitle"><span class="permalink"><a href="#a773004acf25257a8e384bc6333b3e169">&#9670;&nbsp;</a></span>width</h2>
  944. <div class="memitem">
  945. <div class="memproto">
  946. <table class="memname">
  947. <tr>
  948. <td class="memname">int door::Door::width</td>
  949. </tr>
  950. </table>
  951. </div><div class="memdoc">
  952. <p>Detected screen width. <a class="el" href="classdoor_1_1Door.html#ac271b0be7c45192f1e5691b33b6703bb">Door::detect_unicode_and_screen</a> </p>
  953. </div>
  954. </div>
  955. <hr/>The documentation for this class was generated from the following files:<ul>
  956. <li><a class="el" href="door_8h_source.html">door.h</a></li>
  957. <li><a class="el" href="door_8cpp.html">door.cpp</a></li>
  958. </ul>
  959. </div><!-- contents -->
  960. <!-- start footer part -->
  961. <hr class="footer"/><address class="footer"><small>
  962. Generated by &#160;<a href="http://www.doxygen.org/index.html">
  963. <img class="footer" src="doxygen.png" alt="doxygen"/>
  964. </a> 1.8.17
  965. </small></address>
  966. </body>
  967. </html>