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_Base * dup () 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 IPv6Address & getAddress (unsigned int k)
 
virtual const IPv6Address & getAddress (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 ()
 
IPv6ExtensionHeader & operator= (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_Base & operator= (const IPv6RoutingHeader_Base &other)
 
- Protected Member Functions inherited from inet::IPv6ExtensionHeader
bool operator== (const IPv6ExtensionHeader &)
 

Protected Attributes

uint8_t routingType
 
uint8_t segmentsLeft
 
IPv6Address * address
 
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: