www.pudn.com > zmodemclass.zip > ZModemComm.h


//----------------------------------------------------------------------------- 
// project:		ZModem 
// author:		Frank Weiler, Genshagen, Germany 
// version:		0.91 
// date:		October 10, 2000 
// email:		frank@weilersplace.de 
// copyright:	This Software is OpenSource. 
// file:		ZModemComm.h 
// description:	a class to handle all the communication stuff for ZModem 
//----------------------------------------------------------------------------- 
 
#if !defined(AFX_ZMODEMCOMM_H__6A43214C_9C2E_11D4_8639_F6B82A27C85A__INCLUDED_) 
#define AFX_ZMODEMCOMM_H__6A43214C_9C2E_11D4_8639_F6B82A27C85A__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
class ZMODEM CZModemComm   
{ 
public: 
	void ResetAll(); 
	CZModemComm(HANDLE hcomm,HANDLE hCancelEvent); 
	void GetBlock(void *buffer,DWORD max,LPDWORD actual); 
	void GetBlockImm(void *buffer,DWORD max,LPDWORD actual); 
	DWORD WriteBlock(void* buf,DWORD max); 
	void ClearInbound(); 
	virtual ~CZModemComm(); 
protected: 
	DWORD WriteBuffer(void* buffer, DWORD num); 
	DWORD ReadBuffer(void* buffer, DWORD num); 
	bool SetupReadEvent(LPOVERLAPPED lpOverlappedRead,void* lpszInputBuffer, 
                          DWORD dwSizeofBuffer,LPDWORD lpnNumberOfBytesRead); 
	bool HandleReadEvent(LPOVERLAPPED lpOverlappedRead,void* lpszInputBuffer, 
                           DWORD dwSizeofBuffer,LPDWORD lpnNumberOfBytesRead); 
 
	HANDLE m_hcomm; 
	HANDLE m_hCancelEvent; 
}; 
 
#endif // !defined(AFX_ZMODEMCOMM_H__6A43214C_9C2E_11D4_8639_F6B82A27C85A__INCLUDED_)