00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __NEDVALIDATOR_H
00018 #define __NEDVALIDATOR_H
00019
00020 #include "nedelements.h"
00021
00027 class NEDValidatorBase
00028 {
00029 public:
00030 NEDValidatorBase() {}
00031 virtual ~NEDValidatorBase() {}
00032
00033 virtual void validate(NEDElement *node);
00034 virtual void validateElement(NEDElement *node);
00035
00036 virtual void validateElement(NedFilesNode *node) = 0;
00037 virtual void validateElement(NedFileNode *node) = 0;
00038 virtual void validateElement(ImportNode *node) = 0;
00039 virtual void validateElement(ImportedFileNode *node) = 0;
00040 virtual void validateElement(ChannelNode *node) = 0;
00041 virtual void validateElement(ChannelAttrNode *node) = 0;
00042 virtual void validateElement(NetworkNode *node) = 0;
00043 virtual void validateElement(SimpleModuleNode *node) = 0;
00044 virtual void validateElement(CompoundModuleNode *node) = 0;
00045 virtual void validateElement(ParamsNode *node) = 0;
00046 virtual void validateElement(ParamNode *node) = 0;
00047 virtual void validateElement(GatesNode *node) = 0;
00048 virtual void validateElement(GateNode *node) = 0;
00049 virtual void validateElement(MachinesNode *node) = 0;
00050 virtual void validateElement(MachineNode *node) = 0;
00051 virtual void validateElement(SubmodulesNode *node) = 0;
00052 virtual void validateElement(SubmoduleNode *node) = 0;
00053 virtual void validateElement(SubstparamsNode *node) = 0;
00054 virtual void validateElement(SubstparamNode *node) = 0;
00055 virtual void validateElement(GatesizesNode *node) = 0;
00056 virtual void validateElement(GatesizeNode *node) = 0;
00057 virtual void validateElement(SubstmachinesNode *node) = 0;
00058 virtual void validateElement(SubstmachineNode *node) = 0;
00059 virtual void validateElement(ConnectionsNode *node) = 0;
00060 virtual void validateElement(ConnectionNode *node) = 0;
00061 virtual void validateElement(ConnAttrNode *node) = 0;
00062 virtual void validateElement(ForLoopNode *node) = 0;
00063 virtual void validateElement(LoopVarNode *node) = 0;
00064 virtual void validateElement(DisplayStringNode *node) = 0;
00065 virtual void validateElement(ExpressionNode *node) = 0;
00066 virtual void validateElement(OperatorNode *node) = 0;
00067 virtual void validateElement(FunctionNode *node) = 0;
00068 virtual void validateElement(ParamRefNode *node) = 0;
00069 virtual void validateElement(IdentNode *node) = 0;
00070 virtual void validateElement(ConstNode *node) = 0;
00071 virtual void validateElement(CppincludeNode *node) = 0;
00072 virtual void validateElement(CppStructNode *node) = 0;
00073 virtual void validateElement(CppCobjectNode *node) = 0;
00074 virtual void validateElement(CppNoncobjectNode *node) = 0;
00075 virtual void validateElement(EnumNode *node) = 0;
00076 virtual void validateElement(EnumFieldsNode *node) = 0;
00077 virtual void validateElement(EnumFieldNode *node) = 0;
00078 virtual void validateElement(MessageNode *node) = 0;
00079 virtual void validateElement(ClassNode *node) = 0;
00080 virtual void validateElement(StructNode *node) = 0;
00081 virtual void validateElement(FieldsNode *node) = 0;
00082 virtual void validateElement(FieldNode *node) = 0;
00083 virtual void validateElement(PropertiesNode *node) = 0;
00084 virtual void validateElement(PropertyNode *node) = 0;
00085 virtual void validateElement(UnknownNode *node) = 0;
00086 };
00087
00088 #endif
00089