 |
OMNeT++ NEDXML 6.2.0
Discrete Event Simulation Library
|
|
Go to the documentation of this file.
18 #ifndef __OMNETPP_NEDXML_NEDTYPEINFO_H
19 #define __OMNETPP_NEDXML_NEDTYPEINFO_H
25 #include "common/commonutil.h"
26 #include "nedelements.h"
31 class NedResourceCache;
47 enum Type {SIMPLE_MODULE, COMPOUND_MODULE, MODULEINTERFACE, CHANNEL, CHANNELINTERFACE};
58 bool resolved =
false;
59 bool resolving =
false;
87 void checkComplianceToInterface(
NedTypeInfo *interfaceDecl);
88 void collectLocalDeclarations();
101 virtual const char *getName()
const;
104 virtual const char *getFullName()
const;
107 virtual ASTNode *getTree()
const;
122 virtual bool isNetwork()
const;
127 virtual const char *getSourceFileName()
const;
133 virtual std::string getPackage()
const;
144 virtual const char *getEnclosingTypeName()
const;
149 virtual std::string str()
const;
154 virtual std::string getNedSource()
const;
159 virtual std::string getDocumentation()
const;
173 virtual void resolve();
187 virtual const char *getExtendsName(
int k)
const;
203 virtual const char *getInterfaceName(
int k)
const;
210 virtual bool supportsInterface(
const char *qname);
218 virtual const char *getImplementationClassName()
const;
228 virtual std::string getPackageProperty(
const char *name)
const;
234 virtual std::string getCxxNamespace()
const;
244 TypesElement *getTypesElement()
const;
245 ParametersElement *getParametersElement()
const;
246 GatesElement *getGatesElement()
const;
247 SubmodulesElement *getSubmodulesElement()
const;
248 ConnectionsElement *getConnectionsElement()
const;
251 SubmoduleElement *getLocalSubmoduleElement(
const char *submoduleName)
const;
254 ConnectionElement *getLocalConnectionElement(
long id)
const;
257 SubmoduleElement *getSubmoduleElement(
const char *submoduleName)
const;
260 ConnectionElement *getConnectionElement(
long id)
const;
263 ParamElement *findLocalParamDecl(
const char *name)
const;
266 ParamElement *findParamDecl(
const char *name)
const;
269 GateElement *findLocalGateDecl(
const char *name)
const;
272 GateElement *findGateDecl(
const char *name)
const;
NameToElementMap localSubmoduleDecls
Definition: nedtypeinfo.h:82
Stores loaded NED files, and keeps track of components in them.
Definition: nedresourcecache.h:52
NameToElementMap localConnectionDecls
Definition: nedtypeinfo.h:83
NameToElementMap localParamDecls
Definition: nedtypeinfo.h:80
Type
Definition: nedtypeinfo.h:47
StringVector interfaceNames
Definition: nedtypeinfo.h:69
NedResourceCache * getResolver() const
Definition: nedtypeinfo.h:110
std::string implClassName
Definition: nedtypeinfo.h:74
#define NEDXML_API
Definition: nedxmldefs.h:31
ASTNode * tree
Definition: nedtypeinfo.h:56
virtual int numInterfaceNames() const
Definition: nedtypeinfo.h:196
Definition: astbuilder.h:25
std::vector< std::string > StringVector
Definition: nedtypeinfo.h:63
virtual int numExtendsNames() const
Definition: nedtypeinfo.h:180
NedResourceCache * resolver
Definition: nedtypeinfo.h:51
std::optional< std::string > documentation
Definition: nedtypeinfo.h:76
NameToElementMap localGateDecls
Definition: nedtypeinfo.h:81
Stores information on a NED type.
Definition: nedtypeinfo.h:44
virtual Type getType() const
Definition: nedtypeinfo.h:116
StringVector extendsNames
Definition: nedtypeinfo.h:68
std::map< std::string, ASTNode * > NameToElementMap
Definition: nedtypeinfo.h:64
virtual bool isResolved() const
Definition: nedtypeinfo.h:164
NameToElementMap allLocalDecls
Definition: nedtypeinfo.h:84
Type type
Definition: nedtypeinfo.h:53
NameToElementMap localInnerTypeDecls
Definition: nedtypeinfo.h:79
std::string qualifiedName
Definition: nedtypeinfo.h:54
std::string enclosingTypeName
Definition: nedtypeinfo.h:71
virtual bool isInnerType() const
Definition: nedtypeinfo.h:138
bool isInner
Definition: nedtypeinfo.h:55
void resolveIfNeeded() const
Definition: nedtypeinfo.h:91