Lines Matching full:element

60 std::unique_ptr<Action> parseAction(const json& element)  in parseAction()  argument
62 verifyIsObject(element); in parseAction()
66 if (element.contains("comments")) in parseAction()
73 if (element.contains("and")) in parseAction()
75 action = parseAnd(element["and"]); in parseAction()
78 else if (element.contains("compare_presence")) in parseAction()
80 action = parseComparePresence(element["compare_presence"]); in parseAction()
83 else if (element.contains("compare_vpd")) in parseAction()
85 action = parseCompareVPD(element["compare_vpd"]); in parseAction()
88 else if (element.contains("i2c_capture_bytes")) in parseAction()
90 action = parseI2CCaptureBytes(element["i2c_capture_bytes"]); in parseAction()
93 else if (element.contains("i2c_compare_bit")) in parseAction()
95 action = parseI2CCompareBit(element["i2c_compare_bit"]); in parseAction()
98 else if (element.contains("i2c_compare_byte")) in parseAction()
100 action = parseI2CCompareByte(element["i2c_compare_byte"]); in parseAction()
103 else if (element.contains("i2c_compare_bytes")) in parseAction()
105 action = parseI2CCompareBytes(element["i2c_compare_bytes"]); in parseAction()
108 else if (element.contains("i2c_write_bit")) in parseAction()
110 action = parseI2CWriteBit(element["i2c_write_bit"]); in parseAction()
113 else if (element.contains("i2c_write_byte")) in parseAction()
115 action = parseI2CWriteByte(element["i2c_write_byte"]); in parseAction()
118 else if (element.contains("i2c_write_bytes")) in parseAction()
120 action = parseI2CWriteBytes(element["i2c_write_bytes"]); in parseAction()
123 else if (element.contains("if")) in parseAction()
125 action = parseIf(element["if"]); in parseAction()
128 else if (element.contains("log_phase_fault")) in parseAction()
130 action = parseLogPhaseFault(element["log_phase_fault"]); in parseAction()
133 else if (element.contains("not")) in parseAction()
135 action = parseNot(element["not"]); in parseAction()
138 else if (element.contains("or")) in parseAction()
140 action = parseOr(element["or"]); in parseAction()
143 else if (element.contains("pmbus_read_sensor")) in parseAction()
145 action = parsePMBusReadSensor(element["pmbus_read_sensor"]); in parseAction()
148 else if (element.contains("pmbus_write_vout_command")) in parseAction()
151 parsePMBusWriteVoutCommand(element["pmbus_write_vout_command"]); in parseAction()
154 else if (element.contains("run_rule")) in parseAction()
156 action = parseRunRule(element["run_rule"]); in parseAction()
159 else if (element.contains("set_device")) in parseAction()
161 action = parseSetDevice(element["set_device"]); in parseAction()
170 verifyPropertyCount(element, propertyCount); in parseAction()
175 std::vector<std::unique_ptr<Action>> parseActionArray(const json& element) in parseActionArray() argument
177 verifyIsArray(element); in parseActionArray()
179 for (auto& actionElement : element) in parseActionArray()
186 std::unique_ptr<AndAction> parseAnd(const json& element) in parseAnd() argument
188 verifyIsArray(element); in parseAnd()
191 if (element.size() < 2) in parseAnd()
196 std::vector<std::unique_ptr<Action>> actions = parseActionArray(element); in parseAnd()
201 std::unique_ptr<Chassis> parseChassis(const json& element) in parseChassis() argument
203 verifyIsObject(element); in parseChassis()
207 if (element.contains("comments")) in parseChassis()
213 const json& numberElement = getRequiredProperty(element, "number"); in parseChassis()
223 getRequiredProperty(element, "inventory_path"); in parseChassis()
229 auto devicesIt = element.find("devices"); in parseChassis()
230 if (devicesIt != element.end()) in parseChassis()
237 verifyPropertyCount(element, propertyCount); in parseChassis()
242 std::vector<std::unique_ptr<Chassis>> parseChassisArray(const json& element) in parseChassisArray() argument
244 verifyIsArray(element); in parseChassisArray()
246 for (auto& chassisElement : element) in parseChassisArray()
253 std::unique_ptr<ComparePresenceAction> parseComparePresence(const json& element) in parseComparePresence() argument
255 verifyIsObject(element); in parseComparePresence()
259 const json& fruElement = getRequiredProperty(element, "fru"); in parseComparePresence()
264 const json& valueElement = getRequiredProperty(element, "value"); in parseComparePresence()
269 verifyPropertyCount(element, propertyCount); in parseComparePresence()
274 std::unique_ptr<CompareVPDAction> parseCompareVPD(const json& element) in parseCompareVPD() argument
276 verifyIsObject(element); in parseCompareVPD()
280 const json& fruElement = getRequiredProperty(element, "fru"); in parseCompareVPD()
285 const json& keywordElement = getRequiredProperty(element, "keyword"); in parseCompareVPD()
290 auto valueIt = element.find("value"); in parseCompareVPD()
292 auto byteValuesIt = element.find("byte_values"); in parseCompareVPD()
293 if ((valueIt != element.end()) && (byteValuesIt == element.end())) in parseCompareVPD()
299 else if ((valueIt == element.end()) && (byteValuesIt != element.end())) in parseCompareVPD()
311 verifyPropertyCount(element, propertyCount); in parseCompareVPD()
316 std::unique_ptr<Configuration> parseConfiguration(const json& element) in parseConfiguration() argument
318 verifyIsObject(element); in parseConfiguration()
322 if (element.contains("comments")) in parseConfiguration()
329 auto voltsIt = element.find("volts"); in parseConfiguration()
330 if (voltsIt != element.end()) in parseConfiguration()
338 actions = parseRuleIDOrActionsProperty(element); in parseConfiguration()
342 verifyPropertyCount(element, propertyCount); in parseConfiguration()
347 std::unique_ptr<Device> parseDevice(const json& element) in parseDevice() argument
349 verifyIsObject(element); in parseDevice()
353 if (element.contains("comments")) in parseDevice()
359 const json& idElement = getRequiredProperty(element, "id"); in parseDevice()
365 getRequiredProperty(element, "is_regulator"); in parseDevice()
370 const json& fruElement = getRequiredProperty(element, "fru"); in parseDevice()
376 getRequiredProperty(element, "i2c_interface"); in parseDevice()
383 auto presenceDetectionIt = element.find("presence_detection"); in parseDevice()
384 if (presenceDetectionIt != element.end()) in parseDevice()
392 auto configurationIt = element.find("configuration"); in parseDevice()
393 if (configurationIt != element.end()) in parseDevice()
401 auto phaseFaultDetectionIt = element.find("phase_fault_detection"); in parseDevice()
402 if (phaseFaultDetectionIt != element.end()) in parseDevice()
415 auto railsIt = element.find("rails"); in parseDevice()
416 if (railsIt != element.end()) in parseDevice()
428 verifyPropertyCount(element, propertyCount); in parseDevice()
436 std::vector<std::unique_ptr<Device>> parseDeviceArray(const json& element) in parseDeviceArray() argument
438 verifyIsArray(element); in parseDeviceArray()
440 for (auto& deviceElement : element) in parseDeviceArray()
447 std::unique_ptr<I2CCaptureBytesAction> parseI2CCaptureBytes(const json& element) in parseI2CCaptureBytes() argument
449 verifyIsObject(element); in parseI2CCaptureBytes()
453 const json& regElement = getRequiredProperty(element, "register"); in parseI2CCaptureBytes()
458 const json& countElement = getRequiredProperty(element, "count"); in parseI2CCaptureBytes()
467 verifyPropertyCount(element, propertyCount); in parseI2CCaptureBytes()
472 std::unique_ptr<I2CCompareBitAction> parseI2CCompareBit(const json& element) in parseI2CCompareBit() argument
474 verifyIsObject(element); in parseI2CCompareBit()
478 const json& regElement = getRequiredProperty(element, "register"); in parseI2CCompareBit()
483 const json& positionElement = getRequiredProperty(element, "position"); in parseI2CCompareBit()
488 const json& valueElement = getRequiredProperty(element, "value"); in parseI2CCompareBit()
493 verifyPropertyCount(element, propertyCount); in parseI2CCompareBit()
498 std::unique_ptr<I2CCompareByteAction> parseI2CCompareByte(const json& element) in parseI2CCompareByte() argument
500 verifyIsObject(element); in parseI2CCompareByte()
504 const json& regElement = getRequiredProperty(element, "register"); in parseI2CCompareByte()
509 const json& valueElement = getRequiredProperty(element, "value"); in parseI2CCompareByte()
515 auto maskIt = element.find("mask"); in parseI2CCompareByte()
516 if (maskIt != element.end()) in parseI2CCompareByte()
523 verifyPropertyCount(element, propertyCount); in parseI2CCompareByte()
528 std::unique_ptr<I2CCompareBytesAction> parseI2CCompareBytes(const json& element) in parseI2CCompareBytes() argument
530 verifyIsObject(element); in parseI2CCompareBytes()
534 const json& regElement = getRequiredProperty(element, "register"); in parseI2CCompareBytes()
539 const json& valueElement = getRequiredProperty(element, "values"); in parseI2CCompareBytes()
545 auto masksIt = element.find("masks"); in parseI2CCompareBytes()
546 if (masksIt != element.end()) in parseI2CCompareBytes()
559 verifyPropertyCount(element, propertyCount); in parseI2CCompareBytes()
568 std::unique_ptr<i2c::I2CInterface> parseI2CInterface(const json& element) in parseI2CInterface() argument
570 verifyIsObject(element); in parseI2CInterface()
574 const json& busElement = getRequiredProperty(element, "bus"); in parseI2CInterface()
579 const json& addressElement = getRequiredProperty(element, "address"); in parseI2CInterface()
584 verifyPropertyCount(element, propertyCount); in parseI2CInterface()
592 std::unique_ptr<I2CWriteBitAction> parseI2CWriteBit(const json& element) in parseI2CWriteBit() argument
594 verifyIsObject(element); in parseI2CWriteBit()
598 const json& regElement = getRequiredProperty(element, "register"); in parseI2CWriteBit()
603 const json& positionElement = getRequiredProperty(element, "position"); in parseI2CWriteBit()
608 const json& valueElement = getRequiredProperty(element, "value"); in parseI2CWriteBit()
613 verifyPropertyCount(element, propertyCount); in parseI2CWriteBit()
618 std::unique_ptr<I2CWriteByteAction> parseI2CWriteByte(const json& element) in parseI2CWriteByte() argument
620 verifyIsObject(element); in parseI2CWriteByte()
624 const json& regElement = getRequiredProperty(element, "register"); in parseI2CWriteByte()
629 const json& valueElement = getRequiredProperty(element, "value"); in parseI2CWriteByte()
635 auto maskIt = element.find("mask"); in parseI2CWriteByte()
636 if (maskIt != element.end()) in parseI2CWriteByte()
643 verifyPropertyCount(element, propertyCount); in parseI2CWriteByte()
648 std::unique_ptr<I2CWriteBytesAction> parseI2CWriteBytes(const json& element) in parseI2CWriteBytes() argument
650 verifyIsObject(element); in parseI2CWriteBytes()
654 const json& regElement = getRequiredProperty(element, "register"); in parseI2CWriteBytes()
659 const json& valueElement = getRequiredProperty(element, "values"); in parseI2CWriteBytes()
665 auto masksIt = element.find("masks"); in parseI2CWriteBytes()
666 if (masksIt != element.end()) in parseI2CWriteBytes()
679 verifyPropertyCount(element, propertyCount); in parseI2CWriteBytes()
688 std::unique_ptr<IfAction> parseIf(const json& element) in parseIf() argument
690 verifyIsObject(element); in parseIf()
694 const json& conditionElement = getRequiredProperty(element, "condition"); in parseIf()
699 const json& thenElement = getRequiredProperty(element, "then"); in parseIf()
706 auto elseIt = element.find("else"); in parseIf()
707 if (elseIt != element.end()) in parseIf()
714 verifyPropertyCount(element, propertyCount); in parseIf()
721 std::string parseInventoryPath(const json& element) in parseInventoryPath() argument
723 std::string inventoryPath = parseString(element); in parseInventoryPath()
733 std::unique_ptr<LogPhaseFaultAction> parseLogPhaseFault(const json& element) in parseLogPhaseFault() argument
735 verifyIsObject(element); in parseLogPhaseFault()
739 const json& typeElement = getRequiredProperty(element, "type"); in parseLogPhaseFault()
744 verifyPropertyCount(element, propertyCount); in parseLogPhaseFault()
749 std::unique_ptr<NotAction> parseNot(const json& element) in parseNot() argument
752 std::unique_ptr<Action> action = parseAction(element); in parseNot()
757 std::unique_ptr<OrAction> parseOr(const json& element) in parseOr() argument
759 verifyIsArray(element); in parseOr()
762 if (element.size() < 2) in parseOr()
767 std::vector<std::unique_ptr<Action>> actions = parseActionArray(element); in parseOr()
773 const json& element) in parsePhaseFaultDetection() argument
775 verifyIsObject(element); in parsePhaseFaultDetection()
779 if (element.contains("comments")) in parsePhaseFaultDetection()
786 auto deviceIDIt = element.find("device_id"); in parsePhaseFaultDetection()
787 if (deviceIDIt != element.end()) in parsePhaseFaultDetection()
795 actions = parseRuleIDOrActionsProperty(element); in parsePhaseFaultDetection()
799 verifyPropertyCount(element, propertyCount); in parsePhaseFaultDetection()
804 PhaseFaultType parsePhaseFaultType(const json& element) in parsePhaseFaultType() argument
806 std::string value = parseString(element); in parsePhaseFaultType()
819 throw std::invalid_argument{"Element is not a phase fault type"}; in parsePhaseFaultType()
825 std::unique_ptr<PMBusReadSensorAction> parsePMBusReadSensor(const json& element) in parsePMBusReadSensor() argument
827 verifyIsObject(element); in parsePMBusReadSensor()
831 const json& typeElement = getRequiredProperty(element, "type"); in parsePMBusReadSensor()
836 const json& commandElement = getRequiredProperty(element, "command"); in parsePMBusReadSensor()
841 const json& formatElement = getRequiredProperty(element, "format"); in parsePMBusReadSensor()
847 auto exponentIt = element.find("exponent"); in parsePMBusReadSensor()
848 if (exponentIt != element.end()) in parsePMBusReadSensor()
855 verifyPropertyCount(element, propertyCount); in parsePMBusReadSensor()
862 const json& element) in parsePMBusWriteVoutCommand() argument
864 verifyIsObject(element); in parsePMBusWriteVoutCommand()
869 auto voltsIt = element.find("volts"); in parsePMBusWriteVoutCommand()
870 if (voltsIt != element.end()) in parsePMBusWriteVoutCommand()
877 const json& formatElement = getRequiredProperty(element, "format"); in parsePMBusWriteVoutCommand()
888 auto exponentIt = element.find("exponent"); in parsePMBusWriteVoutCommand()
889 if (exponentIt != element.end()) in parsePMBusWriteVoutCommand()
897 auto isVerifiedIt = element.find("is_verified"); in parsePMBusWriteVoutCommand()
898 if (isVerifiedIt != element.end()) in parsePMBusWriteVoutCommand()
905 verifyPropertyCount(element, propertyCount); in parsePMBusWriteVoutCommand()
911 std::unique_ptr<PresenceDetection> parsePresenceDetection(const json& element) in parsePresenceDetection() argument
913 verifyIsObject(element); in parsePresenceDetection()
917 if (element.contains("comments")) in parsePresenceDetection()
924 actions = parseRuleIDOrActionsProperty(element); in parsePresenceDetection()
928 verifyPropertyCount(element, propertyCount); in parsePresenceDetection()
933 std::unique_ptr<Rail> parseRail(const json& element) in parseRail() argument
935 verifyIsObject(element); in parseRail()
939 if (element.contains("comments")) in parseRail()
945 const json& idElement = getRequiredProperty(element, "id"); in parseRail()
951 auto configurationIt = element.find("configuration"); in parseRail()
952 if (configurationIt != element.end()) in parseRail()
960 auto sensorMonitoringIt = element.find("sensor_monitoring"); in parseRail()
961 if (sensorMonitoringIt != element.end()) in parseRail()
968 verifyPropertyCount(element, propertyCount); in parseRail()
974 std::vector<std::unique_ptr<Rail>> parseRailArray(const json& element) in parseRailArray() argument
976 verifyIsArray(element); in parseRailArray()
978 for (auto& railElement : element) in parseRailArray()
987 parseRoot(const json& element) in parseRoot() argument
989 verifyIsObject(element); in parseRoot()
993 if (element.contains("comments")) in parseRoot()
1000 auto rulesIt = element.find("rules"); in parseRoot()
1001 if (rulesIt != element.end()) in parseRoot()
1008 const json& chassisElement = getRequiredProperty(element, "chassis"); in parseRoot()
1014 verifyPropertyCount(element, propertyCount); in parseRoot()
1019 std::unique_ptr<Rule> parseRule(const json& element) in parseRule() argument
1021 verifyIsObject(element); in parseRule()
1025 if (element.contains("comments")) in parseRule()
1031 const json& idElement = getRequiredProperty(element, "id"); in parseRule()
1036 const json& actionsElement = getRequiredProperty(element, "actions"); in parseRule()
1042 verifyPropertyCount(element, propertyCount); in parseRule()
1047 std::vector<std::unique_ptr<Rule>> parseRuleArray(const json& element) in parseRuleArray() argument
1049 verifyIsArray(element); in parseRuleArray()
1051 for (auto& ruleElement : element) in parseRuleArray()
1059 const json& element) in parseRuleIDOrActionsProperty() argument
1061 verifyIsObject(element); in parseRuleIDOrActionsProperty()
1064 auto ruleIDIt = element.find("rule_id"); in parseRuleIDOrActionsProperty()
1065 auto actionsIt = element.find("actions"); in parseRuleIDOrActionsProperty()
1066 if ((actionsIt == element.end()) && (ruleIDIt != element.end())) in parseRuleIDOrActionsProperty()
1071 else if ((actionsIt != element.end()) && (ruleIDIt == element.end())) in parseRuleIDOrActionsProperty()
1084 std::unique_ptr<RunRuleAction> parseRunRule(const json& element) in parseRunRule() argument
1087 std::string ruleID = parseString(element); in parseRunRule()
1092 pmbus_utils::SensorDataFormat parseSensorDataFormat(const json& element) in parseSensorDataFormat() argument
1094 if (!element.is_string()) in parseSensorDataFormat()
1096 throw std::invalid_argument{"Element is not a string"}; in parseSensorDataFormat()
1098 std::string value = element.get<std::string>(); in parseSensorDataFormat()
1111 throw std::invalid_argument{"Element is not a sensor data format"}; in parseSensorDataFormat()
1117 std::unique_ptr<SensorMonitoring> parseSensorMonitoring(const json& element) in parseSensorMonitoring() argument
1119 verifyIsObject(element); in parseSensorMonitoring()
1123 if (element.contains("comments")) in parseSensorMonitoring()
1130 actions = parseRuleIDOrActionsProperty(element); in parseSensorMonitoring()
1134 verifyPropertyCount(element, propertyCount); in parseSensorMonitoring()
1139 SensorType parseSensorType(const json& element) in parseSensorType() argument
1141 std::string value = parseString(element); in parseSensorType()
1182 throw std::invalid_argument{"Element is not a sensor type"}; in parseSensorType()
1188 std::unique_ptr<SetDeviceAction> parseSetDevice(const json& element) in parseSetDevice() argument
1191 std::string deviceID = parseString(element); in parseSetDevice()
1196 pmbus_utils::VoutDataFormat parseVoutDataFormat(const json& element) in parseVoutDataFormat() argument
1198 if (!element.is_string()) in parseVoutDataFormat()
1200 throw std::invalid_argument{"Element is not a string"}; in parseVoutDataFormat()
1202 std::string value = element.get<std::string>(); in parseVoutDataFormat()
1223 throw std::invalid_argument{"Element is not a vout data format"}; in parseVoutDataFormat()