mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
|
// A TParser is a class for parsing input and formatting it (presumabyl for
|
||
|
// display on the screen). All parsers are derived from the TParser class,
|
||
|
// in order to facilitate extending telnet to include other kinds of
|
||
|
// output. Currently, only one parser is implemented, the ANSI parser.
|
||
|
// A TParser includes:
|
||
|
// - A ParseBuffer function, which takes as parameters start and end
|
||
|
// pointers. It returns a pointer to the last character parsed plus 1.
|
||
|
// The start pointer is the beginning of the buffer, and the end
|
||
|
// pointer is one character after the end of the buffer.
|
||
|
// - An Init() function, which will re-initialize the parser when
|
||
|
// necessary.
|
||
|
|
||
|
#ifndef __TPARSER_H
|
||
|
#define __TPARSER_H
|
||
|
|
||
|
#include "tconsole.h"
|
||
|
#include "keytrans.h"
|
||
|
#include "tscroll.h"
|
||
|
#include "tnetwork.h"
|
||
|
#include "tcharmap.h"
|
||
|
|
||
|
class TParser {
|
||
|
public:
|
||
|
TParser(TConsole &RefConsole, KeyTranslator &RefKeyTrans,
|
||
|
TScroller &RefScroller, TNetwork &RefNetwork, TCharmap &RefCharmap) :
|
||
|
Console(RefConsole), KeyTrans(RefKeyTrans), Scroller (RefScroller),
|
||
|
Network(RefNetwork), Charmap(RefCharmap) {}
|
||
|
virtual ~TParser() {}
|
||
|
|
||
|
/* TParser& operator= (const TParser &p) {
|
||
|
Console = p.Console;
|
||
|
KeyTrans = p.KeyTrans;
|
||
|
Scroller = p.Scroller;
|
||
|
Network = p.Network;
|
||
|
return *this;
|
||
|
}*/
|
||
|
|
||
|
virtual char *ParseBuffer(char *pszBuffer, char *pszBufferEnd) = 0;
|
||
|
virtual void Init() = 0;
|
||
|
|
||
|
protected:
|
||
|
TConsole &Console;
|
||
|
KeyTranslator &KeyTrans;
|
||
|
TScroller &Scroller;
|
||
|
TNetwork &Network;
|
||
|
TCharmap &Charmap;
|
||
|
};
|
||
|
|
||
|
#endif
|