tparser.h
上传用户:tigerk9
上传日期:2020-03-10
资源大小:237k
文件大小:2k
源码类别:

Telnet客户端

开发平台:

Visual C++

  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. #ifndef __TPARSER_H
  13. #define __TPARSER_H
  14. #include "tconsole.h"
  15. #include "keytrans.h"
  16. #include "tscroll.h"
  17. #include "tnetwork.h"
  18. #include "tcharmap.h"
  19. class TParser {
  20. public:
  21. TParser(TConsole &RefConsole, KeyTranslator &RefKeyTrans,
  22. TScroller &RefScroller, TNetwork &RefNetwork, TCharmap &RefCharmap) :
  23. Console(RefConsole), KeyTrans(RefKeyTrans), Scroller (RefScroller),
  24. Network(RefNetwork), Charmap(RefCharmap) {}
  25. virtual ~TParser() {}
  26. /* TParser& operator= (const TParser &p) {
  27. Console = p.Console;
  28. KeyTrans = p.KeyTrans;
  29. Scroller = p.Scroller;
  30. Network = p.Network;
  31. return *this;
  32. }*/
  33. virtual char *ParseBuffer(char *pszBuffer, char *pszBufferEnd) = 0;
  34. virtual void Init() = 0;
  35. protected:
  36. TConsole &Console;
  37. KeyTranslator &KeyTrans;
  38. TScroller &Scroller;
  39. TNetwork &Network;
  40. TCharmap &Charmap;
  41. };
  42. #endif