21 #ifndef __OMNETPP_NEDXML_NEDCROSSVALIDATOR_H
22 #define __OMNETPP_NEDXML_NEDCROSSVALIDATOR_H
25 #include "nedvalidator.h"
30 class NedResourceCache;
49 ASTNode *findChildWithTagAndAttribute(
ASTNode *node,
int tag,
const char *attr,
const char *value);
50 void checkGate(GateElement *gate,
bool hasGateIndex,
bool isInput,
ASTNode *conn,
bool isSrcGate);
51 void validateConnGate(
const char *submodName,
bool hasSubmodIndex,
52 const char *gateName,
bool hasGateIndex,
56 ASTNode *getXXXDeclaration(
const char *name,
int tagcode1,
int tagcode2=-1);
59 ASTNode *getModuleDeclaration(
const char *name);
60 ASTNode *getChannelDeclaration(
const char *name);
61 ASTNode *getModuleInterfaceDeclaration(
const char *name);
62 ASTNode *getChannelInterfaceDeclaration(
const char *name);
74 virtual void validateElement(FilesElement *node)
override;
75 virtual void validateElement(NedFileElement *node)
override;
76 virtual void validateElement(CommentElement *node)
override;
77 virtual void validateElement(ImportElement *node)
override;
78 virtual void validateElement(PropertyDeclElement *node)
override;
79 virtual void validateElement(ExtendsElement *node)
override;
80 virtual void validateElement(InterfaceNameElement *node)
override;
81 virtual void validateElement(SimpleModuleElement *node)
override;
82 virtual void validateElement(ModuleInterfaceElement *node)
override;
83 virtual void validateElement(CompoundModuleElement *node)
override;
84 virtual void validateElement(ChannelInterfaceElement *node)
override;
85 virtual void validateElement(ChannelElement *node)
override;
86 virtual void validateElement(ParametersElement *node)
override;
87 virtual void validateElement(ParamElement *node)
override;
88 virtual void validateElement(PropertyElement *node)
override;
89 virtual void validateElement(PropertyKeyElement *node)
override;
90 virtual void validateElement(GatesElement *node)
override;
91 virtual void validateElement(GateElement *node)
override;
92 virtual void validateElement(TypesElement *node)
override;
93 virtual void validateElement(SubmodulesElement *node)
override;
94 virtual void validateElement(SubmoduleElement *node)
override;
95 virtual void validateElement(ConnectionsElement *node)
override;
96 virtual void validateElement(ConnectionElement *node)
override;
97 virtual void validateElement(ConnectionGroupElement *node)
override;
98 virtual void validateElement(LoopElement *node)
override;
99 virtual void validateElement(ConditionElement *node)
override;
100 virtual void validateElement(LiteralElement *node)
override;
101 virtual void validateElement(UnknownElement *node)
override;