MainFrm.h
上传用户:hbytqc8
上传日期:2014-07-31
资源大小:527k
文件大小:3k
源码类别:

SNMP编程

开发平台:

Visual C++

  1. // MainFrm.h : interface of the CMainFrame class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MAINFRM_H__E6C940E7_31C3_4826_8A9D_B01184F08820__INCLUDED_)
  5. #define AFX_MAINFRM_H__E6C940E7_31C3_4826_8A9D_B01184F08820__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "MyStringArray.h"
  10. #include "MapView.h"
  11. #include "NetMapView.h"
  12. #include "VlanView.h"
  13. #include "MyImage.h"
  14. #include <AfxTempl.h>
  15. class CMainFrame : public CFrameWnd
  16. {
  17. protected: // create from serialization only
  18. CMainFrame();
  19. DECLARE_DYNCREATE(CMainFrame)
  20. // Attributes
  21. public:
  22. HTREEITEM HRoot;
  23. HTREEITEM HCurrent;
  24. HTREEITEM HSelect;
  25. CArray <HTREEITEM,HTREEITEM> NodeArray;
  26. //为简化树的遍历,维护一个树中所有节点句柄组成的动态数组;
  27. CSplitterWnd h,v;
  28. //分割主窗口;
  29. CMapView *pListView;
  30. CNetMapView *pNetMapView;
  31. CVlanView *pVlanView;
  32. //保存指向三个视图的指针;
  33. MyStringArray m_snmp; 
  34. struct neighbor
  35. {
  36.    HTREEITEM Id;
  37.    //邻居节点的句柄;
  38.    CString localport;
  39.    CString remoteport;
  40. };
  41. //保存连接信息的结构,一个节点的每个物理连接对应这样的一个结构。
  42. //由于一个节点的连接数目不确定,因此下面的结构中将这个结构作为
  43. //一个动态数组中的元素定义;
  44. struct NodeData
  45. {
  46. CString ip;
  47. CString sysDescr;
  48. bool scan;
  49. int level;
  50. int position;
  51. bool router;
  52.     CMyImage *pImage;
  53.     CArray <neighbor,neighbor&> m_neighbor; 
  54. };
  55. //用来存放节点信息的结构;
  56. NodeData *pNodeData;
  57. //指向该结构的指针;
  58. //
  59. // Operations
  60. public:
  61. HTREEITEM FindNode(HTREEITEM hSubRoot,const CString &text);
  62. bool Findport(CString &port,NodeData *p);
  63. CString HtoIP(CString Hex);
  64. //将16进制的IP地址转化为正常格式的函数;
  65. void ScanNode(CString &add,CString &community,HTREEITEM hparent);
  66. //扫描一个节点,并处理所得到的CDP条目的函数;
  67. BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
  68. //分割窗口需要的函数;
  69. // Overrides
  70. // ClassWizard generated virtual function overrides
  71. //{{AFX_VIRTUAL(CMainFrame)
  72. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  73. //}}AFX_VIRTUAL
  74. // Implementation
  75. public:
  76. virtual ~CMainFrame();
  77. #ifdef _DEBUG
  78. virtual void AssertValid() const;
  79. virtual void Dump(CDumpContext& dc) const;
  80. #endif
  81. protected:  // control bar embedded members
  82. CStatusBar  m_wndStatusBar;
  83. CToolBar    m_wndToolBar;
  84.    // Generated message map functions
  85. protected:
  86. //{{AFX_MSG(CMainFrame)
  87. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  88. afx_msg void OnScan();
  89. afx_msg void OnGraph();
  90. afx_msg void OnShowinformation();
  91. afx_msg void OnNodeModify();
  92. //}}AFX_MSG
  93. DECLARE_MESSAGE_MAP()
  94. };
  95. /////////////////////////////////////////////////////////////////////////////
  96. //{{AFX_INSERT_LOCATION}}
  97. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  98. #endif // !defined(AFX_MAINFRM_H__E6C940E7_31C3_4826_8A9D_B01184F08820__INCLUDED_)