www.pudn.com > EthernetSpy.zip > EthernetSpyPckTypeDlg.cpp


// EthernetSpyPckTypeDlg.cpp : implementation file 
// 
 
#include "stdafx.h" 
 
#include "packet32.h" 
#include "EthernetSpy.h" 
#include "EthernetSpyReader.h" 
#include "EthernetSpyPckTypeDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CEthernetSpyPckTypeDlg dialog 
 
 
CEthernetSpyPckTypeDlg::CEthernetSpyPckTypeDlg(EthernetSpyReader* _SpyReader, CWnd* pParent /*=NULL*/) 
	: CDialog(CEthernetSpyPckTypeDlg::IDD, pParent) 
{ 
	SpyReader = _SpyReader; 
	uiTimer = 0; 
	MyParent = pParent; 
 
	//{{AFX_DATA_INIT(CEthernetSpyPckTypeDlg) 
		// NOTE: the ClassWizard will add member initialization here 
	//}}AFX_DATA_INIT 
} 
 
 
void CEthernetSpyPckTypeDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CEthernetSpyPckTypeDlg) 
		// NOTE: the ClassWizard will add DDX and DDV calls here 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CEthernetSpyPckTypeDlg, CDialog) 
	//{{AFX_MSG_MAP(CEthernetSpyPckTypeDlg) 
	ON_WM_TIMER() 
	ON_BN_CLICKED(IDC_START, OnStart) 
	ON_BN_CLICKED(IDC_STOP, OnStop) 
	ON_BN_CLICKED(IDC_RESET, OnReset) 
	ON_WM_CLOSE() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CEthernetSpyPckTypeDlg message handlers 
 
BOOL CEthernetSpyPckTypeDlg::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	// TODO: Add extra initialization here 
	uiTimer = SetTimer(1, SpyReader->RefreshTime, NULL); 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
 
void CEthernetSpyPckTypeDlg::OnTimer(UINT nIDEvent)  
{ 
	// TODO: Add your message handler code here and/or call default 
	TCHAR buffer[255]; 
	ULONG IP, X75, X25, ARP, Banyan, DecMop1, DecMop2, DecNet, DecLat, DecDiagnostic, DecLanBridge, DecEthEncr, AppleTalk, IBMSna, NetWare, SNMP, IEEE802_3, Unknown; 
 
	CDialog::OnTimer(nIDEvent); 
 
	EnterCriticalSection(&(SpyReader->CritSecCounters)); 
	{ 
		IP = SpyReader->Stats.IP; 
		X75 = SpyReader->Stats.X75; 
		X25 = SpyReader->Stats.X25; 
		ARP = SpyReader->Stats.ARP; 
		Banyan = SpyReader->Stats.Banyan; 
		DecMop1 = SpyReader->Stats.DecMop1; 
		DecMop2 = SpyReader->Stats.DecMop2; 
		DecNet = SpyReader->Stats.DecNet; 
		DecLat = SpyReader->Stats.DecLat; 
		DecDiagnostic = SpyReader->Stats.DecDiagnostic; 
		DecLanBridge = SpyReader->Stats.DecLanBridge; 
		DecEthEncr = SpyReader->Stats.DecEthEncr; 
		AppleTalk = SpyReader->Stats.AppleTalk; 
		IBMSna = SpyReader->Stats.IBMSna; 
		NetWare = SpyReader->Stats.NetWare; 
		SNMP = SpyReader->Stats.SNMP; 
		IEEE802_3 = SpyReader->Stats.IEEE802_3; 
		Unknown = SpyReader->Stats.Unknown; 
	} 
	LeaveCriticalSection(&(SpyReader->CritSecCounters)); 
	 
	wsprintf(buffer, TEXT("%lu"), IP); 
	SetDlgItemText(IDC_TCPIP, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), X75); 
	SetDlgItemText(IDC_X75, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), X25); 
	SetDlgItemText(IDC_X25, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), ARP); 
	SetDlgItemText(IDC_ARP, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), Banyan); 
	SetDlgItemText(IDC_BANYAN, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecMop1); 
	SetDlgItemText(IDC_DECMOP1, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecMop2); 
	SetDlgItemText(IDC_DECMOP2, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecNet); 
	SetDlgItemText(IDC_DECNET, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecLat); 
	SetDlgItemText(IDC_DECLAT, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecDiagnostic); 
	SetDlgItemText(IDC_DECDIAG, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecLanBridge); 
	SetDlgItemText(IDC_DECLANBRIDGE, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), DecEthEncr); 
	SetDlgItemText(IDC_DECETHENCR, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), AppleTalk); 
	SetDlgItemText(IDC_APPLETALK, buffer); 
	 
	wsprintf(buffer, TEXT("%lu"), IBMSna); 
	SetDlgItemText(IDC_IBMSNA, buffer); 
	 
	wsprintf(buffer, TEXT("%lu"), NetWare); 
	SetDlgItemText(IDC_NETWARE, buffer); 
	 
	wsprintf(buffer, TEXT("%lu"), SNMP); 
	SetDlgItemText(IDC_SNMP, buffer); 
	 
	wsprintf(buffer, TEXT("%lu"), IEEE802_3); 
	SetDlgItemText(IDC_IEEE, buffer); 
 
	wsprintf(buffer, TEXT("%lu"), Unknown); 
	SetDlgItemText(IDC_UNKNOWN, buffer); 
} 
 
void CEthernetSpyPckTypeDlg::OnStart()  
{ 
	if( uiTimer == 0 ) 
	{ 
		uiTimer = SetTimer(1, SpyReader->RefreshTime, NULL); 
		GetDlgItem(IDC_START)->EnableWindow(FALSE); 
		GetDlgItem(IDC_STOP)->EnableWindow(TRUE); 
	} 
	else 
	{ 
		return; 
	}	 
} 
 
void CEthernetSpyPckTypeDlg::OnStop()  
{ 
	if( uiTimer == 0 ) 
	{ 
		return; 
	} 
	else 
	{ 
		KillTimer(uiTimer); 
		uiTimer = 0; 
		GetDlgItem(IDC_START)->EnableWindow(TRUE); 
		GetDlgItem(IDC_STOP)->EnableWindow(FALSE); 
	}		 
} 
 
void CEthernetSpyPckTypeDlg::OnReset()  
{ 
	SpyReader->ClearTypeStats(); 
} 
 
void CEthernetSpyPckTypeDlg::OnClose()  
{ 
	MyParent->SendMessage( WM_PCKTYPEDLGCLOSE ); 
 
	CDialog::OnClose(); 
	KillTimer(uiTimer); 
}