62 virtual public ::particle
66 ::pointer < registry > m_pregistry;
70 virtual void close() =0;
73 virtual ::e_status _set_string(const ::scoped_string &scopedstrName, const ::scoped_string &scopedstr) = 0;
74 virtual ::e_status _set_dword(const ::scoped_string &scopedstrName, ::u32 u) = 0;
75 virtual ::e_status _set_qword(const ::scoped_string &scopedstrName, ::u64 ull) = 0;
76 virtual ::e_status _set_binary(const ::scoped_string &scopedstrName, const ::block &
block) = 0;
79 virtual ::e_status _get_string(const ::scoped_string &scopedstrName, ::string &str) = 0;
80 virtual ::e_status _get_dword(const ::scoped_string &scopedstrName, ::u32 &u) = 0;
81 virtual ::e_status _get_qword(const ::scoped_string &scopedstrName, ::u64 & ull) = 0;
82 virtual ::e_status _get_binary(const ::scoped_string &scopedstrName,
::memory &
memory) = 0;
85 virtual ::e_status _erase_payload(const ::scoped_string &scopedstrName) = 0;
86 virtual ::e_status _has_payload(const ::scoped_string &scopedstrName,
bool & bExists) = 0;
87 virtual ::e_status _payload_type(const ::scoped_string &scopedstrName, enum_registry & eregistry) = 0;
90 inline void set_string(const ::scoped_string &scopedstrName, const ::scoped_string & scopedstr)
92 auto estatus = _set_string(scopedstrName, scopedstr);
94 throw ::exception(estatus);
97 inline void set_dword(const ::scoped_string &scopedstrName, ::u32 u)
99 auto estatus = _set_dword(scopedstrName, u);
101 throw ::exception(estatus);
104 inline void set_qword(const ::scoped_string &scopedstrName, ::u64 ull)
106 auto estatus = _set_qword(scopedstrName, ull);
108 throw ::exception(estatus);
120 inline void set_binary(const ::scoped_string &scopedstrName, const ::block &
block)
122 auto estatus = _set_binary(scopedstrName,
block);
124 throw ::exception(estatus);
128 ::string get_string(const ::scoped_string &scopedstrName)
131 auto estatus = _get_string(scopedstrName, str);
133 throw ::exception(estatus);
134 return ::transfer(str);
137 inline ::u32 get_dword(const ::scoped_string &scopedstrName)
140 auto estatus = _get_dword(scopedstrName, u);
142 throw ::exception(estatus);
146 inline ::u64 get_qword(const ::scoped_string &scopedstrName)
149 auto estatus = _get_qword(scopedstrName, ull);
151 throw ::exception(estatus);
164 inline ::memory get_binary(const ::scoped_string &scopedstrName)
167 auto estatus = _get_binary(scopedstrName,
memory);
169 throw ::exception(estatus);
170 return ::transfer(
memory);
173 inline void erase_payload(const ::scoped_string &scopedstrName)
175 auto estatus = _erase_payload(scopedstrName);
176 if (estatus == error_not_found)
181 throw ::exception(estatus);
185 inline bool has_payload(const ::scoped_string &scopedstrName)
187 bool bExists =
false;
188 auto estatus = _has_payload(scopedstrName, bExists);
194 inline enum_registry payload_type(const ::scoped_string &scopedstrName)
196 enum_registry eregistry = e_registry_none;
197 auto estatus = _payload_type(scopedstrName, eregistry);
208 class CLASS_DECL_ACME registry_key :
213 ::pointer<registry_key_interface> m_pregistrykey;
217 ~registry_key()
override;
219 void close()
override;
221 ::e_status _set_string(const ::scoped_string &scopedstrName, const ::scoped_string &scopedstr)
override;
222 ::e_status _set_dword(const ::scoped_string &scopedstrName, ::u32 u)
override;
223 ::e_status _set_qword(const ::scoped_string &scopedstrName, ::u64 ull)
override;
224 ::e_status _set_binary(const ::scoped_string &scopedstrName, const ::block &
block)
override;
226 ::e_status _get_string(const ::scoped_string &scopedstrName, ::string &str)
override;
227 ::e_status _get_dword(const ::scoped_string &scopedstrName, ::u32 &u)
override;
228 ::e_status _get_qword(const ::scoped_string &scopedstrName, ::u64 &ull)
override;
232 ::e_status _erase_payload(const ::scoped_string &scopedstrName)
override;
233 ::e_status _has_payload(const ::scoped_string &scopedstrName,
bool & bExists)
override;
234 ::e_status _payload_type(const ::scoped_string &scopedstrName, enum_registry & eregistry)
override;