aboutsummaryrefslogtreecommitdiff
path: root/dep/include/g3dlite/G3D/RegistryUtil.h
diff options
context:
space:
mode:
Diffstat (limited to 'dep/include/g3dlite/G3D/RegistryUtil.h')
-rw-r--r--dep/include/g3dlite/G3D/RegistryUtil.h86
1 files changed, 86 insertions, 0 deletions
diff --git a/dep/include/g3dlite/G3D/RegistryUtil.h b/dep/include/g3dlite/G3D/RegistryUtil.h
new file mode 100644
index 00000000000..97de8d06725
--- /dev/null
+++ b/dep/include/g3dlite/G3D/RegistryUtil.h
@@ -0,0 +1,86 @@
+/**
+ @file RegistryUtil.h
+
+ @created 2006-04-06
+ @edited 2006-04-06
+
+ Copyright 2000-2006, Morgan McGuire.
+ All rights reserved.
+*/
+
+#ifndef G3D_REGISTRYUTIL_H
+#define G3D_REGISTRYUTIL_H
+
+#include "G3D/platform.h"
+#include "G3D/g3dmath.h"
+
+// This file is only used on Windows
+#ifdef G3D_WIN32
+
+#include <string>
+
+namespace G3D {
+
+/**
+ Provides generalized Windows registry querying.
+
+ All key names are one string in the format:
+ "[base key]\[sub-keys]\value"
+
+ [base key] can be any of the following:
+ HKEY_CLASSES_ROOT
+ HKEY_CURRENT_CONFIG
+ HKEY_CURRENT_USER
+ HKEY_LOCAL_MACHINE
+ HKEY_PERFORMANCE_DATA
+ HKEY_PERFORMANCE_NLSTEXT
+ HKEY_PERFORMANCE_TEXT
+ HKEY_USERS
+
+ keyExists() should be used to validate a key before reading or writing
+ to ensure that a debug assert or false return is for a different error.
+*/
+class RegistryUtil {
+
+public:
+ /** returns true if the key exists */
+ static bool keyExists(const std::string& key);
+
+ /** returns false if the key could not be read for any reason. */
+ static bool readInt32(const std::string& key, int32& valueData);
+
+ /**
+ Reads an arbitrary amount of data from a binary registry key.
+ returns false if the key could not be read for any reason.
+
+ @beta
+ @param valueData pointer to the output buffer of sufficient size. Pass NULL as valueData in order to have available data size returned in dataSize.
+ @param dataSize size of the output buffer. When NULL is passed for valueData, contains the size of available data on successful return.
+ */
+ static bool readBytes(const std::string& key, uint8* valueData, uint32& dataSize);
+
+ /** returns false if the key could not be read for any reason. */
+ static bool readString(const std::string& key, std::string& valueData);
+
+ /** returns false if the key could not be written for any reason. */
+ static bool writeInt32(const std::string& key, int32 valueData);
+
+ /**
+ Writes an arbitrary amount of data to a binary registry key.
+ returns false if the key could not be written for any reason.
+
+ @param valueData pointer to the input buffer
+ @param dataSize size of the input buffer that should be written
+ */
+ static bool writeBytes(const std::string& key, const uint8* valueData, uint32 dataSize);
+
+ /** returns false if the key could not be written for any reason. */
+ static bool writeString(const std::string& key, const std::string& valueData);
+
+};
+
+} // namespace G3D
+
+#endif // G3D_WIN32
+
+#endif // G3D_REGISTRYTUIL_H \ No newline at end of file