Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

RTPParticipantInfo.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           RTPParticipantInfo.h  -  description
00003                              -------------------
00004     begin                : Wed Oct 24 2001
00005     copyright            : (C) 2001 by Matthias Oppitz
00006     email                : Matthias.Oppitz@gmx.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00022 #ifndef __RTPPARTICIPANTINFO_H__
00023 #define __RTPPARTICIPANTINFO_H__
00024 
00025 #include "omnetpp.h"
00026 
00027 #include "in_addr.h"
00028 #include "in_port.h"
00029 
00030 #include "types.h"
00031 #include "RTPPacket.h"
00032 #include "RTCPPacket.h"
00033 #include "reports.h"
00034 #include "sdes.h"
00035 
00046 class RTPParticipantInfo : public cObject {
00047 
00048         public:
00049         
00053                 RTPParticipantInfo(u_int32 ssrc = 0);
00054                 
00058                 RTPParticipantInfo(const RTPParticipantInfo& participantInfo);
00059                 
00063                 virtual ~RTPParticipantInfo();
00064                 
00068                 RTPParticipantInfo& operator=(const RTPParticipantInfo& participantInfo);
00069                 
00073                 virtual cObject *dup() const;
00074                 
00078                 virtual const char *className() const;
00079                 
00088                 virtual void processRTPPacket(RTPPacket *packet, simtime_t arrivalTime);
00089                 
00094                 virtual void processSenderReport(SenderReport *report, simtime_t arrivalTime);
00095                 
00099                 virtual void processReceptionReport(ReceptionReport *report, simtime_t arrivalTime);
00100                 
00104                 virtual void processSDESChunk(SDESChunk *sdesChunk, simtime_t arrivalTime);
00105                 
00110                 virtual SDESChunk *sdesChunk();
00111                 
00115                 virtual void addSDESItem(SDESItem *sdesItem);
00116                 
00123                 virtual ReceptionReport *receptionReport(simtime_t now);
00124                 
00132                 virtual SenderReport *senderReport(simtime_t now);
00133                 
00145                 virtual void nextInterval(simtime_t now);
00146                 
00152                 virtual bool toBeDeleted(simtime_t now);
00153                 
00159                 virtual bool isSender();
00160                 
00164                 virtual u_int32 ssrc();
00165                 
00169                 virtual void setSSRC(u_int32 ssrc);
00170                 
00174                 virtual IN_Addr address();
00175                 
00179                 virtual void setAddress(IN_Addr address);
00180                 
00185                 virtual IN_Port rtpPort();
00186                 
00191                 virtual void setRTPPort(IN_Port rtpPort);
00192                 
00197                 virtual IN_Port rtcpPort();
00198                 
00203                 virtual void setRTCPPort(IN_Port rtpPort);
00204                 
00210                 static char *ssrcToName(u_int32 ssrc);
00211                 
00212         protected:
00213                 
00218                 SDESChunk *_sdesChunk;
00219                 
00223                 IN_Addr _address;
00224                 
00228                 IN_Port _rtpPort;
00229                 
00233                 IN_Port _rtcpPort;
00234                 
00240                 int _silentIntervals;
00241                 
00246                 virtual void addSDESItem(SDESItem::SDES_ITEM_TYPE type, const char *content);
00247                 
00248 
00249 };
00250 
00251 #endif

Generated on Tue Sep 12 12:20:20 2006 for RTP model for OMNeT++ by  doxygen 1.4.2