www.pudn.com > RPort.rar > PortThread.h
#if !defined(AFX_PORTTHREAD_H__739BA0CA_34F6_42EC_B046_B7AB4D9C7AF2__INCLUDED_)
#define AFX_PORTTHREAD_H__739BA0CA_34F6_42EC_B046_B7AB4D9C7AF2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// PortThread.h : header file
//
#define INTERNALTIMER 50
#define SERVERPORTBASE 960
class CPortThread;
struct RPortState
{
int bOpened;
int nPort;
CString strClientIp;
UINT nClientPort;
int nBaud;
CString strParity,strData,strStop,strDtr,strRts;
CString GetInfo();
};
#include
#include
extern CArray g_arrPortState;
extern CCriticalSection g_csPortState;
/////////////////////////////////////////////////////////////////////////////
// CServerSocket command target
class CServerSocket : public CSocket
{
// Attributes
public:
// Operations
public:
CServerSocket();
virtual ~CServerSocket();
// Overrides
public:
CPortThread * m_pThread;
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CServerSocket)
public:
virtual void OnAccept(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CServerSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
};
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// CConnectSocket command target
class CConnectSocket : public CSocket
{
// Attributes
public:
// Operations
public:
CConnectSocket();
virtual ~CConnectSocket();
// Overrides
public:
CPortThread * m_pThread;
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CConnectSocket)
public:
virtual void OnClose(int nErrorCode);
//}}AFX_VIRTUAL
// Generated message map functions
//{{AFX_MSG(CConnectSocket)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
// Implementation
protected:
};
/////////////////////////////////////////////////////////////////////////////
// CPortThread thread
class CPortThread : public CWinThread
{
DECLARE_DYNCREATE(CPortThread)
protected:
CPortThread(); // protected constructor used by dynamic creation
BYTE m_Buffer[18];
int m_nbufCount, m_nBufDesired;
BOOL m_bCommandReceiving, m_bPreIsFF;
int m_nTimerCount;
// Attributes
public:
// Operations
public:
void ReportState(DWORD dwError);
void CommandProc();
BOOL OpenPort();
void ClosePort();
UINT m_hTimer,m_nIndex;
CString m_strPort;
HWND m_hWnd;
HANDLE m_hFile;
CServerSocket m_sServer;
CConnectSocket *m_pConnect;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPortThread)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CPortThread();
// Generated message map functions
//{{AFX_MSG(CPortThread)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PORTTHREAD_H__739BA0CA_34F6_42EC_B046_B7AB4D9C7AF2__INCLUDED_)