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);

 };
 

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)

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


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]

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

virtual IPv6Address& IPv6Datagram_Base::destAddress (  )  [virtual]

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

Reimplemented in IPv6Datagram.

00092 {throw new cRuntimeError("You forgot to manually add a dup() function to class 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::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]

00098 {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::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 Wed Apr 4 13:20:21 2007 for INET Framework for OMNeT++/OMNEST by  doxygen 1.4.7