reactos/rosapps/net/telnet/src/tparser.h
Steven Edwards c98929fa7e New Telnet Client
svn path=/trunk/; revision=2458
2001-12-30 10:05:48 +00:00

49 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