aboutsummaryrefslogtreecommitdiff
path: root/src/openvic-simulation/dataloader/Dataloader_Windows.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/openvic-simulation/dataloader/Dataloader_Windows.hpp')
-rw-r--r--src/openvic-simulation/dataloader/Dataloader_Windows.hpp54
1 files changed, 31 insertions, 23 deletions
diff --git a/src/openvic-simulation/dataloader/Dataloader_Windows.hpp b/src/openvic-simulation/dataloader/Dataloader_Windows.hpp
index f4abbb6..37991b6 100644
--- a/src/openvic-simulation/dataloader/Dataloader_Windows.hpp
+++ b/src/openvic-simulation/dataloader/Dataloader_Windows.hpp
@@ -11,7 +11,9 @@
namespace OpenVic::Windows {
inline std::wstring convert(std::string_view as) {
// deal with trivial case of empty string
- if (as.empty()) return std::wstring();
+ if (as.empty()) {
+ return std::wstring();
+ }
// determine required length of new string
size_t length = ::MultiByteToWideChar(CP_UTF8, 0, as.data(), (int)as.length(), 0, 0);
@@ -28,7 +30,9 @@ namespace OpenVic::Windows {
inline std::string convert(std::wstring_view as) {
// deal with trivial case of empty string
- if (as.empty()) return std::string();
+ if (as.empty()) {
+ return std::string();
+ }
// determine required length of new string
size_t length = ::WideCharToMultiByte(CP_UTF8, 0, as.data(), (int)as.length(), 0, 0, NULL, NULL);
@@ -56,12 +60,12 @@ namespace OpenVic::Windows {
class RegistryKey {
public:
- RegistryKey(HKEY key_handle)
- : _key_handle(key_handle) {
- }
+ RegistryKey(HKEY key_handle) : _key_handle(key_handle) {}
template<either_char_type CHAR_T, either_char_type CHAR_T2>
- RegistryKey(HKEY parent_key_handle, std::basic_string_view<CHAR_T> child_key_name, std::basic_string_view<CHAR_T2> value_name) {
+ RegistryKey(
+ HKEY parent_key_handle, std::basic_string_view<CHAR_T> child_key_name, std::basic_string_view<CHAR_T2> value_name
+ ) {
open_key(parent_key_handle, child_key_name);
query_key(value_name);
}
@@ -80,29 +84,28 @@ namespace OpenVic::Windows {
template<either_char_type CHAR_T>
LSTATUS open_key(HKEY parent_key_handle, std::basic_string_view<CHAR_T> key_path) {
- if (is_open())
+ if (is_open()) {
close_key();
- if constexpr (std::is_same_v<CHAR_T, char>)
+ }
+ if constexpr (std::is_same_v<CHAR_T, char>) {
return RegOpenKeyExW(parent_key_handle, convert(key_path).data(), REG_NONE, KEY_READ, &_key_handle);
- else
+ } else {
return RegOpenKeyExW(parent_key_handle, key_path.data(), REG_NONE, KEY_READ, &_key_handle);
+ }
}
bool is_predefined() const {
- return (_key_handle == HKEY_CURRENT_USER) ||
- (_key_handle == HKEY_LOCAL_MACHINE) ||
- (_key_handle == HKEY_CLASSES_ROOT) ||
- (_key_handle == HKEY_CURRENT_CONFIG) ||
- (_key_handle == HKEY_CURRENT_USER_LOCAL_SETTINGS) ||
- (_key_handle == HKEY_PERFORMANCE_DATA) ||
- (_key_handle == HKEY_PERFORMANCE_NLSTEXT) ||
- (_key_handle == HKEY_PERFORMANCE_TEXT) ||
- (_key_handle == HKEY_USERS);
+ return (_key_handle == HKEY_CURRENT_USER) || (_key_handle == HKEY_LOCAL_MACHINE) ||
+ (_key_handle == HKEY_CLASSES_ROOT) || (_key_handle == HKEY_CURRENT_CONFIG) ||
+ (_key_handle == HKEY_CURRENT_USER_LOCAL_SETTINGS) || (_key_handle == HKEY_PERFORMANCE_DATA) ||
+ (_key_handle == HKEY_PERFORMANCE_NLSTEXT) || (_key_handle == HKEY_PERFORMANCE_TEXT) ||
+ (_key_handle == HKEY_USERS);
}
LSTATUS close_key() {
- if (!is_open() || is_predefined())
+ if (!is_open() || is_predefined()) {
return ERROR_SUCCESS;
+ }
auto result = RegCloseKey(_key_handle);
_key_handle = nullptr;
return result;
@@ -127,12 +130,15 @@ namespace OpenVic::Windows {
return result;
}
_value = std::wstring(data_size / sizeof(wchar_t), L'\0');
- result = RegQueryValueExW(_key_handle, wide_value.data(), NULL, NULL, reinterpret_cast<LPBYTE>(_value.data()), &data_size);
+ result = RegQueryValueExW(
+ _key_handle, wide_value.data(), NULL, NULL, reinterpret_cast<LPBYTE>(_value.data()), &data_size
+ );
close_key();
std::size_t first_null = _value.find_first_of(L'\0');
- if (first_null != std::string::npos)
+ if (first_null != std::string::npos) {
_value.resize(first_null);
+ }
return result;
}
@@ -143,7 +149,9 @@ namespace OpenVic::Windows {
};
template<either_char_type RCHAR_T, either_char_type CHAR_T, either_char_type CHAR_T2>
- std::basic_string<RCHAR_T> ReadRegValue(HKEY root, std::basic_string_view<CHAR_T> key, std::basic_string_view<CHAR_T2> name) {
+ std::basic_string<RCHAR_T> ReadRegValue(
+ HKEY root, std::basic_string_view<CHAR_T> key, std::basic_string_view<CHAR_T2> name
+ ) {
RegistryKey registry_key(root, key, name);
if constexpr (std::is_same_v<RCHAR_T, char>) {
return convert(registry_key.value());
@@ -159,4 +167,4 @@ namespace OpenVic::Windows {
return ReadRegValue<RCHAR_T>(root, key_sv, name_sv);
}
-} \ No newline at end of file
+}