www.pudn.com > doc2pdf-0_7_1.rar > doc2pdf_io.h


///////////////////////////////////////////////////////////////////////////// 
//  
// Project:		Doc2pdf 
// 
// File:		doc2pdf_io.h 
// 
// Author(s):	Matt Peterson  
// 
// Description:	I/O classes  
// 
///////////////////////////////////////////////////////////////////////////// 
 
#ifndef DOC2PDF_SOCKET_H_INCLUDED 
#define DOC2PDF_SOCKET_H_INCLUDED 
 
#include "stdafx.h" 
 
#define MAX_IO_WAIT		60 // seconds 
 
 
//=========================================================================== 
// IO interface class 
class Doc2pdfIO 
{ 
public: 
	virtual int WriteLine(const CString& line) = 0; 
	virtual int WriteLine(const char* line) = 0; 
	virtual int Write(void* buf, int bufsize) = 0; 
	virtual int ReadLine(CString& line) = 0; 
}; 
	 
//=========================================================================== 
// Sockets class that actually does something 
class Doc2pdfSocket : public Doc2pdfIO 
{ 
protected: 
	SOCKET m_Sock; 
 
public: 
	 
	// Constructor 
	Doc2pdfSocket(); 
 
	// Destructor 
	~Doc2pdfSocket(); 
 
	// Connects to a host. Returns zero on success, WSAError on failure 
	int Connect(const CString& host, unsigned short port); 
	 
	// Writes a line. Returns zero on success, WSAError on failure  
	int WriteLine(const CString& line); 
 
	// Reads a line. Returns zero on success, WSAError on failure 
	int WriteLine(LPCSTR line); 
 
	// Reads a line. Returns zero on success, WSAError on failure 
	int Write(void* buf, int bufsize); 
 
	// Reads a line. Returns zero on success, WSAError on failure 
	int ReadLine(CString& line); 
 
	// Closes socket 
	int Close(); 
}; 
 
 
//=========================================================================== 
// Sockets class that actually does something 
class Doc2pdfFile : public Doc2pdfIO 
{ 
protected: 
	int m_Fd; 
 
public: 
	 
	// Constructor 
	Doc2pdfFile(); 
 
	// Destructor 
	~Doc2pdfFile(); 
 
	// Connects to a host. Returns zero on success, WSAError on failure 
	int Connect(const CString& host, unsigned short port); 
	 
	// Writes a line. Returns zero on success, WSAError on failure  
	int WriteLine(const CString& line); 
 
	// Reads a line. Returns zero on success, WSAError on failure 
	int WriteLine(LPCSTR line); 
 
	// Reads a line. Returns zero on success, WSAError on failure 
	int ReadLine(CString& line); 
 
	// Closes socket 
	int Close(); 
}; 
 
#endif