Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: webrtc/base/win32regkey.h

Issue 1362503003: Use suffixed {uint,int}{8,16,32,64}_t types. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase + revert basictypes.h (to be landed separately just in case of a revert due to unexpected us… Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/base/win32filesystem.cc ('k') | webrtc/base/win32regkey.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2003 The WebRTC Project Authors. All rights reserved. 2 * Copyright 2003 The WebRTC Project Authors. All rights reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 57
58 HRESULT Open(HKEY parent_key, const wchar_t* key_name, REGSAM sam_desired); 58 HRESULT Open(HKEY parent_key, const wchar_t* key_name, REGSAM sam_desired);
59 59
60 // close this reg key 60 // close this reg key
61 HRESULT Close(); 61 HRESULT Close();
62 62
63 // check if the key has a specified value 63 // check if the key has a specified value
64 bool HasValue(const wchar_t* value_name) const; 64 bool HasValue(const wchar_t* value_name) const;
65 65
66 // get the number of values for this key 66 // get the number of values for this key
67 uint32 GetValueCount(); 67 uint32_t GetValueCount();
68 68
69 // Called to get the value name for the given value name index 69 // Called to get the value name for the given value name index
70 // Use GetValueCount() to get the total value_name count for this key 70 // Use GetValueCount() to get the total value_name count for this key
71 // Returns failure if no key at the specified index 71 // Returns failure if no key at the specified index
72 // If you modify the key while enumerating, the indexes will be out of order. 72 // If you modify the key while enumerating, the indexes will be out of order.
73 // Since the index order is not guaranteed, you need to reset your counting 73 // Since the index order is not guaranteed, you need to reset your counting
74 // loop. 74 // loop.
75 // 'type' refers to REG_DWORD, REG_QWORD, etc.. 75 // 'type' refers to REG_DWORD, REG_QWORD, etc..
76 // 'type' can be NULL if not interested in the value type 76 // 'type' can be NULL if not interested in the value type
77 HRESULT GetValueNameAt(int index, std::wstring* value_name, DWORD* type); 77 HRESULT GetValueNameAt(int index, std::wstring* value_name, DWORD* type);
78 78
79 // check if the current key has the specified subkey 79 // check if the current key has the specified subkey
80 bool HasSubkey(const wchar_t* key_name) const; 80 bool HasSubkey(const wchar_t* key_name) const;
81 81
82 // get the number of subkeys for this key 82 // get the number of subkeys for this key
83 uint32 GetSubkeyCount(); 83 uint32_t GetSubkeyCount();
84 84
85 // Called to get the key name for the given key index 85 // Called to get the key name for the given key index
86 // Use GetSubkeyCount() to get the total count for this key 86 // Use GetSubkeyCount() to get the total count for this key
87 // Returns failure if no key at the specified index 87 // Returns failure if no key at the specified index
88 // If you modify the key while enumerating, the indexes will be out of order. 88 // If you modify the key while enumerating, the indexes will be out of order.
89 // Since the index order is not guaranteed, you need to reset your counting 89 // Since the index order is not guaranteed, you need to reset your counting
90 // loop. 90 // loop.
91 HRESULT GetSubkeyNameAt(int index, std::wstring* key_name); 91 HRESULT GetSubkeyNameAt(int index, std::wstring* key_name);
92 92
93 // SETTERS 93 // SETTERS
94 94
95 // set an int32 value - use when reading multiple values from a key 95 // set an int32_t value - use when reading multiple values from a key
96 HRESULT SetValue(const wchar_t* value_name, DWORD value) const; 96 HRESULT SetValue(const wchar_t* value_name, DWORD value) const;
97 97
98 // set an int64 value 98 // set an int64_t value
99 HRESULT SetValue(const wchar_t* value_name, DWORD64 value) const; 99 HRESULT SetValue(const wchar_t* value_name, DWORD64 value) const;
100 100
101 // set a string value 101 // set a string value
102 HRESULT SetValue(const wchar_t* value_name, const wchar_t* value) const; 102 HRESULT SetValue(const wchar_t* value_name, const wchar_t* value) const;
103 103
104 // set binary data 104 // set binary data
105 HRESULT SetValue(const wchar_t* value_name, 105 HRESULT SetValue(const wchar_t* value_name,
106 const uint8* value, 106 const uint8_t* value,
107 DWORD byte_count) const; 107 DWORD byte_count) const;
108 108
109 // set raw data, including type 109 // set raw data, including type
110 HRESULT SetValue(const wchar_t* value_name, 110 HRESULT SetValue(const wchar_t* value_name,
111 const uint8* value, 111 const uint8_t* value,
112 DWORD byte_count, 112 DWORD byte_count,
113 DWORD type) const; 113 DWORD type) const;
114 114
115 // GETTERS 115 // GETTERS
116 116
117 // get an int32 value 117 // get an int32_t value
118 HRESULT GetValue(const wchar_t* value_name, DWORD* value) const; 118 HRESULT GetValue(const wchar_t* value_name, DWORD* value) const;
119 119
120 // get an int64 value 120 // get an int64_t value
121 HRESULT GetValue(const wchar_t* value_name, DWORD64* value) const; 121 HRESULT GetValue(const wchar_t* value_name, DWORD64* value) const;
122 122
123 // get a string value - the caller must free the return buffer 123 // get a string value - the caller must free the return buffer
124 HRESULT GetValue(const wchar_t* value_name, wchar_t** value) const; 124 HRESULT GetValue(const wchar_t* value_name, wchar_t** value) const;
125 125
126 // get a string value 126 // get a string value
127 HRESULT GetValue(const wchar_t* value_name, std::wstring* value) const; 127 HRESULT GetValue(const wchar_t* value_name, std::wstring* value) const;
128 128
129 // get a std::vector<std::wstring> value from REG_MULTI_SZ type 129 // get a std::vector<std::wstring> value from REG_MULTI_SZ type
130 HRESULT GetValue(const wchar_t* value_name, 130 HRESULT GetValue(const wchar_t* value_name,
131 std::vector<std::wstring>* value) const; 131 std::vector<std::wstring>* value) const;
132 132
133 // get binary data - the caller must free the return buffer 133 // get binary data - the caller must free the return buffer
134 HRESULT GetValue(const wchar_t* value_name, 134 HRESULT GetValue(const wchar_t* value_name,
135 uint8** value, 135 uint8_t** value,
136 DWORD* byte_count) const; 136 DWORD* byte_count) const;
137 137
138 // get raw data, including type - the caller must free the return buffer 138 // get raw data, including type - the caller must free the return buffer
139 HRESULT GetValue(const wchar_t* value_name, 139 HRESULT GetValue(const wchar_t* value_name,
140 uint8** value, 140 uint8_t** value,
141 DWORD* byte_count, 141 DWORD* byte_count,
142 DWORD* type) const; 142 DWORD* type) const;
143 143
144 // STATIC VERSIONS 144 // STATIC VERSIONS
145 145
146 // flush 146 // flush
147 static HRESULT FlushKey(const wchar_t* full_key_name); 147 static HRESULT FlushKey(const wchar_t* full_key_name);
148 148
149 // check if a key exists 149 // check if a key exists
150 static bool HasKey(const wchar_t* full_key_name); 150 static bool HasKey(const wchar_t* full_key_name);
151 151
152 // check if the key has a specified value 152 // check if the key has a specified value
153 static bool HasValue(const wchar_t* full_key_name, const wchar_t* value_name); 153 static bool HasValue(const wchar_t* full_key_name, const wchar_t* value_name);
154 154
155 // SETTERS 155 // SETTERS
156 156
157 // STATIC int32 set 157 // STATIC int32_t set
158 static HRESULT SetValue(const wchar_t* full_key_name, 158 static HRESULT SetValue(const wchar_t* full_key_name,
159 const wchar_t* value_name, 159 const wchar_t* value_name,
160 DWORD value); 160 DWORD value);
161 161
162 // STATIC int64 set 162 // STATIC int64_t set
163 static HRESULT SetValue(const wchar_t* full_key_name, 163 static HRESULT SetValue(const wchar_t* full_key_name,
164 const wchar_t* value_name, 164 const wchar_t* value_name,
165 DWORD64 value); 165 DWORD64 value);
166 166
167 // STATIC float set 167 // STATIC float set
168 static HRESULT SetValue(const wchar_t* full_key_name, 168 static HRESULT SetValue(const wchar_t* full_key_name,
169 const wchar_t* value_name, 169 const wchar_t* value_name,
170 float value); 170 float value);
171 171
172 // STATIC double set 172 // STATIC double set
173 static HRESULT SetValue(const wchar_t* full_key_name, 173 static HRESULT SetValue(const wchar_t* full_key_name,
174 const wchar_t* value_name, 174 const wchar_t* value_name,
175 double value); 175 double value);
176 176
177 // STATIC string set 177 // STATIC string set
178 static HRESULT SetValue(const wchar_t* full_key_name, 178 static HRESULT SetValue(const wchar_t* full_key_name,
179 const wchar_t* value_name, 179 const wchar_t* value_name,
180 const wchar_t* value); 180 const wchar_t* value);
181 181
182 // STATIC binary data set 182 // STATIC binary data set
183 static HRESULT SetValue(const wchar_t* full_key_name, 183 static HRESULT SetValue(const wchar_t* full_key_name,
184 const wchar_t* value_name, 184 const wchar_t* value_name,
185 const uint8* value, 185 const uint8_t* value,
186 DWORD byte_count); 186 DWORD byte_count);
187 187
188 // STATIC multi-string set 188 // STATIC multi-string set
189 static HRESULT SetValueMultiSZ(const wchar_t* full_key_name, 189 static HRESULT SetValueMultiSZ(const wchar_t* full_key_name,
190 const TCHAR* value_name, 190 const TCHAR* value_name,
191 const uint8* value, 191 const uint8_t* value,
192 DWORD byte_count); 192 DWORD byte_count);
193 193
194 // GETTERS 194 // GETTERS
195 195
196 // STATIC int32 get 196 // STATIC int32_t get
197 static HRESULT GetValue(const wchar_t* full_key_name, 197 static HRESULT GetValue(const wchar_t* full_key_name,
198 const wchar_t* value_name, 198 const wchar_t* value_name,
199 DWORD* value); 199 DWORD* value);
200 200
201 // STATIC int64 get 201 // STATIC int64_t get
202 // 202 //
203 // Note: if you are using time64 you should 203 // Note: if you are using time64 you should
204 // likely use GetLimitedTimeValue (util.h) instead of this method. 204 // likely use GetLimitedTimeValue (util.h) instead of this method.
205 static HRESULT GetValue(const wchar_t* full_key_name, 205 static HRESULT GetValue(const wchar_t* full_key_name,
206 const wchar_t* value_name, 206 const wchar_t* value_name,
207 DWORD64* value); 207 DWORD64* value);
208 208
209 // STATIC float get 209 // STATIC float get
210 static HRESULT GetValue(const wchar_t* full_key_name, 210 static HRESULT GetValue(const wchar_t* full_key_name,
211 const wchar_t* value_name, 211 const wchar_t* value_name,
(...skipping 14 matching lines...) Expand all
226 std::wstring* value); 226 std::wstring* value);
227 227
228 // STATIC REG_MULTI_SZ get 228 // STATIC REG_MULTI_SZ get
229 static HRESULT GetValue(const wchar_t* full_key_name, 229 static HRESULT GetValue(const wchar_t* full_key_name,
230 const wchar_t* value_name, 230 const wchar_t* value_name,
231 std::vector<std::wstring>* value); 231 std::vector<std::wstring>* value);
232 232
233 // STATIC get binary data - the caller must free the return buffer 233 // STATIC get binary data - the caller must free the return buffer
234 static HRESULT GetValue(const wchar_t* full_key_name, 234 static HRESULT GetValue(const wchar_t* full_key_name,
235 const wchar_t* value_name, 235 const wchar_t* value_name,
236 uint8** value, 236 uint8_t** value,
237 DWORD* byte_count); 237 DWORD* byte_count);
238 238
239 // Get type of a registry value 239 // Get type of a registry value
240 static HRESULT GetValueType(const wchar_t* full_key_name, 240 static HRESULT GetValueType(const wchar_t* full_key_name,
241 const wchar_t* value_name, 241 const wchar_t* value_name,
242 DWORD* value_type); 242 DWORD* value_type);
243 243
244 // delete a subkey of the current key (with no subkeys) 244 // delete a subkey of the current key (with no subkeys)
245 HRESULT DeleteSubKey(const wchar_t* key_name); 245 HRESULT DeleteSubKey(const wchar_t* key_name);
246 246
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 const wchar_t* file_name); 290 const wchar_t* file_name);
291 291
292 // Is the key empty: having no sub-keys and values 292 // Is the key empty: having no sub-keys and values
293 static bool IsKeyEmpty(const wchar_t* full_key_name); 293 static bool IsKeyEmpty(const wchar_t* full_key_name);
294 294
295 private: 295 private:
296 296
297 // helper function to get any value from the registry 297 // helper function to get any value from the registry
298 // used when the size of the data is unknown 298 // used when the size of the data is unknown
299 HRESULT GetValueHelper(const wchar_t* value_name, 299 HRESULT GetValueHelper(const wchar_t* value_name,
300 DWORD* type, uint8** value, 300 DWORD* type,
301 uint8_t** value,
301 DWORD* byte_count) const; 302 DWORD* byte_count) const;
302 303
303 // helper function to get the parent key name and the subkey from a string 304 // helper function to get the parent key name and the subkey from a string
304 // modifies the argument in place and returns the key name 305 // modifies the argument in place and returns the key name
305 // Necessary for the static versions that use the full name of the reg key 306 // Necessary for the static versions that use the full name of the reg key
306 static std::wstring GetParentKeyInfo(std::wstring* key_name); 307 static std::wstring GetParentKeyInfo(std::wstring* key_name);
307 308
308 // common SET Helper for the static case 309 // common SET Helper for the static case
309 static HRESULT SetValueStaticHelper(const wchar_t* full_key_name, 310 static HRESULT SetValueStaticHelper(const wchar_t* full_key_name,
310 const wchar_t* value_name, 311 const wchar_t* value_name,
311 DWORD type, 312 DWORD type,
312 LPVOID value, 313 LPVOID value,
313 DWORD byte_count = 0); 314 DWORD byte_count = 0);
314 315
315 // common GET Helper for the static case 316 // common GET Helper for the static case
316 static HRESULT GetValueStaticHelper(const wchar_t* full_key_name, 317 static HRESULT GetValueStaticHelper(const wchar_t* full_key_name,
317 const wchar_t* value_name, 318 const wchar_t* value_name,
318 DWORD type, 319 DWORD type,
319 LPVOID value, 320 LPVOID value,
320 DWORD* byte_count = NULL); 321 DWORD* byte_count = NULL);
321 322
322 // convert REG_MULTI_SZ bytes to string array 323 // convert REG_MULTI_SZ bytes to string array
323 static HRESULT MultiSZBytesToStringArray(const uint8* buffer, 324 static HRESULT MultiSZBytesToStringArray(const uint8_t* buffer,
324 DWORD byte_count, 325 DWORD byte_count,
325 std::vector<std::wstring>* value); 326 std::vector<std::wstring>* value);
326 327
327 // the HKEY for the current key 328 // the HKEY for the current key
328 HKEY h_key_; 329 HKEY h_key_;
329 330
330 // for unittest 331 // for unittest
331 friend void RegKeyHelperFunctionsTest(); 332 friend void RegKeyHelperFunctionsTest();
332 333
333 RTC_DISALLOW_COPY_AND_ASSIGN(RegKey); 334 RTC_DISALLOW_COPY_AND_ASSIGN(RegKey);
334 }; 335 };
335 336
336 } // namespace rtc 337 } // namespace rtc
337 338
338 #endif // WEBRTC_BASE_WIN32REGKEY_H_ 339 #endif // WEBRTC_BASE_WIN32REGKEY_H_
OLDNEW
« no previous file with comments | « webrtc/base/win32filesystem.cc ('k') | webrtc/base/win32regkey.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698