00001 #ifndef __CRegistry__
00002 #define __CRegistry__
00003
00004
00005 #include "../Basics/CSystemString.hpp"
00006 #include "../Collections/TCountedPointerArray.hpp"
00007 #include "CRegistryInfo.hpp"
00008
00009
00010
00011 using Exponent::Basics::CSystemString;
00012 using Exponent::Basics::CString;
00013 using Exponent::Collections::TCountedPointerArray;
00014 using Exponent::Host::CRegistryInfo;
00015
00016
00017
00018 namespace Exponent
00019 {
00020 namespace Host
00021 {
00039 class CRegistry
00040 {
00041 public:
00042
00043
00044
00049 enum ERegistry
00050 {
00051 e_localMachine = 0,
00052 e_currentUser,
00053 e_currentApplication,
00054 };
00055
00056
00057
00066 static bool readFromRegistry(const ERegistry registry, const CString ®istryKey, const CString &key, CSystemString &input);
00067
00076 static bool writeToRegistry(const ERegistry registry, const CString ®istryKey, const CString &key, const CString &value);
00077
00084 static bool createRegistryEntry(const ERegistry registry, const CString ®istryKey);
00085
00093 static bool deleteRegistryEntry(const ERegistry registry, const CString ®istryKey, const CString &key);
00094
00102 static TCountedPointerArray<CRegistryInfo> enumerateRegistryKeyValues(const ERegistry registry, const CString ®istryKey);
00103
00104
00105
00106 };
00107 }
00108 }
00109 #endif // End of CRegistry.hpp