@@ -94,11 +94,13 @@ struct ToolchainItem {
9494/* *
9595 * @brief package item containing
9696 * pack information pack,
97- * path to pack path
97+ * path to pack path,
98+ * origin file,
9899*/
99100struct PackageItem {
100101 PackInfo pack;
101102 std::string path;
103+ std::string origin;
102104};
103105
104106/* *
@@ -242,6 +244,30 @@ struct ContextTypesItem {
242244 BoolMap missingTargetTypes;
243245};
244246
247+ /* *
248+ * @brief validation condition item containing
249+ * expression (accept/deny/require ...)
250+ * related aggregates
251+ */
252+ struct ValidationCondition {
253+ std::string expression;
254+ StrSet aggregates;
255+ };
256+
257+ /* *
258+ * @brief validation result containing
259+ * result according to enum ConditionResult
260+ * component/api identifier
261+ * direct related aggregates
262+ * conditions (expressions and related identifiers)
263+ */
264+ struct ValidationResult {
265+ RteItem::ConditionResult result;
266+ std::string id;
267+ StrSet aggregates;
268+ std::vector<ValidationCondition> conditions;
269+ };
270+
245271/* *
246272 * @brief project context item containing
247273 * pointer to csolution,
@@ -336,7 +362,7 @@ struct ContextItem {
336362 std::map<std::string, std::pair<RteApi*, std::vector<std::string>>> apis;
337363 std::map<std::string, SelectedComponentItem> bootstrapComponents;
338364 StrMap bootstrapMap;
339- std::vector<std::tuple<RteItem::ConditionResult, std::string, std::set<std::string>, std::set<std::string>> > validationResults;
365+ std::vector<ValidationResult > validationResults;
340366 std::map<std::string, std::map<std::string, RteFileInstance*>> configFiles;
341367 std::map<std::string, std::string> plmStatus;
342368 std::map<std::string, std::vector<ComponentFileItem>> componentFiles;
0 commit comments