|
INET Framework for OMNeT++/OMNEST
|
#include <IPv6Datagram_m.h>
Public Member Functions | |
| virtual | ~IPv6Datagram_Base () |
| virtual IPv6Datagram_Base * | dup () const |
| virtual void | parsimPack (cCommBuffer *b) |
| virtual void | parsimUnpack (cCommBuffer *b) |
| virtual IPv6Address & | getSrcAddress () |
| virtual const IPv6Address & | getSrcAddress () const |
| virtual void | setSrcAddress (const IPv6Address &srcAddress) |
| virtual IPv6Address & | getDestAddress () |
| virtual const IPv6Address & | getDestAddress () const |
| virtual void | setDestAddress (const IPv6Address &destAddress) |
| virtual unsigned int | getTrafficClass () const |
| virtual void | setTrafficClass (unsigned int trafficClass) |
| virtual unsigned int | getFlowLabel () const |
| virtual void | setFlowLabel (unsigned int flowLabel) |
| virtual short | getHopLimit () const |
| virtual void | setHopLimit (short hopLimit) |
| virtual int | getTransportProtocol () const |
| virtual void | setTransportProtocol (int transportProtocol) |
| virtual void | setExtensionHeaderArraySize (unsigned int size) |
| virtual unsigned int | getExtensionHeaderArraySize () const |
| virtual IPv6ExtensionHeaderPtr & | getExtensionHeader (unsigned int k) |
| virtual const IPv6ExtensionHeaderPtr & | getExtensionHeader (unsigned int k) const |
| virtual void | setExtensionHeader (unsigned int k, const IPv6ExtensionHeaderPtr &extensionHeader) |
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 |
| IPv6ExtensionHeaderPtr * | extensionHeader_var |
| unsigned int | extensionHeader_arraysize |
Private Member Functions | |
| void | copy (const IPv6Datagram_Base &other) |
Class generated from networklayer/ipv6/IPv6Datagram.msg by opp_msgc.
packet IPv6Datagram { (true);
IPv6Address srcAddress; IPv6Address destAddress; unsigned int trafficClass; unsigned int flowLabel; short hopLimit = 0; int transportProtocol enum(IPProtocolId);
IPv6ExtensionHeaderPtr extensionHeader[]; }
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 { private: void copy(const IPv6Datagram& other) { ... }
public:
IPv6Datagram(const char *name=NULL, int kind=0) : IPv6Datagram_Base(name,kind) {}
IPv6Datagram(const IPv6Datagram& other) : IPv6Datagram_Base(other) {copy(other);}
IPv6Datagram& operator=(const IPv6Datagram& other) {if (this==&other) return *this; IPv6Datagram_Base::operator=(other); copy(other); return *this;}
virtual IPv6Datagram *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);
Definition at line 69 of file IPv6Datagram_m.h.
| 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] |
| void IPv6Datagram_Base::copy | ( | const IPv6Datagram_Base & | other | ) | [private] |
| virtual IPv6Datagram_Base* IPv6Datagram_Base::dup | ( | ) | const [inline, virtual] |
Reimplemented in IPv6Datagram.
Definition at line 95 of file IPv6Datagram_m.h.
{throw cRuntimeError("You forgot to manually add a dup() function to class IPv6Datagram");}
| virtual IPv6Address& IPv6Datagram_Base::getDestAddress | ( | ) | [virtual] |
| virtual const IPv6Address& IPv6Datagram_Base::getDestAddress | ( | ) | const [inline, virtual] |
Definition at line 104 of file IPv6Datagram_m.h.
Referenced by getDestAddress().
{return const_cast<IPv6Datagram_Base*>(this)->getDestAddress();}
| virtual IPv6ExtensionHeaderPtr& IPv6Datagram_Base::getExtensionHeader | ( | unsigned int | k | ) | [virtual] |
Reimplemented in IPv6Datagram.
| virtual const IPv6ExtensionHeaderPtr& IPv6Datagram_Base::getExtensionHeader | ( | unsigned int | k | ) | const [inline, virtual] |
Definition at line 117 of file IPv6Datagram_m.h.
Referenced by getExtensionHeader().
{return const_cast<IPv6Datagram_Base*>(this)->getExtensionHeader(k);}
| virtual unsigned int IPv6Datagram_Base::getExtensionHeaderArraySize | ( | ) | const [virtual] |
Reimplemented in IPv6Datagram.
| virtual unsigned int IPv6Datagram_Base::getFlowLabel | ( | ) | const [virtual] |
| virtual short IPv6Datagram_Base::getHopLimit | ( | ) | const [virtual] |
Referenced by IPv6::decapsulate(), IPv6::routeMulticastPacket(), IPv6::routePacket(), and IPv6::sendDatagramToOutput().
| virtual IPv6Address& IPv6Datagram_Base::getSrcAddress | ( | ) | [virtual] |
| virtual const IPv6Address& IPv6Datagram_Base::getSrcAddress | ( | ) | const [inline, virtual] |
Definition at line 101 of file IPv6Datagram_m.h.
Referenced by getSrcAddress().
{return const_cast<IPv6Datagram_Base*>(this)->getSrcAddress();}
| virtual unsigned int IPv6Datagram_Base::getTrafficClass | ( | ) | const [virtual] |
Referenced by BasicDSCPClassifier::classifyPacket().
| virtual int IPv6Datagram_Base::getTransportProtocol | ( | ) | const [virtual] |
| IPv6Datagram_Base& IPv6Datagram_Base::operator= | ( | const IPv6Datagram_Base & | other | ) | [protected] |
Referenced by IPv6Datagram::IPv6Datagram().
| bool IPv6Datagram_Base::operator== | ( | const IPv6Datagram_Base & | ) | [protected] |
| virtual void IPv6Datagram_Base::parsimPack | ( | cCommBuffer * | b | ) | [virtual] |
| virtual void IPv6Datagram_Base::parsimUnpack | ( | cCommBuffer * | b | ) | [virtual] |
| virtual void IPv6Datagram_Base::setDestAddress | ( | const IPv6Address & | destAddress | ) | [virtual] |
| virtual void IPv6Datagram_Base::setExtensionHeader | ( | unsigned int | k, |
| const IPv6ExtensionHeaderPtr & | extensionHeader | ||
| ) | [virtual] |
Reimplemented in IPv6Datagram.
| virtual void IPv6Datagram_Base::setExtensionHeaderArraySize | ( | unsigned int | size | ) | [virtual] |
Reimplemented in IPv6Datagram.
| virtual void IPv6Datagram_Base::setFlowLabel | ( | unsigned int | flowLabel | ) | [virtual] |
| virtual void IPv6Datagram_Base::setHopLimit | ( | short | hopLimit | ) | [virtual] |
Referenced by IPv6::routeMulticastPacket(), and IPv6::routePacket().
| virtual void IPv6Datagram_Base::setSrcAddress | ( | const IPv6Address & | srcAddress | ) | [virtual] |
Referenced by IPv6::routePacket().
| virtual void IPv6Datagram_Base::setTrafficClass | ( | unsigned int | trafficClass | ) | [virtual] |
| virtual void IPv6Datagram_Base::setTransportProtocol | ( | int | transportProtocol | ) | [virtual] |
IPv6Address IPv6Datagram_Base::destAddress_var [protected] |
Definition at line 73 of file IPv6Datagram_m.h.
unsigned int IPv6Datagram_Base::extensionHeader_arraysize [protected] |
Definition at line 79 of file IPv6Datagram_m.h.
Definition at line 78 of file IPv6Datagram_m.h.
unsigned int IPv6Datagram_Base::flowLabel_var [protected] |
Definition at line 75 of file IPv6Datagram_m.h.
short IPv6Datagram_Base::hopLimit_var [protected] |
Definition at line 76 of file IPv6Datagram_m.h.
IPv6Address IPv6Datagram_Base::srcAddress_var [protected] |
Definition at line 72 of file IPv6Datagram_m.h.
unsigned int IPv6Datagram_Base::trafficClass_var [protected] |
Definition at line 74 of file IPv6Datagram_m.h.
int IPv6Datagram_Base::transportProtocol_var [protected] |
Definition at line 77 of file IPv6Datagram_m.h.