1 #ifndef MSP_IO_CONSOLE_H_
2 #define MSP_IO_CONSOLE_H_
10 Provides access to standard input, output and error streams. This class can't
11 be instantiated directly - use one of the cin, cout and cerr references
14 class Console: public Base
23 virtual void set_block(bool);
25 /** If local echo is enabled, characters will appear on the console as they
26 are typed. Can only be used on an input Console. */
27 void set_local_echo(bool);
29 /** If line buffering is enabled, input will only be available when a
30 newline is encountered. On some systems, this may also enable line editing.
31 Can only be used on an input Console.
33 void set_line_buffer(bool);
35 /** Retrieves the size of the Console. Can only be used on an output
37 void get_size(unsigned &rows, unsigned &cols);
40 virtual unsigned do_write(const char *, unsigned);
41 virtual unsigned do_read(char *, unsigned);
44 virtual Handle get_event_handle();
46 static Console &instance(unsigned);