Files
Work/nntp/RASOPTNS.HPP
2024-08-07 09:16:27 -04:00

156 lines
3.6 KiB
C++

#ifndef _NNTP_RASOPTIONS_HPP_
#define _NNTP_RASOPTIONS_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _COMMON_REGKEY_HPP_
#include <common/regkey.hpp>
#endif
#ifndef _NNTP_RESOURCE_HPP_
#include <nntp/resource.hpp>
#endif
class RasOptions
{
public:
RasOptions(void);
virtual ~RasOptions();
String rasUserName(void)const;
void rasUserName(const String &rasUserName);
String rasPassword(void)const;
void rasPassword(const String &rasPassword);
String rasEntryName(void)const;
void rasEntryName(const String &rasEntryName);
DWORD rasState(void)const;
void rasState(DWORD rasState);
DWORD rasMaxRetries(void)const;
void rasMaxRetries(DWORD rasMaxRetries);
private:
RasOptions(const RasOptions &someRasOptions);
RasOptions &operator=(const RasOptions &someRasOptions);
String mRasUserName;
String mRasPassword;
String mRasEntryName;
DWORD mRasState;
DWORD mRasMaxRetries;
String mRasKeyUserName;
String mRasKeyPassword;
String mRasKeyEntryName;
String mRasKeyState;
String mRasKeyOptions;
String mRasKeyMaxRetries;
RegKey mRegKey;
};
inline
RasOptions::RasOptions(void)
: mRasKeyUserName(STRING_RASKEYUSERNAME), mRasKeyPassword(STRING_RASKEYPASSWORD),
mRasKeyEntryName(STRING_RASKEYENTRYNAME), mRasKeyState(STRING_RASKEYSTATE),
mRasKeyOptions(STRING_RASKEYOPTIONS), mRasKeyMaxRetries(STRING_RASKEYMAXRETRIES),
mRasState(0), mRegKey(RegKey::CurrentUser), mRasMaxRetries(0)
{
if(!mRegKey.openKey(STRING_RASKEYOPTIONS))
{
mRegKey.createKey(STRING_RASKEYOPTIONS,"");
mRegKey.openKey(STRING_RASKEYOPTIONS);
}
mRegKey.queryValue(mRasKeyUserName,mRasUserName);
mRegKey.queryValue(mRasKeyPassword,mRasPassword);
mRegKey.queryValue(mRasKeyState,mRasState);
mRegKey.queryValue(mRasKeyEntryName,mRasEntryName);
mRegKey.queryValue(mRasKeyMaxRetries,mRasMaxRetries);
}
inline
RasOptions::RasOptions(const RasOptions &/*someRasOptions*/)
: mRasKeyUserName(STRING_RASKEYUSERNAME), mRasKeyPassword(STRING_RASKEYPASSWORD),
mRasKeyEntryName(STRING_RASKEYENTRYNAME), mRasKeyState(STRING_RASKEYSTATE),
mRasKeyOptions(STRING_RASKEYOPTIONS), mRasKeyMaxRetries(STRING_RASKEYMAXRETRIES),
mRasState(0), mRegKey(RegKey::CurrentUser)
{ // no implementation
}
inline
RasOptions::~RasOptions()
{
}
inline
RasOptions &RasOptions::operator=(const RasOptions &/*someRasOptions*/)
{ // no implementation
return *this;
}
inline
String RasOptions::rasUserName(void)const
{
return mRasUserName;
}
inline
void RasOptions::rasUserName(const String &rasUserName)
{
if(rasUserName.isNull())return;
mRasUserName=rasUserName;
mRegKey.setValue(mRasKeyUserName,rasUserName);
}
inline
String RasOptions::rasPassword(void)const
{
return mRasPassword;
}
inline
void RasOptions::rasPassword(const String &rasPassword)
{
if(rasPassword.isNull())return;
mRasPassword=rasPassword;
mRegKey.setValue(mRasKeyPassword,mRasPassword);
}
inline
String RasOptions::rasEntryName(void)const
{
return mRasEntryName;
}
inline
void RasOptions::rasEntryName(const String &rasEntryName)
{
if(rasEntryName.isNull())return;
mRasEntryName=rasEntryName;
mRegKey.setValue(mRasKeyEntryName,mRasEntryName);
}
inline
DWORD RasOptions::rasMaxRetries(void)const
{
return mRasMaxRetries;
}
inline
void RasOptions::rasMaxRetries(DWORD rasMaxRetries)
{
mRasMaxRetries=rasMaxRetries;
mRegKey.setValue(mRasKeyMaxRetries,rasMaxRetries);
}
inline
DWORD RasOptions::rasState(void)const
{
return mRasState;
}
inline
void RasOptions::rasState(DWORD rasState)
{
mRasState=rasState;
mRegKey.setValue(mRasKeyState,mRasState);
}
#endif