Create this branch to work on loading of different Kernel-Debugger DLL providers...
[reactos.git] / base / applications / network / telnet / src / tparser.h
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 };