Guidelines - ThomasRueckert/sensorSim GitHub Wiki
- function -> returns
- [parameter].xmlValue() -> cXMLElement*
- cXMLElement::getNodeValue() -> string
- [any-tag]->getChildren() -> cXMLElementList
... parameters: xml test = xmldoc("[path]/test.xml");
note: the path for the xml-file must be defined from the project-root, not from the position of the NED-file
// get the xml from the parameter, return type cXMLElement cXMLElement *rootE = par("test").xmlValue(); // get the data inside the parent-/root-tag EV << rootE->getNodeValue() << endl; // get a vector (of type cXMLElement) with all childs of the root-tag cXMLElementList nList = rootE->getChildren(); // again access the data from a child EV << nList[0]->getNodeValue() << endl;
Both Sensor and a NIC have C-Code and NED-files, Sensor is a Module of the NIC (here called Node)
Some very important statements:
- inside the c-code
- Register_Class([Classname]);
- Define_Module([Classname]);
- include the parent class inside the child class
- inside the NED files
- import the package to include inside the NED file
Sensor.h:
Class Sensor { //some methods and members } Register_Class(Sensor); Define_Module(Sensor);
Sensor.ned:
package sensor; simple Sensor { //some modules, params etc. }
Node.h:
#include <Sensor.h> Class Node { //some methods and members } Register_Class(Node); Define_Module(Node);
Node.ned:
package node; import sensor; simple Node { //some modules, params etc. submodule: Sensor: Sensor { @display("p=140,310"); } }