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