166 lines
3.7 KiB
C++
166 lines
3.7 KiB
C++
#ifndef _NNTP_OPTIONSREG_HPP_
|
|
#define _NNTP_OPTIONSREG_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_REGKEY_HPP_
|
|
#include <common/regkey.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STRING_HPP_
|
|
#include <common/string.hpp>
|
|
#endif
|
|
#ifndef _COMMON_SYSTEMTIME_HPP_
|
|
#include <common/systime.hpp>
|
|
#endif
|
|
#ifndef _COMMON_DISKINFO_HPP_
|
|
#include <common/diskinfo.hpp>
|
|
#endif
|
|
#ifndef _NNTP_RESOURCE_HPP_
|
|
#include <nntp/resource.hpp>
|
|
#endif
|
|
|
|
class OptionsReg
|
|
{
|
|
public:
|
|
OptionsReg(void);
|
|
OptionsReg(const OptionsReg &someOptionsReg);
|
|
virtual ~OptionsReg();
|
|
OptionsReg &operator=(const OptionsReg &someOptionsReg);
|
|
DWORD priorDays(void)const;
|
|
void priorDays(DWORD priorDays);
|
|
const String &serverName(void)const;
|
|
void serverName(const String &hostName);
|
|
const String &userName(void)const;
|
|
void userName(const String &userName);
|
|
const String &password(void)const;
|
|
void password(const String &password);
|
|
const String &newsDir(void)const;
|
|
void newsDir(const String &newsDirectory);
|
|
private:
|
|
RegKey mRegKey;
|
|
DWORD mPriorDays;
|
|
String mServerName;
|
|
String mUserName;
|
|
String mPassword;
|
|
String mNewsDir;
|
|
String mServerKeyServerName;
|
|
String mUserNameKeyUserName;
|
|
String mPasswordKeyPassword;
|
|
String mOptionsKeyNewsDir;
|
|
String mOptionsKeyPriorDays;
|
|
String mOptionsKeyName;
|
|
};
|
|
|
|
inline
|
|
OptionsReg::OptionsReg(void)
|
|
: mPriorDays(0), mRegKey(RegKey::CurrentUser), mOptionsKeyName(STRING_OPTIONSKEYNAME),
|
|
mOptionsKeyPriorDays(STRING_OPTIONSKEYPRIORDAYS), mServerKeyServerName(STRING_SERVERKEYNAME),
|
|
mOptionsKeyNewsDir(STRING_OPTIONSKEYNEWSDIR), mUserNameKeyUserName(STRING_USERNAMEKEY),
|
|
mPasswordKeyPassword(STRING_PASSWORDKEY)
|
|
{
|
|
if(!mRegKey.openKey(mOptionsKeyName))
|
|
{
|
|
SystemTime systemTime;
|
|
mRegKey.createKey(mOptionsKeyName,"");
|
|
mRegKey.openKey(mOptionsKeyName);
|
|
mRegKey.setValue(mOptionsKeyPriorDays,0L);
|
|
}
|
|
mRegKey.queryValue(mOptionsKeyNewsDir,mNewsDir);
|
|
if(mNewsDir.isNull())
|
|
{
|
|
DiskInfo diskInfo;
|
|
diskInfo.getCurrentDirectory(mNewsDir);
|
|
mRegKey.setValue(mOptionsKeyNewsDir,mNewsDir);
|
|
}
|
|
mRegKey.queryValue(mOptionsKeyPriorDays,mPriorDays);
|
|
mRegKey.queryValue(mServerKeyServerName,mServerName);
|
|
mRegKey.queryValue(mUserNameKeyUserName,mUserName);
|
|
mRegKey.queryValue(mPasswordKeyPassword,mPassword);
|
|
}
|
|
|
|
inline
|
|
OptionsReg::OptionsReg(const OptionsReg &someOptionsReg)
|
|
: mPriorDays(0), mRegKey(RegKey::CurrentUser), mOptionsKeyName(STRING_OPTIONSKEYNAME),
|
|
mOptionsKeyPriorDays(STRING_OPTIONSKEYPRIORDAYS), mServerKeyServerName(STRING_SERVERKEYNAME),
|
|
mOptionsKeyNewsDir(STRING_OPTIONSKEYNEWSDIR)
|
|
{
|
|
*this=someOptionsReg;
|
|
}
|
|
|
|
inline
|
|
OptionsReg::~OptionsReg()
|
|
{
|
|
}
|
|
|
|
inline
|
|
OptionsReg &OptionsReg::operator=(const OptionsReg &someOptionsReg)
|
|
{
|
|
priorDays(someOptionsReg.priorDays());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
DWORD OptionsReg::priorDays(void)const
|
|
{
|
|
return mPriorDays;
|
|
}
|
|
|
|
inline
|
|
void OptionsReg::priorDays(DWORD priorDays)
|
|
{
|
|
mPriorDays=priorDays;
|
|
mRegKey.setValue(mOptionsKeyPriorDays,mPriorDays);
|
|
}
|
|
|
|
inline
|
|
const String &OptionsReg::serverName(void)const
|
|
{
|
|
return mServerName;
|
|
}
|
|
|
|
inline
|
|
void OptionsReg::serverName(const String &serverName)
|
|
{
|
|
mServerName=serverName;
|
|
mRegKey.setValue(mServerKeyServerName,mServerName);
|
|
}
|
|
|
|
inline
|
|
const String &OptionsReg::userName(void)const
|
|
{
|
|
return mUserName;
|
|
}
|
|
|
|
inline
|
|
void OptionsReg::userName(const String &userName)
|
|
{
|
|
mUserName=userName;
|
|
mRegKey.setValue(mUserNameKeyUserName,mUserName);
|
|
}
|
|
|
|
inline
|
|
const String &OptionsReg::password(void)const
|
|
{
|
|
return mPassword;
|
|
}
|
|
|
|
inline
|
|
void OptionsReg::password(const String &password)
|
|
{
|
|
mPassword=password;
|
|
mRegKey.setValue(mPasswordKeyPassword,password);
|
|
}
|
|
|
|
inline
|
|
const String &OptionsReg::newsDir(void)const
|
|
{
|
|
return mNewsDir;
|
|
}
|
|
|
|
inline
|
|
void OptionsReg::newsDir(const String &newsDir)
|
|
{
|
|
mNewsDir=newsDir;
|
|
mRegKey.setValue(mOptionsKeyNewsDir,mNewsDir);
|
|
}
|
|
#endif |