Main Page Modules Class Hierarchy Compound List File List Compound Members

# nedbasicvalidator.h

    00001 //==========================================================================
    00002 // nedbasicvalidator.h - part of the OMNeT++ Discrete System Simulation System
    00003 //
    00004 // Contents:
    00005 //   class NEDBasicValidator
    00006 //
    00007 //==========================================================================
    00008
    00009 /*--------------------------------------------------------------*
    00010   Copyright (C) 2002-2003 Andras Varga
    00011
    00012   This file is distributed WITHOUT ANY WARRANTY. See the file
    00013   `license' for details on this and other legal matters.
    00014 *--------------------------------------------------------------*/
    00015
    00016
    00017 #ifndef __NEDBASICVALIDATOR_H
    00018 #define __NEDBASICVALIDATOR_H
    00019
    00020 #include "nedvalidator.h"
    00021
    00030 class NEDBasicValidator : public NEDValidatorBase
    00031 {
    00032   protected:
    00033     bool parsedExpressions;
    00034     void checkUniqueness(NEDElement *node, int childtype, const char *attr);
    00035     void checkExpressionAttributes(NEDElement *node, const char *attrs[], bool optional[], int n);
    00036
    00037   public:
    00043     NEDBasicValidator(bool parsedExpr) {parsedExpressions=parsedExpr;}
    00044
    00048     virtual ~NEDBasicValidator() {}
    00049
    00050     virtual void validateElement(NedFilesNode *node);
    00051     virtual void validateElement(NedFileNode *node);
    00052     virtual void validateElement(ImportNode *node);
    00053     virtual void validateElement(ImportedFileNode *node);
    00054     virtual void validateElement(ChannelNode *node);
    00055     virtual void validateElement(ChannelAttrNode *node);
    00056     virtual void validateElement(NetworkNode *node);
    00057     virtual void validateElement(SimpleModuleNode *node);
    00058     virtual void validateElement(CompoundModuleNode *node);
    00059     virtual void validateElement(ParamsNode *node);
    00060     virtual void validateElement(ParamNode *node);
    00061     virtual void validateElement(GatesNode *node);
    00062     virtual void validateElement(GateNode *node);
    00063     virtual void validateElement(MachinesNode *node);
    00064     virtual void validateElement(MachineNode *node);
    00065     virtual void validateElement(SubmodulesNode *node);
    00066     virtual void validateElement(SubmoduleNode *node);
    00067     virtual void validateElement(SubstparamsNode *node);
    00068     virtual void validateElement(SubstparamNode *node);
    00069     virtual void validateElement(GatesizesNode *node);
    00070     virtual void validateElement(GatesizeNode *node);
    00071     virtual void validateElement(SubstmachinesNode *node);
    00072     virtual void validateElement(SubstmachineNode *node);
    00073     virtual void validateElement(ConnectionsNode *node);
    00074     virtual void validateElement(ConnectionNode *node);
    00075     virtual void validateElement(ConnAttrNode *node);
    00076     virtual void validateElement(ForLoopNode *node);
    00077     virtual void validateElement(LoopVarNode *node);
    00078     virtual void validateElement(DisplayStringNode *node);
    00079     virtual void validateElement(ExpressionNode *node);
    00080     virtual void validateElement(OperatorNode *node);
    00081     virtual void validateElement(FunctionNode *node);
    00082     virtual void validateElement(ParamRefNode *node);
    00083     virtual void validateElement(IdentNode *node);
    00084     virtual void validateElement(ConstNode *node);
    00085     virtual void validateElement(CppincludeNode *node);
    00086     virtual void validateElement(CppStructNode *node);
    00087     virtual void validateElement(CppCobjectNode *node);
    00088     virtual void validateElement(CppNoncobjectNode *node);
    00089     virtual void validateElement(EnumNode *node);
    00090     virtual void validateElement(EnumFieldsNode *node);
    00091     virtual void validateElement(EnumFieldNode *node);
    00092     virtual void validateElement(MessageNode *node);
    00093     virtual void validateElement(ClassNode *node);
    00094     virtual void validateElement(StructNode *node);
    00095     virtual void validateElement(FieldsNode *node);
    00096     virtual void validateElement(FieldNode *node);
    00097     virtual void validateElement(PropertiesNode *node);
    00098     virtual void validateElement(PropertyNode *node);
    00099     virtual void validateElement(UnknownNode *node);
    00100 };
    00101
    00102 #endif
    00103