OSDN Git Service

registory.hpp: 2.2__make_rootkey_map開始
authorMyun2 <myun2@nwhite.info>
Sun, 20 Mar 2011 03:01:52 +0000 (12:01 +0900)
committerMyun2 <myun2@nwhite.info>
Sun, 20 Mar 2011 03:01:52 +0000 (12:01 +0900)
roast_ex/include/roast/windows/registory.hpp

index 7211f61..818ea39 100644 (file)
@@ -4,6 +4,8 @@
 #define __SFJP_ROAST_EX__windows__registory_HPP__
 
 #include <windows.h>
+#include <string>
+#include <map>
 
 namespace roast
 {
@@ -30,6 +32,22 @@ namespace roast
                        
                        class key
                        {
+                       private:
+                               static ::std::map<::std::string, ::HKEY> _m_rootkey_map;
+                               static void _make_rootkey_map()
+                               {
+                                       _m_rootkey_map["HKEY_CLASSES_ROOT"] = HKEY_CLASSES_ROOT;
+                                       _m_rootkey_map["HKEY_CURRENT_USER"] = HKEY_CURRENT_USER;
+                                       _m_rootkey_map["HKEY_LOCAL_MACHINE"] = HKEY_LOCAL_MACHINE;
+                                       _m_rootkey_map["HKEY_USERS"] = HKEY_USERS;
+                                       _m_rootkey_map["HKEY_PERFORMANCE_DATA"] = HKEY_PERFORMANCE_DATA;
+#ifdef HKEY_PERFORMANCE_TEXT
+                                       _m_rootkey_map["HKEY_PERFORMANCE_TEXT"] = HKEY_PERFORMANCE_TEXT;
+                                       _m_rootkey_map["HKEY_PERFORMANCE_NLSTEXT"] = HKEY_PERFORMANCE_NLSTEXT;
+#endif
+                                       _m_rootkey_map["HKEY_CURRENT_CONFIG"] = HKEY_CURRENT_CONFIG;
+                                       _m_rootkey_map["HKEY_DYN_DATA"] = HKEY_DYN_DATA;
+                               }
                        public:
                                key(const key& parent, const char* szSubKey){}
                                key(const char* szKey){ open(szKey); }