#ifndef _RASAPI_RASDIALPARAMS_HPP_ #define _RASAPI_RASDIALPARAMS_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_RAS_HPP_ #include #endif class RasDialParams : private tagRASDIALPARAMSA { public: RasDialParams(void); RasDialParams(const RasDialParams &someRasDialParams); virtual ~RasDialParams(); RasDialParams &operator=(const RasDialParams &someRasDialParams); WORD operator==(const RasDialParams &someRasDialParams); String entryName(void)const; void entryName(String entryName); String phoneNumber(void)const; void phoneNumber(String phoneNumber); String callbackNumber(void)const; void callbackNumber(String callbackNumber); String userName(void)const; void userName(String userName); String password(void)const; void password(String password); String domain(void)const; void domain(String domain); private: void setZero(void); }; inline RasDialParams::RasDialParams(void) { tagRASDIALPARAMSA::dwSize=sizeof(tagRASDIALPARAMSA); } inline RasDialParams::RasDialParams(const RasDialParams &someRasDialParams) { *this=someRasDialParams; } inline RasDialParams::~RasDialParams() { } inline RasDialParams &RasDialParams::operator=(const RasDialParams &someRasDialParams) { tagRASDIALPARAMSA::dwSize=sizeof(tagRASDIALPARAMSA); entryName(someRasDialParams.entryName()); phoneNumber(someRasDialParams.phoneNumber()); callbackNumber(someRasDialParams.callbackNumber()); userName(someRasDialParams.userName()); password(someRasDialParams.password()); domain(someRasDialParams.domain()); return *this; } inline WORD RasDialParams::operator==(const RasDialParams &someRasDialParams) { return (entryName()==someRasDialParams.entryName()&& phoneNumber()==someRasDialParams.phoneNumber()&& callbackNumber()==someRasDialParams.callbackNumber()&& userName()==someRasDialParams.userName()&& password()==someRasDialParams.password()&& domain()==someRasDialParams.domain()); } inline String RasDialParams::entryName(void)const { return tagRASDIALPARAMSA::szEntryName; } inline void RasDialParams::entryName(String entryName) { ::memset(tagRASDIALPARAMSA::szEntryName,0,sizeof(tagRASDIALPARAMSA::szEntryName)); if(entryName.isNull())return; if(entryName.length()>RAS_MaxEntryName)entryName.length(RAS_MaxEntryName); ::memcpy(tagRASDIALPARAMSA::szEntryName,(LPSTR)entryName,entryName.length()); } inline String RasDialParams::phoneNumber(void)const { return tagRASDIALPARAMSA::szPhoneNumber; } inline void RasDialParams::phoneNumber(String phoneNumber) { ::memset(tagRASDIALPARAMSA::szPhoneNumber,0,sizeof(tagRASDIALPARAMSA::szPhoneNumber)); if(phoneNumber.isNull())return; if(phoneNumber.length()>RAS_MaxPhoneNumber)phoneNumber.length(RAS_MaxPhoneNumber); ::memcpy(tagRASDIALPARAMSA::szPhoneNumber,(LPSTR)phoneNumber,phoneNumber.length()); } inline String RasDialParams::callbackNumber(void)const { return tagRASDIALPARAMSA::szCallbackNumber; } inline void RasDialParams::callbackNumber(String callbackNumber) { ::memset(tagRASDIALPARAMSA::szCallbackNumber,0,sizeof(tagRASDIALPARAMSA::szCallbackNumber)); if(callbackNumber.isNull())return; if(callbackNumber.length()>RAS_MaxCallbackNumber)callbackNumber.length(RAS_MaxCallbackNumber); ::memcpy(tagRASDIALPARAMSA::szCallbackNumber,(LPSTR)callbackNumber,callbackNumber.length()); } inline String RasDialParams::userName(void)const { return tagRASDIALPARAMSA::szUserName; } inline void RasDialParams::userName(String userName) { ::memset(tagRASDIALPARAMSA::szUserName,0,sizeof(tagRASDIALPARAMSA::szUserName)); if(userName.isNull())return; if(userName.length()>UNLEN)userName.length(UNLEN); ::memcpy(tagRASDIALPARAMSA::szUserName,(LPSTR)userName,userName.length()); } inline String RasDialParams::password(void)const { return tagRASDIALPARAMSA::szPassword; } inline void RasDialParams::password(String password) { ::memset(tagRASDIALPARAMSA::szPassword,0,sizeof(tagRASDIALPARAMSA::szPassword)); if(password.isNull())return; if(password.length()>UNLEN)password.length(UNLEN); ::memcpy(tagRASDIALPARAMSA::szPassword,(LPSTR)password,password.length()); } inline String RasDialParams::domain(void)const { return tagRASDIALPARAMSA::szDomain; } inline void RasDialParams::domain(String domain) { ::memset(tagRASDIALPARAMSA::szDomain,0,sizeof(tagRASDIALPARAMSA::szDomain)); if(domain.isNull())return; if(domain.length()>UNLEN)domain.length(UNLEN); ::memcpy(tagRASDIALPARAMSA::szDomain,(LPSTR)domain,domain.length()); } inline void RasDialParams::setZero(void) { ::memset(&((tagRASDIALPARAMSA&)*this),0,sizeof(tagRASDIALPARAMSA)); } #endif