From a0df7df44858a113c549b2e88b5a4b3c1669ab05 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Wed, 17 Sep 2003 19:42:47 +0000 Subject: Initial Import --- common/regsettings.h | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 common/regsettings.h (limited to 'common/regsettings.h') diff --git a/common/regsettings.h b/common/regsettings.h new file mode 100644 index 0000000..6f2c8ba --- /dev/null +++ b/common/regsettings.h @@ -0,0 +1,92 @@ +// +// AUTHOR +// N. Nielsen +// +// LICENSE +// This software is in the public domain. +// +// The software is provided "as is", without warranty of any kind, +// express or implied, including but not limited to the warranties +// of merchantability, fitness for a particular purpose, and +// noninfringement. In no event shall the author(s) be liable for any +// claim, damages, or other liability, whether in an action of +// contract, tort, or otherwise, arising from, out of, or in connection +// with the software or the use or other dealings in the software. +// +// SUPPORT +// Send bug reports to: +// + +#ifndef __REGSETTINGS_H__ +#define __REGSETTINGS_H__ + +class CRegSettings + : public CRegKey +{ +public: + CRegSettings() {}; + CRegSettings(HKEY hKey, LPCTSTR sName) + { Create(hKey, sName); } + + virtual ~CRegSettings() {} + + virtual bool Erase(LPCTSTR sKeyName) + { + if(m_hKey == NULL) + return false; + + return (DeleteValue(sKeyName) != ERROR_SUCCESS); + } + + virtual bool WriteString(LPCTSTR sValName, LPCTSTR sValue) + { + if(m_hKey == NULL) + return false; + + return (SetValue(sValue, sValName) != ERROR_SUCCESS); + } + + virtual bool WriteInt(LPCTSTR sValName, int nValue) + { + if(m_hKey == NULL) + return false; + + return (SetValue(nValue, sValName) != ERROR_SUCCESS); + } + +#ifdef _MYSTRING_H_ + + virtual string GetString(LPCTSTR sValName, const string& sDefault = _T("")) const + { + if(m_hKey == NULL) + return sDefault; + + string sValue = sDefault; + DWORD dwCount = 0; + + // Bummer CRegKey doesn't do const! + CRegKey* pKey = (CRegKey*)this; + pKey->QueryValue(NULL, sValName, &dwCount); + pKey->QueryValue(sValue.get_buffer(dwCount), sValName, &dwCount); + sValue.release_buffer(); + + return sValue; + } + +#endif // _MYSTRING_H_ + + virtual int GetInt(LPCTSTR sValName, int nDefault = 0) const + { + if(m_hKey == NULL) + return nDefault; + + // Bummer CRegKey doesn't do const! + CRegKey* pKey = (CRegKey*)this; + DWORD dwVal = nDefault; + pKey->QueryValue(dwVal, sValName); + + return dwVal; + } +}; + +#endif -- cgit v1.2.3