www.pudn.com > mime.rar > CMimeString.h


#ifndef _H_CMimeString_ 
#define _H_CMimeString_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif // _MSC_VER > 1000 
 
 
#include "CMimeAlgo.h" 
 
 
class CMimeString 
{ 
//const 
public: 
	enum PROCESSTYPE 
	{ 
		ENCODING = 0, 
		DECODING = 1 
	}; 
	enum ENCODETYPE 
	{ 
		WYMIME = 0, 
		BASE64 = 1 
	}; 
 
 
//con de 
public: 
	CMimeString(PROCESSTYPE inProcessType, ENCODETYPE inEncodeType, CString & inStr); 
	CMimeString(PROCESSTYPE inProcessType, ENCODETYPE inEncodeType, unsigned char * inBuf, int inBufLen); 
	virtual ~CMimeString(); 
 
 
//interface 
public: 
	int GetBufLen(void); 
	unsigned char * GetBuf(void); 
	unsigned char * GetFirstPart(int inPartLen); 
	unsigned char * GetNextPart(void); 
	operator LPCTSTR() const; //cast operator 
 
 
//implement var 
protected: 
	CMimeAlgo *			mAlgo; 
	unsigned char *		mBuf; 
	int					mBufLen; 
	unsigned char		mSaveCut;//worker unit//used when processing every part 
	int					mPartLen;//init once 
	int					mNextPart;//cursor //used before processing every part 
 
//implement helper 
protected: 
	void Init(PROCESSTYPE inProcessType, ENCODETYPE inEncodeType, unsigned char * inBuf, int inBufLen); 
 
}; 
 
#endif