// GCKMSDlg.h : header file
//

#if !defined(AFX_GCKMSDLG_H__8F032D5E_A4C7_44F9_8330_C36FD40B0F2C__INCLUDED_)
#define AFX_GCKMSDLG_H__8F032D5E_A4C7_44F9_8330_C36FD40B0F2C__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

/////////////////////////////////////////////////////////////////////////////
// CGCKMSDlg dialog

#include "vector"
#include "WSUDPS.h"
#include "WSTCPS.h"

class CGCKMSDlg : public CDialog
{
// Construction
public:
	void OnUDPS_Receive(int nErrorCode);
	void OnTCPS_Accept(int nErrorCode);
	void OnTCPS_Receive(int nErrorCode, CWSTCPS *socket);
	void OnTCPS_Close(int nErrorCode, CWSTCPS *socket);
	CGCKMSDlg(CWnd* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CGCKMSDlg)
	enum { IDD = IDD_GCKMS_DIALOG };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CGCKMSDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CGCKMSDlg)
	afx_msg void OnClose();
	virtual void OnCancel();
	virtual void OnOK();
	afx_msg void OnEndSession(BOOL bEnding);
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnTimer(UINT nIDEvent);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	CWSUDPS m_wsUDPS;
//	CWSUDPS test;
	std::vector <CWSTCPS*> m_wsTCPS_list;
	std::vector <int> m_ID_list;
	std::vector <CString> m_IP_list;
	std::vector <UINT> m_port_list;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_GCKMSDLG_H__8F032D5E_A4C7_44F9_8330_C36FD40B0F2C__INCLUDED_)
