#include <IPv6Datagram_m.h>
Inheritance diagram for IPv6Datagram_Base:
IPv6Datagram.msg
by opp_msgc. message IPv6Datagram { properties: customize=true; omitGetVerb = true;
fields: IPv6Address srcAddress; IPv6Address destAddress; unsigned int trafficClass; unsigned int flowLabel; short hopLimit = 0; int transportProtocol enum (IPProtocolId);
};
IPv6Datagram_Base is only useful if it gets subclassed, and IPv6Datagram is derived from it. The minimum code to be written for IPv6Datagram is the following:
class IPv6Datagram : public IPv6Datagram_Base { public: IPv6Datagram(const char *name=NULL, int kind=0) : IPv6Datagram_Base(name,kind) {} IPv6Datagram(const IPv6Datagram& other) : IPv6Datagram_Base(other.name()) {operator=(other);} IPv6Datagram& operator=(const IPv6Datagram& other) {IPv6Datagram_Base::operator=(other); return *this;} virtual cPolymorphic *dup() const {return new IPv6Datagram(*this);} // ADD CODE HERE to redefine and implement pure virtual functions from IPv6Datagram_Base };
The following should go into a .cc (.cpp) file:
Register_Class(IPv6Datagram);
Public Member Functions | |
virtual | ~IPv6Datagram_Base () |
virtual cPolymorphic * | dup () const |
virtual void | netPack (cCommBuffer *b) |
virtual void | netUnpack (cCommBuffer *b) |
virtual IPv6Address & | srcAddress () |
virtual const IPv6Address & | srcAddress () const |
virtual void | setSrcAddress (const IPv6Address &srcAddress_var) |
virtual IPv6Address & | destAddress () |
virtual const IPv6Address & | destAddress () const |
virtual void | setDestAddress (const IPv6Address &destAddress_var) |
virtual unsigned int | trafficClass () const |
virtual void | setTrafficClass (unsigned int trafficClass_var) |
virtual unsigned int | flowLabel () const |
virtual void | setFlowLabel (unsigned int flowLabel_var) |
virtual short | hopLimit () const |
virtual void | setHopLimit (short hopLimit_var) |
virtual int | transportProtocol () const |
virtual void | setTransportProtocol (int transportProtocol_var) |
Protected Member Functions | |
bool | operator== (const IPv6Datagram_Base &) |
IPv6Datagram_Base (const char *name=NULL, int kind=0) | |
IPv6Datagram_Base (const IPv6Datagram_Base &other) | |
IPv6Datagram_Base & | operator= (const IPv6Datagram_Base &other) |
Protected Attributes | |
IPv6Address | srcAddress_var |
IPv6Address | destAddress_var |
unsigned int | trafficClass_var |
unsigned int | flowLabel_var |
short | hopLimit_var |
int | transportProtocol_var |
IPv6Datagram_Base::IPv6Datagram_Base | ( | const char * | name = NULL , |
|
int | kind = 0 | |||
) | [protected] |
IPv6Datagram_Base::IPv6Datagram_Base | ( | const IPv6Datagram_Base & | other | ) | [protected] |
virtual IPv6Datagram_Base::~IPv6Datagram_Base | ( | ) | [virtual] |
virtual const IPv6Address& IPv6Datagram_Base::destAddress | ( | ) | const [inline, virtual] |
virtual IPv6Address& IPv6Datagram_Base::destAddress | ( | ) | [virtual] |
virtual cPolymorphic* IPv6Datagram_Base::dup | ( | ) | const [inline, virtual] |
Reimplemented in IPv6Datagram.
00092 {throw new cRuntimeError("You forgot to manually add a dup() function to class IPv6Datagram");}
virtual unsigned int IPv6Datagram_Base::flowLabel | ( | ) | const [virtual] |
virtual short IPv6Datagram_Base::hopLimit | ( | ) | const [virtual] |
virtual void IPv6Datagram_Base::netPack | ( | cCommBuffer * | b | ) | [virtual] |
virtual void IPv6Datagram_Base::netUnpack | ( | cCommBuffer * | b | ) | [virtual] |
IPv6Datagram_Base& IPv6Datagram_Base::operator= | ( | const IPv6Datagram_Base & | other | ) | [protected] |
bool IPv6Datagram_Base::operator== | ( | const IPv6Datagram_Base & | ) | [protected] |
virtual void IPv6Datagram_Base::setDestAddress | ( | const IPv6Address & | destAddress_var | ) | [virtual] |
virtual void IPv6Datagram_Base::setFlowLabel | ( | unsigned int | flowLabel_var | ) | [virtual] |
virtual void IPv6Datagram_Base::setHopLimit | ( | short | hopLimit_var | ) | [virtual] |
virtual void IPv6Datagram_Base::setSrcAddress | ( | const IPv6Address & | srcAddress_var | ) | [virtual] |
virtual void IPv6Datagram_Base::setTrafficClass | ( | unsigned int | trafficClass_var | ) | [virtual] |
virtual void IPv6Datagram_Base::setTransportProtocol | ( | int | transportProtocol_var | ) | [virtual] |
virtual const IPv6Address& IPv6Datagram_Base::srcAddress | ( | ) | const [inline, virtual] |
virtual IPv6Address& IPv6Datagram_Base::srcAddress | ( | ) | [virtual] |
virtual unsigned int IPv6Datagram_Base::trafficClass | ( | ) | const [virtual] |
virtual int IPv6Datagram_Base::transportProtocol | ( | ) | const [virtual] |
IPv6Address IPv6Datagram_Base::destAddress_var [protected] |
unsigned int IPv6Datagram_Base::flowLabel_var [protected] |
short IPv6Datagram_Base::hopLimit_var [protected] |
IPv6Address IPv6Datagram_Base::srcAddress_var [protected] |
unsigned int IPv6Datagram_Base::trafficClass_var [protected] |
int IPv6Datagram_Base::transportProtocol_var [protected] |