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

Class generated from inet/common/TlvOptions.msg:24 by opp_msgtool. More...

#include <TlvOptions_m.h>

Inheritance diagram for inet::TlvOptions:

Public Member Functions

 TlvOptions ()
 
 TlvOptions (const TlvOptions &other)
 
virtual ~TlvOptions ()
 
TlvOptionsoperator= (const TlvOptions &other)
 
virtual TlvOptionsdup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual void setTlvOptionArraySize (size_t size)
 
virtual size_t getTlvOptionArraySize () const
 
virtual const TlvOptionBasegetTlvOption (size_t k) const
 
virtual TlvOptionBasegetTlvOptionForUpdate (size_t k)
 
virtual void setTlvOption (size_t k, TlvOptionBase *tlvOption)
 
virtual TlvOptionBaseremoveTlvOption (size_t k)
 
TlvOptionBasedropTlvOption (size_t k)
 
virtual void insertTlvOption (size_t k, TlvOptionBase *tlvOption)
 
void insertTlvOption (TlvOptionBase *tlvOption)
 
virtual void appendTlvOption (TlvOptionBase *tlvOption)
 
virtual void eraseTlvOption (size_t k)
 
TlvOptionBasedropTlvOption (TlvOptionBase *option)
 
void deleteOptionByType (int type, bool firstOnly=true)
 
virtual int getLength () const
 
int findByType (short int type, int firstPos=0) const
 

Protected Member Functions

bool operator== (const TlvOptions &)=delete
 

Protected Attributes

TlvOptionBase ** tlvOption = nullptr
 
size_t tlvOption_arraysize = 0
 

Private Member Functions

void copy (const TlvOptions &other)
 

Detailed Description

Class generated from inet/common/TlvOptions.msg:24 by opp_msgtool.

class TlvOptions extends cObject
{
    @packetData;
    TlvOptionBase *tlvOption[] @owned;
}

Constructor & Destructor Documentation

◆ TlvOptions() [1/2]

inet::TlvOptions::TlvOptions ( )

◆ TlvOptions() [2/2]

inet::TlvOptions::TlvOptions ( const TlvOptions other)

◆ ~TlvOptions()

virtual inet::TlvOptions::~TlvOptions ( )
virtual

Member Function Documentation

◆ appendTlvOption()

virtual void inet::TlvOptions::appendTlvOption ( TlvOptionBase tlvOption)
virtual

◆ copy()

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

◆ deleteOptionByType()

void inet::TlvOptions::deleteOptionByType ( int  type,
bool  firstOnly = true 
)
35 {
36  for (size_t i = 0; i < tlvOption_arraysize;) {
37  if (tlvOption[i] && tlvOption[i]->getType() == type) {
38  removeTlvOption(i);
39  eraseTlvOption(i);
40  if (firstOnly)
41  break;
42  }
43  else
44  ++i;
45  }
46 }

◆ dropTlvOption() [1/2]

TlvOptionBase* inet::TlvOptions::dropTlvOption ( size_t  k)
inline
166 {return removeTlvOption(k);}

◆ dropTlvOption() [2/2]

TlvOptionBase * inet::TlvOptions::dropTlvOption ( TlvOptionBase option)
23 {
24  for (size_t i = 0; i < tlvOption_arraysize; i++) {
25  if (tlvOption[i] == option) {
26  removeTlvOption(i);
27  eraseTlvOption(i);
28  return option;
29  }
30  }
31  return nullptr;
32 }

◆ dup()

virtual TlvOptions* inet::TlvOptions::dup ( ) const
inlineoverridevirtual
156 {return new TlvOptions(*this);}

◆ eraseTlvOption()

virtual void inet::TlvOptions::eraseTlvOption ( size_t  k)
virtual

◆ findByType()

int inet::TlvOptions::findByType ( short int  type,
int  firstPos = 0 
) const
49 {
50  for (size_t i = firstPos; i < tlvOption_arraysize; i++)
51  if (tlvOption[i] && tlvOption[i]->getType() == type)
52  return i;
53  return -1;
54 }

Referenced by inet::Gpsr::findGpsrOptionInNetworkDatagram(), inet::Gpsr::findGpsrOptionInNetworkDatagramForUpdate(), inet::Ipv4Header::findMutableOptionByType(), and inet::Ipv4Header::findOptionByType().

◆ getLength()

int inet::TlvOptions::getLength ( ) const
virtual
13 {
14  int length = 0;
15  for (size_t i = 0; i < tlvOption_arraysize; i++) {
16  if (tlvOption[i])
17  length += tlvOption[i]->getLength();
18  }
19  return length;
20 }

Referenced by inet::Ipv4Header::calculateHeaderByteLength(), and inet::Gpsr::setGpsrOptionOnNetworkDatagram().

◆ getTlvOption()

virtual const TlvOptionBase* inet::TlvOptions::getTlvOption ( size_t  k) const
virtual

◆ getTlvOptionArraySize()

virtual size_t inet::TlvOptions::getTlvOptionArraySize ( ) const
virtual

◆ getTlvOptionForUpdate()

virtual TlvOptionBase* inet::TlvOptions::getTlvOptionForUpdate ( size_t  k)
inlinevirtual
163 { return const_cast<TlvOptionBase *>(const_cast<TlvOptions*>(this)->getTlvOption(k));}

Referenced by inet::Gpsr::findGpsrOptionInNetworkDatagramForUpdate(), and inet::Ipv4Header::getOptionForUpdate().

◆ insertTlvOption() [1/2]

virtual void inet::TlvOptions::insertTlvOption ( size_t  k,
TlvOptionBase tlvOption 
)
virtual

◆ insertTlvOption() [2/2]

void inet::TlvOptions::insertTlvOption ( TlvOptionBase tlvOption)
inline

◆ operator=()

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

◆ operator==()

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

◆ parsimPack()

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

Referenced by inet::doParsimPacking().

◆ parsimUnpack()

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

Referenced by inet::doParsimUnpacking().

◆ removeTlvOption()

virtual TlvOptionBase* inet::TlvOptions::removeTlvOption ( size_t  k)
virtual

◆ setTlvOption()

virtual void inet::TlvOptions::setTlvOption ( size_t  k,
TlvOptionBase tlvOption 
)
virtual

◆ setTlvOptionArraySize()

virtual void inet::TlvOptions::setTlvOptionArraySize ( size_t  size)
virtual

Member Data Documentation

◆ tlvOption

TlvOptionBase* * inet::TlvOptions::tlvOption = nullptr
protected

◆ tlvOption_arraysize

size_t inet::TlvOptions::tlvOption_arraysize = 0
protected

The documentation for this class was generated from the following files:
inet::TlvOptions::getTlvOption
virtual const TlvOptionBase * getTlvOption(size_t k) const
inet::TlvOptions::TlvOptions
TlvOptions()
inet::TlvOptions::appendTlvOption
virtual void appendTlvOption(TlvOptionBase *tlvOption)
inet::TlvOptions::eraseTlvOption
virtual void eraseTlvOption(size_t k)
inet::TlvOptions::tlvOption
TlvOptionBase ** tlvOption
Definition: TlvOptions_m.h:142
inet::TlvOptions::tlvOption_arraysize
size_t tlvOption_arraysize
Definition: TlvOptions_m.h:143
inet::TlvOptions::removeTlvOption
virtual TlvOptionBase * removeTlvOption(size_t k)
type
removed type
Definition: IUdp-gates.txt:7
inet::TlvOptionBase::getLength
virtual short getLength() const
inet::physicallayer::k
const double k
Definition: Qam1024Modulation.cc:14