www.pudn.com > gps-time.rar > Communication.h


// Communication.h: interface for the CCommunication class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_COMMUNICATION_H__36368C42_1E27_11D5_863E_444553540000__INCLUDED_) 
#define AFX_COMMUNICATION_H__36368C42_1E27_11D5_863E_444553540000__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
//管理串口类、Socket类、线程类 
#include "comport.h" 
 
class CRegionSocket; 
class CComThrd; 
class CProcDataThrd; 
typedef CArray ChEventArray; //the array of event 
 
 
class CCommunication : public CObject   
{ 
public: 
	void DegradeUserID(BYTE ID); 
	void Degrade(); 
	void SendCenter(); 
	int GetComIndexByPort(BYTE iPortNo); 
	BOOL CreateThreadEvents(); 
	void StopAllRunningThread(); 
	void ProcessCommData(); 
	void TryToReadAllComm(); 
	CCommunication(); 
	virtual ~CCommunication(); 
	//对串口类操作 
	BOOL AddTscCom(BYTE PortNo, DWORD dwBaudRate,BYTE DeviceType,BYTE DeviceNo,CString Depict);//增加串口 
	void DeleteTscCom(BYTE PortNo);//删除串口 
	void AdjustDevConnect();//判断设备是否超时 
	int FindComIndex(BYTE PortNo);//串口查询 
	//对线程操作 
	void StartProcData();// 表格处理线程开始 
	void StartComm();// 通讯口接收数据线程开始 
 
 
	//数据处理 
	void SendNotifyAllDev();//发设备状态通知给中心 
	void ConvertToDevice(BYTE DeviceType, BYTE DeviceNo, BYTE *tabBuff, int tabCount);//数据转发给串口设备 
	 
	BOOL Run(); 
	//BOOL FindEqualDevice(BYTE DeviceType,BYTE DeviceNo); 
	 
	 
	CComPortArray		m_aCom;			// 通讯口对象数组 
	ChEventArray		m_aProcessEvent;	// 表格处理通知事件数组 
	ChEventArray		m_aReceiveEvent;	// 通讯口接收数据事件数组 
	BYTE				m_cRegionNo;		// 区域号 
	CRegionSocket *		m_pServerSocket;	// 与中心连接的Socket 
private: 
	CComThrd * m_pCommThread;			// 通讯处理线程对象 
	CProcDataThrd * m_pProcessThread;		// 表格处理线程对象 
 
    CMutex  muxCommArray;  //存取通信口对象的互斥变量 
	HANDLE  ExitEvent;     //通知线程退出事件 
	HANDLE  ComChangeEvent,ProcessChangeEvent;  //打开或关闭新的端口通知事件 
 
	// lv change 060809 该函数变量为类变量 
	BYTE TmpBuff[m_MaxTableLen]; 
}; 
 
#endif // !defined(AFX_COMMUNICATION_H__36368C42_1E27_11D5_863E_444553540000__INCLUDED_)