INET Framework for OMNeT++/OMNEST
IPv6ExtensionHeader_Base Class Reference

#include <IPv6Datagram_m.h>

Inheritance diagram for IPv6ExtensionHeader_Base:
IPv6ExtensionHeader IPv6AuthenticationHeader IPv6DestinationOptionsHeader IPv6EncapsulatingSecurityPayloadHeader IPv6FragmentHeader IPv6HopByHopOptionsHeader IPv6RoutingHeader

List of all members.

Public Member Functions

virtual ~IPv6ExtensionHeader_Base ()
virtual IPv6ExtensionHeader_Basedup () const
virtual void parsimPack (cCommBuffer *b)
virtual void parsimUnpack (cCommBuffer *b)

Protected Member Functions

bool operator== (const IPv6ExtensionHeader_Base &)
 IPv6ExtensionHeader_Base ()
 IPv6ExtensionHeader_Base (const IPv6ExtensionHeader_Base &other)
IPv6ExtensionHeader_Baseoperator= (const IPv6ExtensionHeader_Base &other)

Private Member Functions

void copy (const IPv6ExtensionHeader_Base &other)

Detailed Description

Class generated from networklayer/ipv6/IPv6Datagram.msg by opp_msgc.

 class IPv6ExtensionHeader
 {
     (true);
 }
 

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

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

The following should go into a .cc (.cpp) file:

 Register_Class(IPv6ExtensionHeader);
 

Definition at line 154 of file IPv6Datagram_m.h.


Constructor & Destructor Documentation


Member Function Documentation

void IPv6ExtensionHeader_Base::copy ( const IPv6ExtensionHeader_Base other) [private]
virtual IPv6ExtensionHeader_Base* IPv6ExtensionHeader_Base::dup ( ) const [inline, virtual]

Reimplemented in IPv6EncapsulatingSecurityPayloadHeader, IPv6AuthenticationHeader, IPv6DestinationOptionsHeader, IPv6FragmentHeader, IPv6RoutingHeader, IPv6ExtensionHeader, and IPv6HopByHopOptionsHeader.

Definition at line 172 of file IPv6Datagram_m.h.

{throw cRuntimeError("You forgot to manually add a dup() function to class IPv6ExtensionHeader");}
IPv6ExtensionHeader_Base& IPv6ExtensionHeader_Base::operator= ( const IPv6ExtensionHeader_Base other) [protected]
bool IPv6ExtensionHeader_Base::operator== ( const IPv6ExtensionHeader_Base ) [protected]

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