INET Framework for OMNeT++/OMNEST
inet::IPv6RoutingHeader_Base Class Reference

Class generated from inet/networklayer/ipv6/IPv6ExtensionHeaders.msg:66 by nedtool. More...

#include <IPv6ExtensionHeaders_m.h>

Inheritance diagram for inet::IPv6RoutingHeader_Base:
inet::IPv6ExtensionHeader inet::IPv6RoutingHeader

Public Member Functions

virtual ~IPv6RoutingHeader_Base ()
 
virtual IPv6RoutingHeader_Basedup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual uint8_t getRoutingType () const
 
virtual void setRoutingType (uint8_t routingType)
 
virtual uint8_t getSegmentsLeft () const
 
virtual void setSegmentsLeft (uint8_t segmentsLeft)
 
virtual void setAddressArraySize (unsigned int size)
 
virtual unsigned int getAddressArraySize () const
 
virtual IPv6AddressgetAddress (unsigned int k)
 
virtual const IPv6AddressgetAddress (unsigned int k) const
 
virtual void setAddress (unsigned int k, const IPv6Address &address)
 
- Public Member Functions inherited from inet::IPv6ExtensionHeader
 IPv6ExtensionHeader ()
 
 IPv6ExtensionHeader (const IPv6ExtensionHeader &other)
 
virtual ~IPv6ExtensionHeader ()
 
IPv6ExtensionHeaderoperator= (const IPv6ExtensionHeader &other)
 
virtual short getExtensionType () const
 
virtual void setExtensionType (short extensionType)
 
virtual short getByteLength () const
 
virtual void setByteLength (short byteLength)
 

Protected Member Functions

bool operator== (const IPv6RoutingHeader_Base &)
 
 IPv6RoutingHeader_Base ()
 
 IPv6RoutingHeader_Base (const IPv6RoutingHeader_Base &other)
 
IPv6RoutingHeader_Baseoperator= (const IPv6RoutingHeader_Base &other)
 
- Protected Member Functions inherited from inet::IPv6ExtensionHeader
bool operator== (const IPv6ExtensionHeader &)
 

Protected Attributes

uint8_t routingType
 
uint8_t segmentsLeft
 
IPv6Addressaddress
 
unsigned int address_arraysize
 
- Protected Attributes inherited from inet::IPv6ExtensionHeader
short extensionType
 
short byteLength
 

Private Member Functions

void copy (const IPv6RoutingHeader_Base &other)
 

Detailed Description

Class generated from inet/networklayer/ipv6/IPv6ExtensionHeaders.msg:66 by nedtool.

//
// Routing Header
// RFC 2460 Section 4.4
// Next Header Value: 43
//
class IPv6RoutingHeader extends IPv6ExtensionHeader
{
    @customize(true);
    extensionType = IP_PROT_IPv6EXT_ROUTING;
    byteLength = 8;
    //byteLength = 8+16*getAddressArraySize() when routingType == 0
    uint8 routingType;
    uint8 segmentsLeft;
    IPv6Address address[];
}

IPv6RoutingHeader_Base is only useful if it gets subclassed, and IPv6RoutingHeader is derived from it. The minimum code to be written for IPv6RoutingHeader is the following:

class INET_API IPv6RoutingHeader : public IPv6RoutingHeader_Base
{
  private:
    void copy(const IPv6RoutingHeader& other) { ... }
  public:
    IPv6RoutingHeader() : IPv6RoutingHeader_Base() {}
    IPv6RoutingHeader(const IPv6RoutingHeader& other) : IPv6RoutingHeader_Base(other) {copy(other);}
    IPv6RoutingHeader& operator=(const IPv6RoutingHeader& other) {if (this==&other) return *this; IPv6RoutingHeader_Base::operator=(other); copy(other); return *this;}
    // ADD CODE HERE to redefine and implement pure virtual functions from IPv6RoutingHeader_Base
};

Constructor & Destructor Documentation

inet::IPv6RoutingHeader_Base::IPv6RoutingHeader_Base ( )
protected
inet::IPv6RoutingHeader_Base::IPv6RoutingHeader_Base ( const IPv6RoutingHeader_Base other)
protected
virtual inet::IPv6RoutingHeader_Base::~IPv6RoutingHeader_Base ( )
virtual

Member Function Documentation

void inet::IPv6RoutingHeader_Base::copy ( const IPv6RoutingHeader_Base other)
private
virtual IPv6RoutingHeader_Base* inet::IPv6RoutingHeader_Base::dup ( ) const
inlineoverridevirtual

Reimplemented from inet::IPv6ExtensionHeader.

Reimplemented in inet::IPv6RoutingHeader.

168 {throw omnetpp::cRuntimeError("You forgot to manually add a dup() function to class IPv6RoutingHeader");}
virtual IPv6Address& inet::IPv6RoutingHeader_Base::getAddress ( unsigned int  k)
virtual
virtual const IPv6Address& inet::IPv6RoutingHeader_Base::getAddress ( unsigned int  k) const
inlinevirtual

Referenced by getAddress().

180 {return const_cast<IPv6RoutingHeader_Base*>(this)->getAddress(k);}
virtual IPv6Address & getAddress(unsigned int k)
const double k
Definition: QAM16Modulation.cc:24
virtual unsigned int inet::IPv6RoutingHeader_Base::getAddressArraySize ( ) const
virtual
virtual uint8_t inet::IPv6RoutingHeader_Base::getRoutingType ( ) const
virtual
virtual uint8_t inet::IPv6RoutingHeader_Base::getSegmentsLeft ( ) const
virtual
IPv6RoutingHeader_Base& inet::IPv6RoutingHeader_Base::operator= ( const IPv6RoutingHeader_Base other)
protected
bool inet::IPv6RoutingHeader_Base::operator== ( const IPv6RoutingHeader_Base )
protected
virtual void inet::IPv6RoutingHeader_Base::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

Reimplemented from inet::IPv6ExtensionHeader.

virtual void inet::IPv6RoutingHeader_Base::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual

Reimplemented from inet::IPv6ExtensionHeader.

virtual void inet::IPv6RoutingHeader_Base::setAddress ( unsigned int  k,
const IPv6Address address 
)
virtual
virtual void inet::IPv6RoutingHeader_Base::setAddressArraySize ( unsigned int  size)
virtual
virtual void inet::IPv6RoutingHeader_Base::setRoutingType ( uint8_t  routingType)
virtual
virtual void inet::IPv6RoutingHeader_Base::setSegmentsLeft ( uint8_t  segmentsLeft)
virtual

Member Data Documentation

IPv6Address* inet::IPv6RoutingHeader_Base::address
protected
unsigned int inet::IPv6RoutingHeader_Base::address_arraysize
protected
uint8_t inet::IPv6RoutingHeader_Base::routingType
protected
uint8_t inet::IPv6RoutingHeader_Base::segmentsLeft
protected

The documentation for this class was generated from the following file: