Tardefs.cpp
上传用户:czjinwang
上传日期:2007-01-12
资源大小:2484k
文件大小:6k
源码类别:

SNMP编程

开发平台:

Visual C++

  1. /*============================================================================
  2.   Copyright (c) 1996
  3.   Hewlett-Packard Company
  4.   ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
  5.   Permission to use, copy, modify, distribute and/or sell this software 
  6.   and/or its documentation is hereby granted without fee. User agrees 
  7.   to display the above copyright notice and this license notice in all 
  8.   copies of the software and any documentation of the software. User 
  9.   agrees to assume all liability for the use of the software; Hewlett-Packard 
  10.   makes no representations about the suitability of this software for any 
  11.   purpose. It is provided "AS-IS without warranty of any kind,either express 
  12.   or implied. User hereby grants a royalty-free license to any and all 
  13.   derivatives based upon this software code base. 
  14. =============================================================================*/
  15. #include "stdafx.h"
  16. #include "browser.h"
  17. #include "Tardefs.h"
  18. #include "tarinc.h"
  19. #ifdef _DEBUG
  20. #define new DEBUG_NEW
  21. #undef THIS_FILE
  22. static char THIS_FILE[] = __FILE__;
  23. #endif
  24. /////////////////////////////////////////////////////////////////////////////
  25. // Tardefs property page
  26. IMPLEMENT_DYNCREATE(Tardefs, CPropertyPage)
  27. Tardefs::Tardefs() : CPropertyPage(Tardefs::IDD)
  28. {
  29. //{{AFX_DATA_INIT(Tardefs)
  30. m_db_name = _T("");
  31. m_read_community = _T("");
  32. m_write_community = _T("");
  33. m_retries = 0;
  34. m_timeout = 0;
  35. //}}AFX_DATA_INIT
  36. }
  37. Tardefs::~Tardefs()
  38. {
  39. }
  40. void Tardefs::DoDataExchange(CDataExchange* pDX)
  41. {
  42. CPropertyPage::DoDataExchange(pDX);
  43. //{{AFX_DATA_MAP(Tardefs)
  44. DDX_Text(pDX, IDC_TARGET_DB_NAME, m_db_name);
  45. DDV_MaxChars(pDX, m_db_name, 40);
  46. DDX_Text(pDX, IDC_READ_COMMUNITY, m_read_community);
  47. DDV_MaxChars(pDX, m_read_community, 80);
  48. DDX_Text(pDX, IDC_WRITE_COMMUNITY, m_write_community);
  49. DDV_MaxChars(pDX, m_write_community, 80);
  50. DDX_Text(pDX, IDC_RETRIES, m_retries);
  51. DDX_Text(pDX, IDC_TIMEOUT, m_timeout);
  52. //}}AFX_DATA_MAP
  53. }
  54. BEGIN_MESSAGE_MAP(Tardefs, CPropertyPage)
  55. //{{AFX_MSG_MAP(Tardefs)
  56. ON_BN_CLICKED(IDSAVE, OnSave)
  57. ON_WM_HSCROLL()
  58. //}}AFX_MSG_MAP
  59. END_MESSAGE_MAP()
  60. /////////////////////////////////////////////////////////////////////////////
  61. // Tardefs message handlers
  62. BOOL Tardefs::OnInitDialog() 
  63. {
  64. CPropertyPage::OnInitDialog();
  65. // TODO: Add extra initialization here
  66. // look in registery for info
  67. // if not found, assume defaults
  68. CString temp;
  69. // get the defaults
  70. m_db_name = theApp.GetProfileString( BROWSER_VALUE,DB_NAME,DEF_DB_NAME);
  71. m_read_community = theApp.GetProfileString( BROWSER_VALUE,READ_COMMUNITY,PUBLIC);
  72. m_write_community = theApp.GetProfileString( BROWSER_VALUE,WRITE_COMMUNITY,PUBLIC);
  73. m_timeout = theApp.GetProfileInt( BROWSER_VALUE,TIMEOUT,DEF_TIMEOUT);
  74. m_retries = theApp.GetProfileInt( BROWSER_VALUE,RETRIES,DEF_RETRIES);
  75. temp = theApp.GetProfileString( BROWSER_VALUE,PROTOCOL,IP);
  76. if ( strcmp( temp,IP) == 0)
  77.   CheckRadioButton( IDC_RADIO_IP,IDC_RADIO_IPX,IDC_RADIO_IP);
  78. else
  79.    CheckRadioButton( IDC_RADIO_IP,IDC_RADIO_IPX,IDC_RADIO_IPX);
  80. temp = theApp.GetProfileString( BROWSER_VALUE,SNMPTYPE,V1);
  81. if ( strcmp( temp,V1) == 0)
  82.   CheckRadioButton( IDC_RADIO_V1,IDC_RADIO_V2C,IDC_RADIO_V1);
  83. else
  84.   CheckRadioButton( IDC_RADIO_V1,IDC_RADIO_V2C,IDC_RADIO_V2C);
  85. // set up the slider controls
  86. CSliderCtrl *slider;
  87. slider = (CSliderCtrl *) GetDlgItem( IDC_SLIDER_TIMEOUT);
  88. slider->SetRange(50,500);
  89. slider->SetPos( m_timeout);
  90. slider = (CSliderCtrl *) GetDlgItem( IDC_SLIDER_RETRIES);
  91. slider->SetRange(0,5);
  92. slider->SetPos( m_retries);
  93. UpdateData( FALSE);
  94. return TRUE;  // return TRUE unless you set the focus to a control
  95.               // EXCEPTION: OCX Property Pages should return FALSE
  96. }
  97. void Tardefs::OnSave() 
  98. {
  99. // TODO: Add your control notification handler code here
  100. // write the default settings out
  101. UpdateData( TRUE);
  102. // v2c not allowed in this version
  103. if ( GetCheckedRadioButton( IDC_RADIO_V1, IDC_RADIO_V2C) == IDC_RADIO_V2C)
  104. {
  105. AfxMessageBox("V2c Not Supported in this version!");
  106. return;
  107.     }
  108. theApp.WriteProfileString( BROWSER_VALUE,DB_NAME,m_db_name);
  109. theApp.WriteProfileString( BROWSER_VALUE,READ_COMMUNITY,m_read_community);
  110. theApp.WriteProfileString( BROWSER_VALUE,WRITE_COMMUNITY,m_write_community);
  111. theApp.WriteProfileInt( BROWSER_VALUE,TIMEOUT,m_timeout);
  112. theApp.WriteProfileInt( BROWSER_VALUE,RETRIES,m_retries);
  113. if ( GetCheckedRadioButton( IDC_RADIO_IP, IDC_RADIO_IPX) == IDC_RADIO_IP)
  114. theApp.WriteProfileString( BROWSER_VALUE,PROTOCOL,IP);
  115. else
  116. theApp.WriteProfileString( BROWSER_VALUE,PROTOCOL,IPX);
  117. if ( GetCheckedRadioButton( IDC_RADIO_V1, IDC_RADIO_V2C) == IDC_RADIO_V1)
  118. theApp.WriteProfileString( BROWSER_VALUE,SNMPTYPE,V1);
  119. else
  120. theApp.WriteProfileString( BROWSER_VALUE,SNMPTYPE,V2C);
  121. }
  122. void Tardefs::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
  123. {
  124. // TODO: Add your message handler code here and/or call default
  125. // determine which  slider bar it is
  126. CSliderCtrl *slider_retries, *slider_timeouts;
  127. slider_timeouts = (CSliderCtrl *) GetDlgItem( IDC_SLIDER_TIMEOUT);
  128. slider_retries = (CSliderCtrl *) GetDlgItem( IDC_SLIDER_RETRIES);
  129. if ( (CSliderCtrl *) pScrollBar == slider_timeouts)
  130. {
  131.    m_timeout = slider_timeouts->GetPos();
  132.    UpdateData( FALSE);
  133. }
  134. if ( (CSliderCtrl *) pScrollBar == slider_retries)
  135. {
  136.    m_retries = slider_retries->GetPos();
  137.    UpdateData( FALSE);
  138. }
  139. CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
  140. }
  141. void Tardefs::OnCancel() 
  142. {
  143. // TODO: Add extra cleanup here
  144. CWnd *parent;
  145. parent = GetParent();
  146. parent->DestroyWindow();
  147. }