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_