#ifndef _SMTP_MAILREG_HPP_ #define _SMTP_MAILREG_HPP_ #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_REGKEY_HPP_ #include #endif #ifndef _SMTP_MAIL_HPP_ #include #endif class MailReg { public: MailReg(void); MailReg(const MailReg &someMailReg); virtual ~MailReg(); MailReg &operator=(const MailReg &someMailReg); BOOL getRecipients(Block &recipients); void setRecipients(const Block &recipients); BOOL addRecipient(const String &recipient); BOOL getReversePaths(Block &reversePaths); void setReversePaths(const Block &reversePaths); BOOL addReversePath(const String &reversePath); const String &server(void)const; void server(const String &serverName); private: BOOL isInBlock(const String &recipient,Block &recipients); RegKey mRegKey; String mMailKeyName; String mServerKeyName; String mRecipientsKeyName; String mServerName; }; inline MailReg::MailReg(void) : mMailKeyName(STRING_MAILKEYNAME), mServerKeyName(STRING_SERVERKEYNAME) { if(!mRegKey.openKey(mMailKeyName)) { mRegKey.createKey(mMailKeyName,""); mRegKey.openKey(mMailKeyName); } mRegKey.queryValue(mServerKeyName,mServerName); } inline MailReg::MailReg(const MailReg &someMailReg) : mMailKeyName(STRING_MAILKEYNAME), mServerKeyName(STRING_SERVERKEYNAME) { *this=someMailReg; } inline MailReg::~MailReg() { } inline MailReg &MailReg::operator=(const MailReg &someMailReg) { server(someMailReg.server()); return *this; } inline const String &MailReg::server(void)const { return mServerName; } inline void MailReg::server(const String &serverName) { mServerName=serverName; mRegKey.setValue(mServerKeyName,mServerName); } #endif