Go to the documentation of this file.
18 #ifndef __OMNETPP_NEDXML_NEDTYPEINFO_H
19 #define __OMNETPP_NEDXML_NEDTYPEINFO_H
24 #include "common/commonutil.h"
25 #include "nedelements.h"
30 class NedResourceCache;
46 enum Type {SIMPLE_MODULE, COMPOUND_MODULE, MODULEINTERFACE, CHANNEL, CHANNELINTERFACE};
79 void checkComplianceToInterface(
NedTypeInfo *interfaceDecl);
80 void collectLocalDeclarations();
92 virtual const char *getName()
const;
95 virtual const char *getFullName()
const;
98 virtual ASTNode *getTree()
const;
112 virtual const char *getSourceFileName()
const;
118 virtual std::string getPackage()
const;
123 virtual std::string str()
const;
128 virtual std::string getNedSource()
const;
140 virtual const char *getExtendsName(
int k)
const;
154 virtual const char *getInterfaceName(
int k)
const;
160 virtual bool supportsInterface(
const char *qname);
171 virtual const char *getEnclosingTypeName()
const;
177 virtual bool isNetwork()
const;
184 virtual const char *getImplementationClassName()
const;
193 virtual std::string getPackageProperty(
const char *name)
const;
196 virtual std::string getCxxNamespace()
const;
203 TypesElement *getTypesElement()
const;
204 ParametersElement *getParametersElement()
const;
205 GatesElement *getGatesElement()
const;
206 SubmodulesElement *getSubmodulesElement()
const;
207 ConnectionsElement *getConnectionsElement()
const;
210 SubmoduleElement *getLocalSubmoduleElement(
const char *submoduleName)
const;
213 ConnectionElement *getLocalConnectionElement(
long id)
const;
216 SubmoduleElement *getSubmoduleElement(
const char *submoduleName)
const;
219 ConnectionElement *getConnectionElement(
long id)
const;
222 ParamElement *findLocalParamDecl(
const char *name)
const;
225 ParamElement *findParamDecl(
const char *name)
const;
228 GateElement *findLocalGateDecl(
const char *name)
const;
231 GateElement *findGateDecl(
const char *name)
const;
NameToElementMap localSubmoduleDecls
Definition: nedtypeinfo.h:74
Stores loaded NED files, and keeps track of components in them.
Definition: nedresourcecache.h:52
NameToElementMap localConnectionDecls
Definition: nedtypeinfo.h:75
NameToElementMap localParamDecls
Definition: nedtypeinfo.h:72
Type
Definition: nedtypeinfo.h:46
StringVector interfaceNames
Definition: nedtypeinfo.h:63
NedResourceCache * getResolver() const
Definition: nedtypeinfo.h:101
std::string implClassName
Definition: nedtypeinfo.h:68
#define NEDXML_API
Definition: nedxmldefs.h:31
ASTNode * tree
Definition: nedtypeinfo.h:55
virtual int numInterfaceNames() const
Definition: nedtypeinfo.h:148
Definition: astbuilder.h:25
std::vector< std::string > StringVector
Definition: nedtypeinfo.h:57
virtual int numExtendsNames() const
Definition: nedtypeinfo.h:134
NedResourceCache * resolver
Definition: nedtypeinfo.h:50
NameToElementMap localGateDecls
Definition: nedtypeinfo.h:73
Stores information on a NED type.
Definition: nedtypeinfo.h:43
virtual Type getType() const
Definition: nedtypeinfo.h:107
StringVector extendsNames
Definition: nedtypeinfo.h:62
std::map< std::string, ASTNode * > NameToElementMap
Definition: nedtypeinfo.h:58
NameToElementMap allLocalDecls
Definition: nedtypeinfo.h:76
Type type
Definition: nedtypeinfo.h:52
NameToElementMap localInnerTypeDecls
Definition: nedtypeinfo.h:71
std::string qualifiedName
Definition: nedtypeinfo.h:53
std::string enclosingTypeName
Definition: nedtypeinfo.h:65
virtual bool isInnerType() const
Definition: nedtypeinfo.h:165
bool isInner
Definition: nedtypeinfo.h:54