www.pudn.com > popmail.zip > POPLevel.h


// POPLevel.h : Declaration of the CPOPLevel 
 
#ifndef __POPLEVEL_H_ 
#define __POPLEVEL_H_ 
 
#include "resource.h"       // main symbols 
#include  
#include "pop3.h" 
 
///////////////////////////////////////////////////////////////////////////// 
// CPOPLevel 
 
class CSmartWSA; 
 
class ATL_NO_VTABLE CPOPLevel :  
	public CComObjectRootEx, 
	public CComCoClass, 
	public ISupportErrorInfo, 
	public IDispatchImpl 
{ 
public: 
	CPOPLevel() 
	{ 
	} 
 
DECLARE_REGISTRY_RESOURCEID(IDR_POPLEVEL) 
 
DECLARE_PROTECT_FINAL_CONSTRUCT() 
 
BEGIN_COM_MAP(CPOPLevel) 
	COM_INTERFACE_ENTRY(IPOPLevel) 
	COM_INTERFACE_ENTRY(IDispatch) 
	COM_INTERFACE_ENTRY(ISupportErrorInfo) 
END_COM_MAP() 
 
// ISupportsErrorInfo 
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); 
 
// IPOPLevel 
public: 
	STDMETHOD(get_Header)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(get_AttachedFiles)(/*[out, retval]*/ BSTR* pVal); 
	STDMETHOD(get_Date)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(get_CC)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(get_To)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(get_From)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(get_Body)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(GetMail)(long a_lMailNum, long a_lDelete); 
	STDMETHOD(GetMailCount)(long* a_plCount); 
	STDMETHOD(Disconnect)(); 
	STDMETHOD(Connect)(); 
	STDMETHOD(get_Timeout)(/*[out, retval]*/ long *pVal); 
	STDMETHOD(put_Timeout)(/*[in]*/ long newVal); 
	STDMETHOD(get_Password)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(put_Password)(/*[in]*/ BSTR newVal); 
	STDMETHOD(get_User)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(put_User)(/*[in]*/ BSTR newVal); 
	STDMETHOD(get_Port)(/*[out, retval]*/ long *pVal); 
	STDMETHOD(put_Port)(/*[in]*/ long newVal); 
	STDMETHOD(get_Host)(/*[out, retval]*/ BSTR *pVal); 
	STDMETHOD(put_Host)(/*[in]*/ BSTR newVal); 
	STDMETHOD(get_Subject)(/*[out, retval]*/ BSTR *pVal); 
	 
	HRESULT		FinalConstruct(); 
	void		FinalRelease(); 
 
private: 
	CHAR		base64_get_value(LONG c) const; 
	bool		base64_valid(LONG c) const; 
 
private: 
	CPop3Connection*	m_pcPOP3; 
	bstr_t				m_bstHost; 
	DWORD				m_dwPort; 
	bstr_t				m_bstUser; 
	bstr_t				m_bstPassword; 
	CPop3Message		m_cMessage; 
	CSmartWSA*			m_pcSmartWSA; 
	bstr_t				m_bstAttachedFiles; 
	bstr_t				m_bstBody; 
}; 
 
#endif //__POPLEVEL_H_