Main Page   Namespace List   Alphabetical List   Compound List   File List   Compound Members   File Members  

RTSPServerLayer.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           RTSPServerLayer.h  
00003                          -------------------
00004     begin                : Sun Jun 09 2002
00005  ***************************************************************************/
00006 
00007 /***************************************************************************
00008  *                                                                         *
00009  *   This program is free software; you can redistribute it and/or modify  *
00010  *   it under the terms of the GNU General Public License as published by  *
00011  *   the Free Software Foundation; either version 2 of the License, or     *
00012  *   (at your option) any later version.                                   *
00013  *                                                                         *
00014  ***************************************************************************/
00015 
00020 #include "omnetpp.h"
00021 
00022 #include "sockets.h"
00023 #include "in_addr.h"
00024 #include "in_port.h"
00025 
00026 #include "RTSPMessage_m.h"
00027 #include "RTPInterfacePacket.h"
00028 
00034 class RTSPServerLayer : public cSimpleModule {
00035 
00036         Module_Class_Members(RTSPServerLayer, cSimpleModule, 0);
00037         
00041         enum FSM_STATES {
00042 
00043              INIT        = 0,
00044              READY       = FSM_Steady(1),
00045              PLAYING     = FSM_Steady(2),
00046         };
00047                         
00051         virtual void initialize();
00052         
00056         virtual void handleMessage(cMessage *msg);
00057         
00058                 
00059         protected:
00060         
00064                 cFSM fsm;
00065                                 
00069                 virtual void handleMessageFromSocketLayer(cMessage *msg);
00070                 
00074                 virtual void handleMessageFromServerModule(cMessage *msg);
00075                 
00079                 virtual void handleMessageFromRTP(cMessage *msg);
00080                                         
00084                 virtual void handleRequest();
00085                 
00089                 virtual void handleRequestStateInit();
00090 
00094                 virtual void handleRequestStateReady();
00095 
00099                 virtual void handleRequestStatePlaying();
00100 
00104                 virtual void handleSelfMessage(cMessage *msg);
00105         
00106         private:
00107                 
00111                 bool _debug;
00112                         
00116                 IN_Port _portRTP;
00117                 
00121                 u_int32 _ssrc;
00122                 
00126                 rtspResponse *response;
00127                 
00131                 rtspRequest *request;
00132                 
00136                 Socket::Filedesc _socketFd;
00137 
00141                 char *_filename;        
00142                 
00146                 float _rangeFrom;
00147                 
00151                 float _rangeTo;
00152 
00156                 char _url[255];
00157                 
00161                 virtual void writeRequestContents(rtspRequest *request);
00162                 
00166                 virtual void writeResponseContents(rtspResponse *response);     
00167                 
00168 };

Generated on Thu Aug 7 16:40:42 2003 for RTSP model for OMNeT++ by doxygen1.2.18