From: Vadim Zeitlin Date: Wed, 27 May 1998 23:07:33 +0000 (+0000) Subject: declaration of registry based implementation of wxConfig (wxRegConfig) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/45c2881542b6761d5c71bf0585347996fd7d2fdb declaration of registry based implementation of wxConfig (wxRegConfig) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/msw/regconf.h b/include/wx/msw/regconf.h new file mode 100644 index 0000000000..fed7e2b50b --- /dev/null +++ b/include/wx/msw/regconf.h @@ -0,0 +1,62 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: msw/regconf.h +// Purpose: Registry based implementation of wxConfig +// Author: Vadim Zeitlin +// Modified by: +// Created: 27.04.98 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows license +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _REGCONF_H +#define _REGCONF_H + +// ---------------------------------------------------------------------------- +// wxRegConfig +// ---------------------------------------------------------------------------- + +class wxRegConfig : public wxConfig +{ +public: + // ctor & dtor + // will store data in HKLM\strRegHive and HKCU\strRegHive + wxRegConfig(const wxString& strRegHive); + // dtor will save unsaved data + virtual ~wxRegConfig(); + + // implement inherited pure virtual functions + // ------------------------------------------ + + // path management + virtual void SetPath(const wxString& strPath); + virtual const wxString& GetPath() const { return m_strPath; } + + // enum + virtual bool GetFirstGroup(wxString& str, long& lIndex); + virtual bool GetNextGroup (wxString& str, long& lIndex); + virtual bool GetFirstEntry(wxString& str, long& lIndex); + virtual bool GetNextEntry (wxString& str, long& lIndex); + + // read/write + virtual bool Read(wxString&, const char *, const char * = 0) const; + virtual bool Read(long&, const char *, long = 0) const; + virtual bool Write(const char *szKey, const char *szValue); + virtual bool Write(const char *szKey, long Value); + virtual bool Flush(bool /* bCurrentOnly = FALSE */ ) { return true; } + + // delete + virtual bool DeleteEntry(const char *szKey, bool bGroupIfEmptyAlso); + virtual bool DeleteGroup(const char *szKey); + virtual bool DeleteAll(); + +private: + // these keys are opened during all lifetime of wxRegConfig object + wxRegKey m_keyLocalRoot, m_keyLocal, + m_keyGlobalRoot, m_keyGlobal; + + // current path (not '/' terminated) + wxString m_strPath; +}; + +#endif //_REGCONF_H \ No newline at end of file