Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

IPv6Datagram_Base Class Reference

#include <IPv6Datagram_m.h>

Inheritance diagram for IPv6Datagram_Base:

IPv6Datagram List of all members.

Detailed Description

Class generated from 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);

         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
 {
   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 IPv6AddresssrcAddress ()
virtual const IPv6AddresssrcAddress () const
virtual void setSrcAddress (const IPv6Address &srcAddress_var)
virtual IPv6AddressdestAddress ()
virtual const IPv6AddressdestAddress () 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)
virtual void setExtensionHeaderArraySize (unsigned int size)
virtual unsigned int extensionHeaderArraySize () const
virtual IPv6ExtensionHeaderPtrextensionHeader (unsigned int k)
virtual const IPv6ExtensionHeaderPtrextensionHeader (unsigned int k) const
virtual void setExtensionHeader (unsigned int k, const IPv6ExtensionHeaderPtr &extensionHeader_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_Baseoperator= (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
IPv6ExtensionHeaderPtrextensionHeader_var
unsigned int extensionHeader_arraysize


Constructor & Destructor Documentation

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]
 


Member Function Documentation

virtual const IPv6Address& IPv6Datagram_Base::destAddress  )  const [inline, virtual]
 

00100 {return const_cast<IPv6Datagram_Base*>(this)->destAddress();}

virtual IPv6Address& IPv6Datagram_Base::destAddress  )  [virtual]
 

virtual cPolymorphic* IPv6Datagram_Base::dup  )  const [inline, virtual]
 

Reimplemented in IPv6Datagram.

00091 {throw new cException("You forgot to manually add a dup() function to class IPv6Datagram");}

virtual const IPv6ExtensionHeaderPtr& IPv6Datagram_Base::extensionHeader unsigned int  k  )  const [inline, virtual]
 

00113 {return const_cast<IPv6Datagram_Base*>(this)->extensionHeader(k);}

virtual IPv6ExtensionHeaderPtr& IPv6Datagram_Base::extensionHeader unsigned int  k  )  [virtual]
 

Reimplemented in IPv6Datagram.

virtual unsigned int IPv6Datagram_Base::extensionHeaderArraySize  )  const [virtual]
 

Reimplemented in 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::setExtensionHeader unsigned int  k,
const IPv6ExtensionHeaderPtr extensionHeader_var
[virtual]
 

Reimplemented in IPv6Datagram.

virtual void IPv6Datagram_Base::setExtensionHeaderArraySize unsigned int  size  )  [virtual]
 

Reimplemented in IPv6Datagram.

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]
 

00097 {return const_cast<IPv6Datagram_Base*>(this)->srcAddress();}

virtual IPv6Address& IPv6Datagram_Base::srcAddress  )  [virtual]
 

virtual unsigned int IPv6Datagram_Base::trafficClass  )  const [virtual]
 

virtual int IPv6Datagram_Base::transportProtocol  )  const [virtual]
 


Member Data Documentation

IPv6Address IPv6Datagram_Base::destAddress_var [protected]
 

unsigned int IPv6Datagram_Base::extensionHeader_arraysize [protected]
 

IPv6ExtensionHeaderPtr* IPv6Datagram_Base::extensionHeader_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]
 


The documentation for this class was generated from the following file:
Generated on Thu Oct 19 18:22:25 2006 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.0