ansiprsr.h
上传用户:haiweijt
上传日期:2018-02-23
资源大小:8195k
文件大小:2k
源码类别:

Telnet服务器

开发平台:

Visual C++

  1. #ifndef __ANSIPRSR_H
  2. #define __ANSIPRSR_H
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <ctype.h>
  6. #include <string.h>
  7. #include "tnconfig.h"
  8. #include "tparser.h"
  9. #include "InsertExcel.h"
  10. #include "InsertDB.h"
  11. // added this color table to make things go faster (Paul Branann 5/8/98)
  12. enum Colors {BLACK=0, BLUE, GREEN, CYAN, RED, MAGENTA, YELLOW, WHITE};
  13. static const int ANSIColors[] = {BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE};
  14. // This should be greater than the largest conceivable window size
  15. // 200 should suffice
  16. #define MAX_TAB_POSITIONS 200
  17. // Added by Frediano Ziglio 6/2/2000
  18. // Include Meridian Emulator support
  19. // undefine it to remove support
  20. #define MTE_SUPPORT 1
  21. // TANSIParser is now properly no longer a base class for TTelnetParser.
  22. // Screen output is handled in TConsole.cpp.
  23. // (Paul Brannan 6/15/98)
  24. class TANSIParser : public TParser {
  25. private:
  26. char* ParseEscapeANSI(char* pszBuffer, char* pszBufferEnd);
  27. char* ParseANSIBuffer(char* pszBuffer, char* pszBufferEnd);
  28. char* ParseEscape(char* pszBuffer, char* pszBufferEnd);
  29. // Added by I.Ioannou 06/04/97
  30. char* PrintBuffer(char* pszBuffer, char* pszBufferEnd);
  31. char* PrintGoodChars(char * pszHead, char * pszTail);
  32. #ifdef MTE_SUPPORT
  33.     // Added by Frediano Ziglio, 5/31/2000
  34.     char* ParseEscapeMTE(char* pszBuffer, char* pszBufferEnd);
  35. short int mteRegionXF,mteRegionYF;
  36. #endif
  37. void ConSetAttribute(unsigned char wAttr);
  38. char *GetTerminalID();
  39. void ConSetCursorPos(int x, int y);
  40. void ResetTerminal();
  41. void Init();
  42. void SaveCurX(int iX);
  43. void SaveCurY(int iY);
  44. void resetTabStops();
  45. int iSavedCurX;
  46. int iSavedCurY;
  47. unsigned char iSavedAttributes;
  48. FILE * dumpfile;
  49. // Added by I.Ioannou 06 April 1997
  50. FILE * printfile;
  51. char InPrintMode;
  52. int inGraphMode;
  53. char last_char;                 // TITUS++: 2. November 98
  54. char map_G0, map_G1;
  55. int current_map;
  56. bool vt52_mode;
  57. bool print_ctrl;
  58. bool ignore_margins;
  59. bool fast_write;
  60. bool newline_mode;
  61. int tab_stops[MAX_TAB_POSITIONS];
  62. public:
  63. // Changed by Paul Brannan 5/13/98
  64. TANSIParser(TConsole &Console, KeyTranslator &RefKeyTrans,
  65. TScroller &RefScroller, TNetwork &NetHandler, TCharmap &RefCharmap);
  66. ~TANSIParser();
  67. char* ParseBuffer(char* pszBuffer, char* pszBufferEnd);
  68. static int StripBuffer(char* pszBuffer, char* pszBufferEnd, int width);
  69. private:
  70.     InsertExcel tmyb;//=new InsertDB;
  71. };
  72. #endif