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

Class generated from inet/networklayer/icmpv6/Ipv6NdMessage.msg:111 by opp_msgtool. More...

#include <Ipv6NdMessage_m.h>

Inheritance diagram for inet::Ipv6NdOptions:

Public Member Functions

 Ipv6NdOptions ()
 
 Ipv6NdOptions (const Ipv6NdOptions &other)
 
virtual ~Ipv6NdOptions ()
 
Ipv6NdOptionsoperator= (const Ipv6NdOptions &other)
 
virtual Ipv6NdOptionsdup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual void setOptionArraySize (size_t size)
 
virtual size_t getOptionArraySize () const
 
virtual const Ipv6NdOptiongetOption (size_t k) const
 
virtual Ipv6NdOptiongetOptionForUpdate (size_t k)
 
virtual void setOption (size_t k, Ipv6NdOption *option)
 
virtual Ipv6NdOptionremoveOption (size_t k)
 
Ipv6NdOptiondropOption (size_t k)
 
virtual void insertOption (size_t k, Ipv6NdOption *option)
 
void insertOption (Ipv6NdOption *option)
 
virtual void appendOption (Ipv6NdOption *option)
 
virtual void eraseOption (size_t k)
 
virtual const Ipv6NdOptionfindOption (Ipv6NdOptionTypes t) const
 
virtual Ipv6NdOptionfindOptionForUpdate (Ipv6NdOptionTypes t)
 
virtual void insertUniqueOption (size_t k, Ipv6NdOption *option)
 
virtual void insertUniqueOption (Ipv6NdOption *option)
 

Protected Member Functions

bool operator== (const Ipv6NdOptions &)=delete
 

Protected Attributes

Ipv6NdOption ** option = nullptr
 
size_t option_arraysize = 0
 

Private Member Functions

void copy (const Ipv6NdOptions &other)
 

Detailed Description

Class generated from inet/networklayer/icmpv6/Ipv6NdMessage.msg:111 by opp_msgtool.

class Ipv6NdOptions extends cObject
{
    @packetData;
    // TLV Options:
    Ipv6NdOption *option[] @owned;  // on end of message
}

Constructor & Destructor Documentation

◆ Ipv6NdOptions() [1/2]

inet::Ipv6NdOptions::Ipv6NdOptions ( )

◆ Ipv6NdOptions() [2/2]

inet::Ipv6NdOptions::Ipv6NdOptions ( const Ipv6NdOptions other)

◆ ~Ipv6NdOptions()

virtual inet::Ipv6NdOptions::~Ipv6NdOptions ( )
virtual

Member Function Documentation

◆ appendOption()

virtual void inet::Ipv6NdOptions::appendOption ( Ipv6NdOption option)
virtual

◆ copy()

void inet::Ipv6NdOptions::copy ( const Ipv6NdOptions other)
private

◆ dropOption()

Ipv6NdOption* inet::Ipv6NdOptions::dropOption ( size_t  k)
inline
518 {return removeOption(k);}

◆ dup()

virtual Ipv6NdOptions* inet::Ipv6NdOptions::dup ( ) const
inlineoverridevirtual
508 {return new Ipv6NdOptions(*this);}

◆ eraseOption()

virtual void inet::Ipv6NdOptions::eraseOption ( size_t  k)
virtual

◆ findOption()

◆ findOptionForUpdate()

Ipv6NdOption * inet::Ipv6NdOptions::findOptionForUpdate ( Ipv6NdOptionTypes  t)
virtual
22 {
23  for (size_t i = 0; i < option_arraysize; i++) {
24  if (option[i]->getType() == t)
25  return getOptionForUpdate(i);
26  }
27  return nullptr;
28 }

◆ getOption()

◆ getOptionArraySize()

◆ getOptionForUpdate()

virtual Ipv6NdOption* inet::Ipv6NdOptions::getOptionForUpdate ( size_t  k)
inlinevirtual
515 { return const_cast<Ipv6NdOption *>(const_cast<Ipv6NdOptions*>(this)->getOption(k));}

Referenced by findOptionForUpdate().

◆ insertOption() [1/2]

void inet::Ipv6NdOptions::insertOption ( Ipv6NdOption option)
inline

◆ insertOption() [2/2]

virtual void inet::Ipv6NdOptions::insertOption ( size_t  k,
Ipv6NdOption option 
)
virtual

◆ insertUniqueOption() [1/2]

virtual void inet::Ipv6NdOptions::insertUniqueOption ( Ipv6NdOption option)
inlinevirtual

◆ insertUniqueOption() [2/2]

void inet::Ipv6NdOptions::insertUniqueOption ( size_t  k,
Ipv6NdOption option 
)
virtual
31 {
32  if (findOption(option->getType()))
33  throw cRuntimeError("Option %i already exists", (int)option->getType());
35 }

◆ operator=()

Ipv6NdOptions& inet::Ipv6NdOptions::operator= ( const Ipv6NdOptions other)

◆ operator==()

bool inet::Ipv6NdOptions::operator== ( const Ipv6NdOptions )
protecteddelete

◆ parsimPack()

virtual void inet::Ipv6NdOptions::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

Referenced by inet::doParsimPacking().

◆ parsimUnpack()

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

Referenced by inet::doParsimUnpacking().

◆ removeOption()

virtual Ipv6NdOption* inet::Ipv6NdOptions::removeOption ( size_t  k)
virtual

◆ setOption()

virtual void inet::Ipv6NdOptions::setOption ( size_t  k,
Ipv6NdOption option 
)
virtual

◆ setOptionArraySize()

virtual void inet::Ipv6NdOptions::setOptionArraySize ( size_t  size)
virtual

Member Data Documentation

◆ option

Ipv6NdOption* * inet::Ipv6NdOptions::option = nullptr
protected

◆ option_arraysize

size_t inet::Ipv6NdOptions::option_arraysize = 0
protected

Referenced by findOption(), and findOptionForUpdate().


The documentation for this class was generated from the following files:
inet::Ipv6NdOptions::option
Ipv6NdOption ** option
Definition: Ipv6NdMessage_m.h:494
inet::Ipv6NdOptions::getOptionForUpdate
virtual Ipv6NdOption * getOptionForUpdate(size_t k)
Definition: Ipv6NdMessage_m.h:515
inet::Ipv6NdOptions::findOption
virtual const Ipv6NdOption * findOption(Ipv6NdOptionTypes t) const
Definition: Ipv6NdMessage.cc:12
inet::Ipv6NdOptions::removeOption
virtual Ipv6NdOption * removeOption(size_t k)
inet::Ipv6NdOptions::insertUniqueOption
virtual void insertUniqueOption(size_t k, Ipv6NdOption *option)
Definition: Ipv6NdMessage.cc:30
inet::Ipv6NdOptions::option_arraysize
size_t option_arraysize
Definition: Ipv6NdMessage_m.h:495
inet::Ipv6NdOption::getType
virtual Ipv6NdOptionTypes getType() const
inet::Ipv6NdOptions::appendOption
virtual void appendOption(Ipv6NdOption *option)
inet::physicallayer::k
const double k
Definition: Qam1024Modulation.cc:14
inet::Ipv6NdOptions::Ipv6NdOptions
Ipv6NdOptions()
inet::Ipv6NdOptions::getOption
virtual const Ipv6NdOption * getOption(size_t k) const