16 #ifndef __OMNETPP_CXMLELEMENT_H 17 #define __OMNETPP_CXMLELEMENT_H 22 #include "simkerneldefs.h" 33 typedef std::vector<cXMLElement*> cXMLElementList;
38 typedef std::map<std::string,std::string> cXMLAttributeMap;
75 friend class cXMLElementDescriptor;
90 virtual bool resolve(
const char *paramname, std::string& value) = 0;
98 cXMLAttributeMap attrs;
106 void doGetElementsByTagName(
const char *tagname, cXMLElementList& list)
const;
113 virtual void setNodeValue(
const char *s,
int len);
116 virtual void appendNodeValue(
const char *s,
int len);
122 virtual void setAttribute(
const char *attr,
const char *value);
140 virtual void print(std::ostream& os,
int indentLevel)
const;
143 int getNumAttrs()
const;
144 std::string getAttr(
int index)
const;
145 int getNumChildren()
const;
154 virtual const char *
getName()
const override {
return getTagName();}
159 virtual std::string str()
const override;
174 virtual void forEachChild(
cVisitor *v)
override;
183 virtual const char *getTagName()
const;
189 virtual const char *getSourceLocation()
const;
195 virtual const char *getNodeValue()
const;
201 virtual const char *getAttribute(
const char *attr)
const;
206 virtual bool hasAttributes()
const;
211 virtual const cXMLAttributeMap& getAttributes()
const;
216 virtual std::string getXML()
const;
229 virtual bool hasChildren()
const;
271 virtual cXMLElement *getFirstChildWithTag(
const char *tagname)
const;
287 virtual cXMLElement *getNextSiblingWithTag(
const char *tagname)
const;
292 virtual cXMLElementList getChildren()
const;
297 virtual cXMLElementList getChildrenByTagName(
const char *tagname)
const;
303 virtual cXMLElementList getElementsByTagName(
const char *tagname)
const;
314 virtual cXMLElement *getFirstChildWithAttribute(
const char *tagname,
const char *attr,
const char *attrvalue=
nullptr)
const;
321 virtual cXMLElement *getElementById(
const char *idattrvalue)
const;
369 virtual bool resolve(
const char *paramname, std::string& value)
override;
381 typedef std::map<std::string,std::string> StringMap;
386 virtual bool resolve(
const char *paramname, std::string& value)
override;
Root of the OMNeT++ class hierarchy. cObject is a lightweight class without any data members...
Definition: cobject.h:58
Represents an XML element in an XML configuration file.
Definition: cxmlelement.h:73
A parameter resolver class for cXMLElement cXMLElement::getElementByPath().
Definition: cxmlelement.h:363
virtual const char * getName() const override
Definition: cxmlelement.h:154
virtual cObject * getOwner() const override
Definition: cxmlelement.h:164
This class represents modules in the simulation.
Definition: cmodule.h:47
Base class for classes that resolve parameters ($PARAM) that occur in in XPath expressions to their v...
Definition: cxmlelement.h:82
A parameter resolver class for cXMLElement::getElementByPath().
Definition: cxmlelement.h:378
Enables traversing the tree of (cObject-rooted) simulation objects.
Definition: cvisitor.h:56
Utility class, to make it impossible to call the operator= and copy constructor of any class derived ...
Definition: cobject.h:311
Definition: cabstracthistogram.h:21