INET Framework for OMNeT++/OMNEST
inet::rtp::RTCPCompoundPacket_Base Class Reference

Class generated from inet/transportlayer/rtp/RTCPPacket1.msg:45 by nedtool. More...

#include <RTCPPacket1_m.h>

Inheritance diagram for inet::rtp::RTCPCompoundPacket_Base:
inet::rtp::RTCPCompoundPacket

Public Member Functions

virtual ~RTCPCompoundPacket_Base ()
 
virtual RTCPCompoundPacket_Basedup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual cArray & getRtcpPackets ()
 
virtual const cArray & getRtcpPackets () const
 
virtual void setRtcpPackets (const cArray &rtcpPackets)
 

Protected Member Functions

bool operator== (const RTCPCompoundPacket_Base &)
 
 RTCPCompoundPacket_Base (const char *name=nullptr, short kind=0)
 
 RTCPCompoundPacket_Base (const RTCPCompoundPacket_Base &other)
 
RTCPCompoundPacket_Baseoperator= (const RTCPCompoundPacket_Base &other)
 

Protected Attributes

cArray rtcpPackets
 

Private Member Functions

void copy (const RTCPCompoundPacket_Base &other)
 

Detailed Description

Class generated from inet/transportlayer/rtp/RTCPPacket1.msg:45 by nedtool.

packet RTCPCompoundPacket
{
    byteLength = 0;
    @customize(true);  // see the generated C++ header for more info
    cArray rtcpPackets;
}

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

class INET_API RTCPCompoundPacket : public RTCPCompoundPacket_Base
{
  private:
    void copy(const RTCPCompoundPacket& other) { ... }
  public:
    RTCPCompoundPacket(const char *name=nullptr, short kind=0) : RTCPCompoundPacket_Base(name,kind) {}
    RTCPCompoundPacket(const RTCPCompoundPacket& other) : RTCPCompoundPacket_Base(other) {copy(other);}
    RTCPCompoundPacket& operator=(const RTCPCompoundPacket& other) {if (this==&other) return *this; RTCPCompoundPacket_Base::operator=(other); copy(other); return *this;}
    virtual RTCPCompoundPacket *dup() const override {return new RTCPCompoundPacket(*this);}
    // ADD CODE HERE to redefine and implement pure virtual functions from RTCPCompoundPacket_Base
};

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

Register_Class(RTCPCompoundPacket)

Constructor & Destructor Documentation

inet::rtp::RTCPCompoundPacket_Base::RTCPCompoundPacket_Base ( const char *  name = nullptr,
short  kind = 0 
)
protected
inet::rtp::RTCPCompoundPacket_Base::RTCPCompoundPacket_Base ( const RTCPCompoundPacket_Base other)
protected
virtual inet::rtp::RTCPCompoundPacket_Base::~RTCPCompoundPacket_Base ( )
virtual

Member Function Documentation

void inet::rtp::RTCPCompoundPacket_Base::copy ( const RTCPCompoundPacket_Base other)
private
virtual RTCPCompoundPacket_Base* inet::rtp::RTCPCompoundPacket_Base::dup ( ) const
inlineoverridevirtual

Reimplemented in inet::rtp::RTCPCompoundPacket.

192 {throw omnetpp::cRuntimeError("You forgot to manually add a dup() function to class RTCPCompoundPacket");}
virtual cArray& inet::rtp::RTCPCompoundPacket_Base::getRtcpPackets ( )
virtual
virtual const cArray& inet::rtp::RTCPCompoundPacket_Base::getRtcpPackets ( ) const
inlinevirtual

Referenced by getRtcpPackets().

198 {return const_cast<RTCPCompoundPacket_Base*>(this)->getRtcpPackets();}
RTCPCompoundPacket_Base(const char *name=nullptr, short kind=0)
RTCPCompoundPacket_Base& inet::rtp::RTCPCompoundPacket_Base::operator= ( const RTCPCompoundPacket_Base other)
protected
bool inet::rtp::RTCPCompoundPacket_Base::operator== ( const RTCPCompoundPacket_Base )
protected
virtual void inet::rtp::RTCPCompoundPacket_Base::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual
virtual void inet::rtp::RTCPCompoundPacket_Base::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual
virtual void inet::rtp::RTCPCompoundPacket_Base::setRtcpPackets ( const cArray &  rtcpPackets)
virtual

Member Data Documentation

cArray inet::rtp::RTCPCompoundPacket_Base::rtcpPackets
protected

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