Public Member Functions | Protected Attributes

RTCPSenderReportPacket Class Reference

#include <RTCPPacket.h>

Inheritance diagram for RTCPSenderReportPacket:
RTCPReceiverReportPacket RTCPPacket

List of all members.

Public Member Functions

 RTCPSenderReportPacket (const char *name=NULL)
 RTCPSenderReportPacket (const RTCPSenderReportPacket &rtcpSenderReportPacket)
virtual ~RTCPSenderReportPacket ()
RTCPSenderReportPacketoperator= (const RTCPSenderReportPacket &rtcpSenderReportPacket)
virtual RTCPSenderReportPacketdup () const
virtual std::string info ()
virtual void dump (std::ostream &os) const
virtual SenderReportgetSenderReport ()
virtual void setSenderReport (SenderReport *senderReport)

Protected Attributes

SenderReport_senderReport

Detailed Description

This class represents rtcp sender report packets. A rtcp sender report packet is very similar to an rtcp receiver report packet with the only difference that it includes exactly one sender report. To express this similarity it is a subclass of RTPReceiverReportPacket.

See also:
SenderReport
ReceptionReport

Definition at line 244 of file RTCPPacket.h.


Constructor & Destructor Documentation

RTCPSenderReportPacket::RTCPSenderReportPacket ( const char *  name = NULL  ) 

Default constructor.

Definition at line 212 of file RTCPPacket.cc.

Referenced by dup().

                                                               : RTCPReceiverReportPacket(name) {
    _packetType = RTCP_PT_SR;
    _senderReport = new SenderReport();
    // a sender report is 20 bytes long
    addByteLength(20);
};

RTCPSenderReportPacket::RTCPSenderReportPacket ( const RTCPSenderReportPacket rtcpSenderReportPacket  ) 

Copy constructor.

Definition at line 220 of file RTCPPacket.cc.

                                                                                                   : RTCPReceiverReportPacket() {
    setName(rtcpSenderReportPacket.getName());
    operator=(rtcpSenderReportPacket);
};

RTCPSenderReportPacket::~RTCPSenderReportPacket (  )  [virtual]

Destructor.

Definition at line 226 of file RTCPPacket.cc.

                                                {
    delete _senderReport;
};


Member Function Documentation

void RTCPSenderReportPacket::dump ( std::ostream &  os  )  const [virtual]

Writes a longer info about this RTCPSenderReportPacket into the given stream.

Reimplemented from RTCPReceiverReportPacket.

Definition at line 250 of file RTCPPacket.cc.

                                                      {
    os << "RTCPSenderReportPacket:" << endl;
    _senderReport->dump(os);
    for (int i = 0; i < _receptionReports->size(); i++) {
        if (_receptionReports->exist(i)) {
            //FIXME _receptionReports->get(i)->dump(os);
        };
    };
};

RTCPSenderReportPacket * RTCPSenderReportPacket::dup (  )  const [virtual]

Duplicates the RTCPSenderReportPacket by calling the copy constructor.

Reimplemented from RTCPReceiverReportPacket.

Definition at line 238 of file RTCPPacket.cc.

                                                          {
    return new RTCPSenderReportPacket(*this);
};

SenderReport * RTCPSenderReportPacket::getSenderReport (  )  [virtual]

Returns a copy of the sender report stored in this RTCPSenderReportPacket.

See also:
SenderReport

Definition at line 261 of file RTCPPacket.cc.

Referenced by RTCP::processIncomingRTCPPacket().

                                                      {
    return new SenderReport(*_senderReport);
};

std::string RTCPSenderReportPacket::info (  )  [virtual]

Writes a one line info about this RTCPSenderReportPacket into the given string.

Reimplemented from RTCPReceiverReportPacket.

Definition at line 243 of file RTCPPacket.cc.

                                       {
    std::stringstream out;
    out << "RTCPSenderReportPacket.ssrc=" << _ssrc;
    return out.str();
};

RTCPSenderReportPacket & RTCPSenderReportPacket::operator= ( const RTCPSenderReportPacket rtcpSenderReportPacket  ) 

Assignment operator.

Definition at line 231 of file RTCPPacket.cc.

Referenced by RTCPSenderReportPacket().

                                                                                                              {
    RTCPReceiverReportPacket::operator=(rtcpSenderReportPacket);
    _senderReport = new SenderReport(*(rtcpSenderReportPacket._senderReport));
    return *this;
};

void RTCPSenderReportPacket::setSenderReport ( SenderReport senderReport  )  [virtual]

Sets the sender report.

See also:
SenderReport

Definition at line 266 of file RTCPPacket.cc.

Referenced by RTCP::createPacket().

                                                                 {
    delete _senderReport;
    _senderReport = report;
};


Member Data Documentation

The sender report stored in the packet.

See also:
SenderReport

Definition at line 302 of file RTCPPacket.h.

Referenced by dump(), getSenderReport(), operator=(), RTCPSenderReportPacket(), setSenderReport(), and ~RTCPSenderReportPacket().


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