www.pudn.com > NETINFO.rar > EmailDecode.h


#ifndef _EMAILDECODE_H_ 
#define _EMAILDECODE_H_ 
 
class CTransferDecoder 
{ 
public: 
	CTransferDecoder(){}; 
	virtual ~CTransferDecoder(){}; 
	virtual BOOL Decode(const char* input, int inputStrlen, char* output,  
						int outputBufSize, int* outLength) = 0; 
}; 
 
class C7bit8bitTranferDecoder:public CTransferDecoder 
{ 
public: 
	C7bit8bitTranferDecoder(){}; 
	virtual ~C7bit8bitTranferDecoder(){}; 
	virtual BOOL Decode(const char* input, int inputStrlen, char* output,  
						int outputBufSize, int* outLength); 
}; 
 
class CQPTranferDecoder:public CTransferDecoder 
{ 
public: 
	CQPTranferDecoder(){}; 
	virtual ~CQPTranferDecoder(){}; 
	virtual BOOL Decode(const char* input, int inputStrlen, char* output,  
						int outputBufSize, int* outLength); 
}; 
 
class CBase64TranferDecoder:public CTransferDecoder 
{ 
public: 
	CBase64TranferDecoder(){memset(m_szRemain, 0, sizeof(m_szRemain));}; 
	virtual ~CBase64TranferDecoder(){}; 
	virtual BOOL Decode(const char* input, int inputStrlen, char* output,  
						int outputBufSize, int* outLength); 
private: 
	char m_szRemain[4]; 
}; 
 
BOOL HeaderDecode(const char* input, int inputStrlen, char* output,  
				  int outputBufSize, int *outLength); 
 
#endif