1 // A TParser is a class for parsing input and formatting it (presumabyl for 2 // display on the screen). All parsers are derived from the TParser class, 3 // in order to facilitate extending telnet to include other kinds of 4 // output. Currently, only one parser is implemented, the ANSI parser. 5 // A TParser includes: 6 // - A ParseBuffer function, which takes as parameters start and end 7 // pointers. It returns a pointer to the last character parsed plus 1. 8 // The start pointer is the beginning of the buffer, and the end 9 // pointer is one character after the end of the buffer. 10 // - An Init() function, which will re-initialize the parser when 11 // necessary. 12 13 #pragma once 14 15 #include "tconsole.h" 16 #include "keytrans.h" 17 #include "tscroll.h" 18 //#include "tnetwork.h" 19 #include "tcharmap.h" 20 21 class TParser { 22 public: 23 TParser(TConsole &RefConsole, KeyTranslator &RefKeyTrans, 24 TScroller &RefScroller, TNetwork &RefNetwork, TCharmap &RefCharmap) : 25 Console(RefConsole), KeyTrans(RefKeyTrans), Scroller (RefScroller), 26 Network(RefNetwork), Charmap(RefCharmap) {} 27 virtual ~TParser() {} 28 29 /* TParser& operator= (const TParser &p) { 30 Console = p.Console; 31 KeyTrans = p.KeyTrans; 32 Scroller = p.Scroller; 33 Network = p.Network; 34 return *this; 35 }*/ 36 37 virtual char *ParseBuffer(char *pszBuffer, char *pszBufferEnd) = 0; 38 virtual void Init() = 0; 39 40 protected: 41 TConsole &Console; 42 KeyTranslator &KeyTrans; 43 TScroller &Scroller; 44 TNetwork &Network; 45 TCharmap &Charmap; 46 }; 47