diff options
Diffstat (limited to 'src/unstable/settingsdriverregistry.cpp')
-rw-r--r-- | src/unstable/settingsdriverregistry.cpp | 116 |
1 files changed, 58 insertions, 58 deletions
diff --git a/src/unstable/settingsdriverregistry.cpp b/src/unstable/settingsdriverregistry.cpp index 89eda7b..983f48e 100644 --- a/src/unstable/settingsdriverregistry.cpp +++ b/src/unstable/settingsdriverregistry.cpp | |||
@@ -12,80 +12,80 @@ Bu::SettingsDriverRegistry::SettingsDriverRegistry() | |||
12 | 12 | ||
13 | Bu::SettingsDriverRegistry::~SettingsDriverRegistry() | 13 | Bu::SettingsDriverRegistry::~SettingsDriverRegistry() |
14 | { | 14 | { |
15 | RegCloseKey( *phKey ); | 15 | RegCloseKey( *phKey ); |
16 | } | 16 | } |
17 | 17 | ||
18 | void Bu::SettingsDriverRegistry::init( const Bu::UtfString &sCompany, const Bu::UtfString &sProduct ) | 18 | void Bu::SettingsDriverRegistry::init( const Bu::UtfString &sCompany, const Bu::UtfString &sProduct ) |
19 | { | 19 | { |
20 | Bu::UtfString us("Software\\"); | 20 | Bu::UtfString us("Software\\"); |
21 | us += sCompany; | 21 | us += sCompany; |
22 | us += "\\"; | 22 | us += "\\"; |
23 | us += sProduct; | 23 | us += sProduct; |
24 | rphKey = new HKEY; | 24 | rphKey = new HKEY; |
25 | RegCreateKeyExA( HKEY_CURRENT_USER, us.get().getStr(), 0, NULL, 0, KEY_ALL_ACCESS, NULL, phKey, NULL ); | 25 | RegCreateKeyExA( HKEY_CURRENT_USER, us.get().getStr(), 0, NULL, 0, KEY_ALL_ACCESS, NULL, phKey, NULL ); |
26 | } | 26 | } |
27 | 27 | ||
28 | void Bu::SettingsDriverRegistry::set( const Bu::UtfString &sKey, const Bu::UtfString &sValue ) | 28 | void Bu::SettingsDriverRegistry::set( const Bu::UtfString &sKey, const Bu::UtfString &sValue ) |
29 | { | 29 | { |
30 | Bu::StringList lPath = sKey.get().split('/'); | 30 | Bu::StringList lPath = sKey.get().split('/'); |
31 | Bu::StringList::iterator i = lPath.begin(); | 31 | Bu::StringList::iterator i = lPath.begin(); |
32 | Bu::StringList::iterator in; | 32 | Bu::StringList::iterator in; |
33 | 33 | ||
34 | Bu::String sPKey; | 34 | Bu::String sPKey; |
35 | for(; i;) | 35 | for(; i;) |
36 | { | 36 | { |
37 | in = i; | 37 | in = i; |
38 | in++; | 38 | in++; |
39 | if( in ) | 39 | if( in ) |
40 | { | 40 | { |
41 | if( !sPKey.isEmpty() ) | 41 | if( !sPKey.isEmpty() ) |
42 | sPKey += "\\"; | 42 | sPKey += "\\"; |
43 | sPKey += *i; | 43 | sPKey += *i; |
44 | } | 44 | } |
45 | i = in; | 45 | i = in; |
46 | } | 46 | } |
47 | 47 | ||
48 | HKEY key; | 48 | HKEY key; |
49 | RegCreateKeyExA( *phKey, sPKey.getStr(), 0, NULL, 0, KEY_ALL_ACCESS, NULL, &key, NULL ); | 49 | RegCreateKeyExA( *phKey, sPKey.getStr(), 0, NULL, 0, KEY_ALL_ACCESS, NULL, &key, NULL ); |
50 | Bu::String sTmp = sValue.get(); | 50 | Bu::String sTmp = sValue.get(); |
51 | RegSetValueExA( key, lPath.last().getStr(), 0, REG_SZ, (BYTE *)sTmp.getStr(), sTmp.getSize()+1 ); | 51 | RegSetValueExA( key, lPath.last().getStr(), 0, REG_SZ, (BYTE *)sTmp.getStr(), sTmp.getSize()+1 ); |
52 | RegCloseKey( key ); | 52 | RegCloseKey( key ); |
53 | } | 53 | } |
54 | 54 | ||
55 | Bu::UtfString Bu::SettingsDriverRegistry::get( const Bu::UtfString &sKey, const Bu::UtfString &sValue ) | 55 | Bu::UtfString Bu::SettingsDriverRegistry::get( const Bu::UtfString &sKey, const Bu::UtfString &sValue ) |
56 | { | 56 | { |
57 | Bu::StringList lPath = sKey.get().split('/'); | 57 | Bu::StringList lPath = sKey.get().split('/'); |
58 | Bu::StringList::iterator i = lPath.begin(); | 58 | Bu::StringList::iterator i = lPath.begin(); |
59 | Bu::StringList::iterator in; | 59 | Bu::StringList::iterator in; |
60 | 60 | ||
61 | Bu::String sPKey; | 61 | Bu::String sPKey; |
62 | for(; i;) | 62 | for(; i;) |
63 | { | 63 | { |
64 | in = i; | 64 | in = i; |
65 | in++; | 65 | in++; |
66 | if( in ) | 66 | if( in ) |
67 | { | 67 | { |
68 | if( !sPKey.isEmpty() ) | 68 | if( !sPKey.isEmpty() ) |
69 | sPKey += "\\"; | 69 | sPKey += "\\"; |
70 | sPKey += *i; | 70 | sPKey += *i; |
71 | } | 71 | } |
72 | i = in; | 72 | i = in; |
73 | } | 73 | } |
74 | 74 | ||
75 | HKEY key; | 75 | HKEY key; |
76 | if( RegOpenKeyExA( *phKey, sPKey.getStr(), 0, KEY_ALL_ACCESS, &key ) | 76 | if( RegOpenKeyExA( *phKey, sPKey.getStr(), 0, KEY_ALL_ACCESS, &key ) |
77 | != ERROR_SUCCESS ) | 77 | != ERROR_SUCCESS ) |
78 | return sValue; | 78 | return sValue; |
79 | char buf[4096]; | 79 | char buf[4096]; |
80 | DWORD iRet = 4096; | 80 | DWORD iRet = 4096; |
81 | if( RegQueryValueEx( key, lPath.last().getStr(), NULL, NULL, (BYTE *)buf, &iRet ) != ERROR_SUCCESS ) | 81 | if( RegQueryValueEx( key, lPath.last().getStr(), NULL, NULL, (BYTE *)buf, &iRet ) != ERROR_SUCCESS ) |
82 | { | 82 | { |
83 | RegCloseKey( key ); | 83 | RegCloseKey( key ); |
84 | return sValue; | 84 | return sValue; |
85 | } | 85 | } |
86 | RegCloseKey( key ); | 86 | RegCloseKey( key ); |
87 | 87 | ||
88 | return Bu::UtfString( Bu::String( buf, iRet ) ); | 88 | return Bu::UtfString( Bu::String( buf, iRet ) ); |
89 | } | 89 | } |
90 | 90 | ||
91 | #endif | 91 | #endif |