| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*============================================================================
- KWSys - Kitware System Library
- Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
- Distributed under the OSI-approved BSD License (the "License");
- see accompanying file Copyright.txt for details.
- This software is distributed WITHOUT ANY WARRANTY; without even the
- implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- See the License for more information.
- ============================================================================*/
- #ifndef @KWSYS_NAMESPACE@_Registry_hxx
- #define @KWSYS_NAMESPACE@_Registry_hxx
- #include <@KWSYS_NAMESPACE@/Configure.h>
- #include <@KWSYS_NAMESPACE@/stl/string>
- namespace @KWSYS_NAMESPACE@
- {
- class RegistryHelper;
- /** \class Registry
- * \brief Portable registry class
- *
- * This class abstracts the storing of data that can be restored
- * when the program executes again. On Win32 platform it is
- * implemented using the registry and on unix as a file in
- * the user's home directory.
- */
- class @KWSYS_NAMESPACE@_EXPORT Registry
- {
- public:
- enum RegistryType
- {
- #ifdef _WIN32
- WIN32_REGISTRY,
- #endif
- FILE_REGISTRY
- };
- #ifdef _WIN32
- Registry(RegistryType registryType = WIN32_REGISTRY);
- #else
- Registry(RegistryType registryType = FILE_REGISTRY);
- #endif
- virtual ~Registry();
- //! Read a value from the registry.
- bool ReadValue(const char *subkey, const char *key, const char **value);
- //! Delete a key from the registry.
- bool DeleteKey(const char *subkey, const char *key);
- //! Delete a value from a given key.
- bool DeleteValue(const char *subkey, const char *key);
- //! Set value in a given key.
- bool SetValue(const char *subkey, const char *key,
- const char *value);
- //! Open the registry at toplevel/subkey.
- bool Open(const char *toplevel, const char *subkey,
- int readonly);
- //! Close the registry.
- bool Close();
- //! Read from local or global scope. On Windows this mean from local machine
- // or local user. On unix this will read from $HOME/.Projectrc or
- // /etc/Project
- void GlobalScopeOn() { this->SetGlobalScope(1); }
- void GlobalScopeOff() { this->SetGlobalScope(0); }
- void SetGlobalScope(bool b);
- bool GetGlobalScope();
- // Set or get the toplevel registry key.
- void SetTopLevel(const char* tl);
- const char* GetTopLevel();
- // Return true if registry opened
- bool GetOpened() { return m_Opened; }
- // Should the registry be locked?
- bool GetLocked() { return m_Locked; }
- enum {
- READONLY,
- READWRITE
- };
- // Return true if the character is space.
- int IsSpace(char c);
- private:
- RegistryHelper* Helper;
- bool m_Opened;
- bool m_Locked;
- }; // End Class: Registry
- } // namespace @KWSYS_NAMESPACE@
- #endif
|