00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef filter_console_h 00004 #define filter_console_h 00005 00006 #include "console.h" 00007 #include "types.h" 00008 00009 // 00010 // INTERFACE definition follows 00011 // 00012 00013 00014 class Filter_console : public Console 00015 { 00016 public: 00017 00018 Filter_console( Console *o, int to=8000 ); 00019 ~Filter_console(); 00020 00021 int write( char const *str, size_t len ); 00022 int getchar( bool blocking = true ); 00023 int char_avail() const; 00024 00025 private: 00026 Console *const _o; 00027 int csi_timeout; 00028 enum { 00029 NORMAL, 00030 UNKNOWN_ESC, 00031 GOT_CSI, 00032 } state; 00033 unsigned pos; 00034 char ibuf[32]; 00035 unsigned arg; 00036 int args[4]; 00037 00038 public: 00039 Mword get_attributes() const; 00040 00041 private: 00042 inline int getchar_timeout( unsigned timeout ); 00043 }; 00044 00045 #endif // filter_console_h