MCPcopy Create free account
hub / github.com/PowerShell/DSC / config_get

Function config_get

archive/registry/src/regconfighelper.rs:31–72  ·  view source on GitHub ↗
(config: &Registry)

Source from the content-addressed store, hash-verified

29}
30
31pub fn config_get(config: &Registry) -> Result<String, RegistryError> {
32 let mut reg_result = Registry { key_path: config.key_path.clone(), ..Default::default() };
33
34 let reg_key = match RegistryKey::new(config.key_path.as_str()) {
35 Ok(reg_key) => reg_key,
36 Err(NtStatusError { status: NtStatusErrorKind::ObjectNameNotFound, ..}) => {
37 reg_result.exist = Some(false);
38 match serde_json::to_string(&reg_result) {
39 Ok(reg_json) => {
40 return Ok(reg_json);
41 },
42 Err(err) => {
43 return Err(RegistryError::Json(err.to_string()));
44 }
45 }
46 }
47 Err(err) => {
48 return Err(RegistryError::NtStatus(err));
49 }
50 };
51
52 if config.value_name.is_some() {
53 let reg_value = match reg_key.get_value(config.value_name.as_ref().unwrap().as_str()) {
54 Ok(reg_value) => reg_value,
55 Err(err) => {
56 return Err(RegistryError::NtStatus(err));
57 }
58 };
59
60 reg_result.value_name = Some(reg_value.name);
61 reg_result.value_data = Some(convert_ntreg_data(&reg_value.data)?);
62 }
63
64 match serde_json::to_string(&reg_result) {
65 Ok(reg_json) => {
66 Ok(reg_json)
67 },
68 Err(err) => {
69 Err(RegistryError::Json(err.to_string()))
70 }
71 }
72}
73
74pub fn config_set(config: &Registry) -> Result<String, RegistryError> {
75 let mut reg_result = Registry { key_path: config.key_path.clone(), ..Default::default() };

Callers 1

mainFunction · 0.70

Calls 8

JsonClass · 0.85
convert_ntreg_dataFunction · 0.85
as_strMethod · 0.80
get_valueMethod · 0.80
defaultFunction · 0.50
newFunction · 0.50
to_stringFunction · 0.50
as_refMethod · 0.45

Tested by

no test coverage detected