#include <door.h>
|  | 
|  | Door (std::string dname, int argc, char *argv[]) | 
|  | 
|  | Door (Door &)=delete | 
|  | Default copy ctor deleted. 
 | 
|  | 
| ofstream & | log (void) | 
|  | Give ofstream handle for logging.  More... 
 | 
|  | 
| signed int | getkey (void) | 
|  | 
| bool | haskey (void) | 
|  | 
| int | get_input (void) | 
|  | 
| signed int | sleep_key (int secs) | 
|  | Waits secs seconds for a keypress.  More... 
 | 
|  | 
| std::string | input_string (int max) | 
|  | Input a string of requested max length.  More... 
 | 
|  | 
| int | get_one_of (const char *keys) | 
|  | Get one of these keys.  More... 
 | 
|  | 
|  | 
| AnyOption | opt | 
|  | 
| std::string | debug_buffer | 
|  | 
| ANSIColor | previous | 
|  | 
| bool | track | 
|  | 
| int | cx | 
|  | 
| int | cy | 
|  | 
| int | width | 
|  | 
| int | height | 
|  | 
| int | inactivity | 
|  | 
| std::string | username | 
|  | 
| std::string | handle | 
|  | 
| std::string | location | 
|  | 
| std::string | sysop | 
|  | 
| int | node | 
|  | 
| atomic< int > | time_left | 
|  | 
| atomic< int > | time_used | 
|  | 
|  | 
| std::streamsize | xsputn (const char *s, std::streamsize n) override | 
|  | 
| int | overflow (int c) override | 
|  | 
| void | parse_dropfile (const char *filepath) | 
|  | 
| void | init (void) | 
|  | 
| signed int | getch (void) | 
|  | 
| void | unget (char c) | 
|  | 
| char | get (void) | 
|  | 
| void | detect_unicode_and_screen (void) | 
|  | 
| void | time_thread_run (std::future< void > future) | 
|  | 
|  | 
| std::string | doorname | 
|  | 
| std::time_t | startup | 
|  | 
| struct termios | tio_default | 
|  | 
| char | buffer [5] | 
|  | 
| unsigned int | bpos | 
|  | 
| bool | has_dropfile | 
|  | 
| bool | debugging | 
|  | 
| std::string | dropfilename | 
|  | 
| vector< std::string > | dropfilelines | 
|  | 
| ofstream | logf | 
|  | 
| std::promise< void > | stop_thread | 
|  | 
| int | seconds_elapsed | 
|  | 
| std::thread | time_thread | 
|  | 
This handles output to the caller, via ostream. 
- Examples
- door-example.cpp, and menu-example.cpp.
◆ Door()
      
        
          | door::Door::Door | ( | std::string | dname, | 
        
          |  |  | int | argc, | 
        
          |  |  | char * | argv[] | 
        
          |  | ) |  |  | 
      
 
 
◆ get_one_of()
      
        
          | int door::Door::get_one_of | ( | const char * | keys | ) |  | 
      
 
Get one of these keys. 
returns char, or < 0 if timeout.
- Parameters
- 
  
  
- Returns
- char or < 0 
 
 
◆ input_string()
      
        
          | std::string door::Door::input_string | ( | int | max | ) |  | 
      
 
Input a string of requested max length. 
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.)
It handles input, backspaces / deleting the characters / enter input and timeout/hangup/out of time.
- Parameters
- 
  
  
- Returns
- std::string 
 
 
◆ log()
      
        
          | ofstream & door::Door::log | ( | void |  | ) |  | 
      
 
Give ofstream handle for logging. 
This appends the current date/time stamp into the logfile, and returns a reference.
Example:
door.log() << "Something bad just happened." << std::endl;
- Returns
- ofstream& 
 
 
◆ overflow()
  
  | 
        
          | int door::Door::overflow | ( | int | c | ) |  |  | overrideprivate | 
 
Stores a character into the buffer. This does still use the buffer. 
- Todo:
- Replace this also with a direct call to od_disp_emu.
- Parameters
- 
  
  
- Returns
- int 
 
 
◆ sleep_key()
      
        
          | signed int door::Door::sleep_key | ( | int | secs | ) |  | 
      
 
Waits secs seconds for a keypress. 
returns key, or -1 on timeout (seconds passed). -2 hangup -3 out of time
- Parameters
- 
  
  
- Returns
- signed int 
 
 
◆ xsputn()
  
  | 
        
          | std::streamsize door::Door::xsputn | ( | const char * | s, |  
          |  |  | std::streamsize | n |  
          |  | ) |  |  |  | overrideprivate | 
 
Take given buffer and output it.
If debug_capture is enabled, we save everything to debug_buffer. This is used by the tests.
- Parameters
- 
  
    | s | const char * |  | n | std::streamsize |  
 
- Returns
- std::streamsize 
 
 
◆ previous
Previous ANSI-BBS colors and attributes sent. This is used to optimize our output. 
- See also
- ANSIColor::output() 
 
 
The documentation for this class was generated from the following files: