| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| (Empty) | |
| 1 #include <string> | |
|
sergei
2014/07/28 11:46:27
Where is the guard?
| |
| 2 #include <Windows.h> | |
| 3 | |
| 4 namespace AdblockPlus | |
| 5 { | |
| 6 /** | |
| 7 * An open key in the system registry. | |
| 8 * | |
| 9 * This class is not completely general. | |
| 10 * In particular, it cannot encapsulate the predefined registry keys | |
| 11 * such as HKEY_CLASSES_ROOT. | |
| 12 * These classes are considered "always open", | |
| 13 * and the destructor should not close them. | |
| 14 * Rather than trying to detect these predefined keys, | |
| 15 * we simply don't allow them to be constructed. | |
| 16 * In practice, this is a limitation without much consequence. | |
| 17 * If this were a library designed for standalone use, | |
| 18 * this limitation might not be appropriate, but it's fine here. | |
| 19 */ | |
|
Oleksandr
2014/07/27 22:13:30
Extensive comments make the code hard to read, IMH
sergei
2014/07/28 11:46:27
I find this particular comment and the comment for
Eric
2014/07/28 11:48:43
These comments are formatted for consumption by Do
| |
| 20 class Registry_Key | |
|
sergei
2014/07/28 11:46:27
remove underscore
| |
| 21 { | |
| 22 /** | |
| 23 * Handle to registry key that is open and not predefined. | |
|
sergei
2014/07/28 11:46:27
But, for example, this comment and the comment for
| |
| 24 */ | |
| 25 HKEY key; | |
| 26 | |
| 27 public: | |
| 28 /** | |
| 29 * Constructor to open a key as a subkey key of an existing parent. | |
| 30 * Opens the key with read-only access. | |
| 31 * | |
| 32 * The constructor throws if 'key_name' is not found, | |
| 33 * to preserve the invariant that the registry key is open. | |
| 34 * The constructor also throws if 'key_name' is empty, | |
| 35 * to preserve the invariant the the registry key is not predefinded. | |
| 36 * | |
| 37 * \param parent | |
| 38 * An open registry key. This may be one of the predefined keys. | |
| 39 * \param key_name | |
| 40 * Name of the subkey to be opened under the parent. | |
| 41 */ | |
| 42 Registry_Key(HKEY parent, std::wstring key_name); | |
|
sergei
2014/07/28 11:46:27
- const references
- keyName
| |
| 43 | |
| 44 /** | |
| 45 * Destructor always closes the key. | |
| 46 */ | |
| 47 ~Registry_Key(); | |
| 48 | |
| 49 /** | |
| 50 * Retrieve a value from a name-value pair within the present key. | |
| 51 * | |
| 52 * Throws if the name is not found within the dictionary. | |
| 53 * Throws if the name is found but is not a string. | |
| 54 */ | |
| 55 std::wstring value_wstring(std::wstring name) const; | |
|
sergei
2014/07/28 11:46:27
To be consistent with the rest code, it's better t
| |
| 56 }; | |
| 57 } | |
| 58 | |
| OLD | NEW |