CTelnetView.h
上传用户:cbyxjia
上传日期:2007-01-14
资源大小:132k
文件大小:3k
源码类别:

Telnet客户端

开发平台:

Visual C++

  1. // CTelnetView.h : interface of the CTelnetView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CTelnetVIEW_H__243EC4A1_4FED_11D3_8C9E_00C0F0405B24__INCLUDED_)
  5. #define AFX_CTelnetVIEW_H__243EC4A1_4FED_11D3_8C9E_00C0F0405B24__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. class CTelnetDoc;
  10. class CClientSocket;
  11. const unsigned char IAC = 255;
  12. const unsigned char DO = 253;
  13. const unsigned char DONT = 254;
  14. const unsigned char WILL = 251;
  15. const unsigned char WONT = 252;
  16. const unsigned char SB = 250;
  17. const unsigned char SE = 240;
  18. const unsigned char IS = '0';
  19. const unsigned char SEND = '1';
  20. const unsigned char INFO = '2';
  21. const unsigned char VAR = '0';
  22. const unsigned char VALUE = '1';
  23. const unsigned char ESC = '2';
  24. const unsigned char USERVAR = '3';
  25. #define bufferLines 100
  26. #define dtX 15
  27. #define dtY 13
  28. #define ioBuffSize 1024
  29. class CTelnetView : public CScrollView
  30. {
  31. protected: // create from serialization only
  32. CTelnetView();
  33. DECLARE_DYNCREATE(CTelnetView)
  34. COLORREF cTextColor;
  35. COLORREF cBackgroundColor;
  36. CString cHostName;
  37. //telnet related operations and variables
  38. public:
  39. CClientSocket * cSock;
  40. void ArrangeReply(CString strOption);
  41. CString m_strNormalText;
  42. void RespondToOptions();
  43. void ProcessOptions();
  44. int TempCounter;
  45. CString m_strOptions;
  46. CStringList m_ListOptions;
  47. BOOL bNegotiating;
  48. BOOL bOptionsSent;
  49. CString m_strResp;
  50. CString m_strLine;
  51. unsigned char m_bBuf[ioBuffSize];
  52. BOOL GetLine( unsigned char * bytes, int nBytes, int& ndx );
  53. void DispatchMessage(CString strText);
  54. void ProcessMessage(CClientSocket * cSocket);
  55. char cText[80][bufferLines];
  56. long cCursX;
  57. CString m_strline;
  58. void DrawCursor(CDC * pDC, BOOL pDraw);
  59. void DoDraw(CDC* pDC);
  60. private:
  61. void MessageReceived(LPCSTR pText);
  62. // Attributes
  63. public:
  64. CTelnetDoc* GetDocument();
  65. // Operations
  66. public:
  67. // Overrides
  68. // ClassWizard generated virtual function overrides
  69. //{{AFX_VIRTUAL(CTelnetView)
  70. public:
  71. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  72. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  73. protected:
  74. virtual void OnInitialUpdate(); // called first time after construct
  75. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  76. virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
  77. virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
  78. //}}AFX_VIRTUAL
  79. // Implementation
  80. public:
  81. int Find(CString str, char ch);
  82. virtual ~CTelnetView();
  83. #ifdef _DEBUG
  84. virtual void AssertValid() const;
  85. virtual void Dump(CDumpContext& dc) const;
  86. #endif
  87. protected:
  88. // Generated message map functions
  89. protected:
  90. //{{AFX_MSG(CTelnetView)
  91. afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
  92. afx_msg void OnSize(UINT nType, int cx, int cy);
  93. afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  94. //}}AFX_MSG
  95. DECLARE_MESSAGE_MAP()
  96. };
  97. #ifndef _DEBUG  // debug version in CTelnetView.cpp
  98. inline CTelnetDoc* CTelnetView::GetDocument()
  99.    { return (CTelnetDoc*)m_pDocument; }
  100. #endif
  101. /////////////////////////////////////////////////////////////////////////////
  102. //{{AFX_INSERT_LOCATION}}
  103. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  104. #endif // !defined(AFX_CTelnetVIEW_H__243EC4A1_4FED_11D3_8C9E_00C0F0405B24__INCLUDED_)