7#include "../utility/module.hpp"
14namespace hi::inline
v1 {
16enum class registry_key { classes_root, current_config, current_user, local_machine, users };
26bool registry_delete(registry_key key, std::string_view path, std::string_view name);
46[[nodiscard]]
void registry_write(registry_key key, std::string_view path, std::string_view name, uint32_t value);
57[[nodiscard]]
void registry_write(registry_key key, std::string_view path, std::string_view name, std::string_view value);
61[[nodiscard]]
bool registry_exists(registry_key key, std::string_view path, std::string_view name);
71[[nodiscard]] std::optional<uint32_t>
registry_read_dword(registry_key key, std::string_view path, std::string_view name);
81[[nodiscard]] std::optional<std::string>
registry_read_string(registry_key key, std::string_view path, std::string_view name);
91[[nodiscard]] std::optional<std::vector<std::string>>
104[[nodiscard]] std::optional<T>
registry_read(registry_key key, std::string_view path, std::string_view name) =
delete;
106template<std::
integral T>
107[[nodiscard]]
inline std::optional<T>
registry_read(registry_key key, std::string_view path, std::string_view name)
110 return narrow_cast<T>(*tmp);
117[[nodiscard]]
inline std::optional<std::string> registry_read(registry_key key, std::string_view path, std::string_view name)
119 return registry_read_string(key, path, name);
123[[nodiscard]]
inline std::optional<std::vector<std::string>>
124registry_read(registry_key key, std::string_view path, std::string_view name)
#define hilet
Invariant should be the default for variables.
Definition utility.hpp:23
DOXYGEN BUG.
Definition algorithm.hpp:13
std::optional< std::vector< std::string > > registry_read_multi_string(registry_key key, std::string_view path, std::string_view name)
Read a list of strings from the registry value.
bool registry_delete(registry_key key, std::string_view path, std::string_view name)
Delete a registry value.
bool registry_exists(registry_key key, std::string_view path, std::string_view name)
Check if a registry entry exists.
std::optional< T > registry_read(registry_key key, std::string_view path, std::string_view name)=delete
Read from the registry value.
Definition registry_win32.hpp:107
std::optional< uint32_t > registry_read_dword(registry_key key, std::string_view path, std::string_view name)
Read a DWORD registry value.
void registry_write(registry_key key, std::string_view path, std::string_view name, uint32_t value)
Write a DWORD registry value.
std::optional< std::string > registry_read_string(registry_key key, std::string_view path, std::string_view name)
Read a strings from the registry value.