Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00024 #ifndef __INET_RTPINTERFACEPACKET_H
00025 #define __INET_RTPINTERFACEPACKET_H
00026
00027 #include "INETDefs.h"
00028 #include "IPAddress.h"
00029 #include "RTPSenderControlMessage_m.h"
00030 #include "RTPSenderStatusMessage_m.h"
00031
00032
00033
00040 class INET_API RTPInterfacePacket : public cPacket
00041 {
00042
00043 public:
00044
00049 enum RTP_IFP_TYPE {
00050 RTP_IFP_UNDEF,
00051 RTP_IFP_ENTER_SESSION,
00052 RTP_IFP_SESSION_ENTERED,
00053 RTP_IFP_CREATE_SENDER_MODULE,
00054 RTP_IFP_SENDER_MODULE_CREATED,
00055 RTP_IFP_DELETE_SENDER_MODULE,
00056 RTP_IFP_SENDER_MODULE_DELETED,
00057 RTP_IFP_SENDER_CONTROL,
00058 RTP_IFP_SENDER_STATUS,
00059 RTP_IFP_LEAVE_SESSION,
00060 RTP_IFP_SESSION_LEFT
00061 };
00062
00066 RTPInterfacePacket(const char *name = NULL);
00067
00071 RTPInterfacePacket(const RTPInterfacePacket& rifp);
00072
00076 virtual ~RTPInterfacePacket();
00077
00081 RTPInterfacePacket& operator=(const RTPInterfacePacket& rifp);
00082
00086 virtual RTPInterfacePacket *dup() const;
00087
00091 virtual std::string info();
00092
00096 virtual void dump(std::ostream& os);
00097
00102 virtual void enterSession(const char *commonName, const char *profileName, int bandwidth, IPAddress destinationAddress, int port);
00103
00108 virtual void sessionEntered(uint32 ssrc);
00109
00110
00111 virtual void createSenderModule(uint32 ssrc, int payloadType, const char *fileName);
00112 virtual void senderModuleCreated(uint32 ssrc);
00113 virtual void deleteSenderModule(uint32 ssrc);
00114 virtual void senderModuleDeleted(uint32 ssrc);
00115 virtual void senderModuleControl(uint32 ssrc, RTPSenderControlMessage *msg);
00116 virtual void senderModuleStatus(uint32 ssrc, RTPSenderStatusMessage *msg);
00117
00122
00123
00128
00129
00135
00136
00141
00142
00147
00148
00153 virtual void leaveSession();
00154
00160 virtual void sessionLeft();
00161
00165 virtual RTP_IFP_TYPE getType();
00166
00170 virtual const char *getCommonName();
00171
00175 virtual const char *getProfileName();
00176
00180 virtual int getBandwidth();
00181
00185 virtual IPAddress getDestinationAddress();
00186
00190 virtual int getPort();
00191
00195 virtual uint32 getSSRC();
00196
00200 virtual int getPayloadType();
00201
00205 virtual const char *getFileName();
00206
00207 protected:
00208
00212 RTP_IFP_TYPE _type;
00213
00217 const char *_commonName;
00218
00222 const char *_profileName;
00223
00227 int _bandwidth;
00228
00232 IPAddress _destinationAddress;
00233
00237 int _port;
00238
00242 uint32 _ssrc;
00243
00247 int _payloadType;
00248
00252 const char *_fileName;
00253 };
00254
00255 #endif
00256