00001 /*************************************************************************** 00002 RTSPServerModule.h 00003 ------------------- 00004 begin : Mo Jun 03 2002 00005 00006 ***************************************************************************/ 00007 00008 /*************************************************************************** 00009 * * 00010 * This program is free software; you can redistribute it and/or modify * 00011 * it under the terms of the GNU General Public License as published by * 00012 * the Free Software Foundation; either version 2 of the License, or * 00013 * (at your option) any later version. * 00014 * * 00015 ***************************************************************************/ 00016 00022 #include "omnetpp.h" 00023 00024 #include "sockets.h" 00025 #include "in_addr.h" 00026 #include "in_port.h" 00027 #include "RTSPMessage_m.h" 00028 00035 class RTSPServerModule : public cSimpleModule { 00036 00037 Module_Class_Members(RTSPServerModule, cSimpleModule, 0); 00038 00042 virtual void initialize(); 00043 00047 virtual void handleMessage(cMessage *msg); 00048 00049 00050 protected: 00051 00055 virtual void handleMessageFromServerProcess(cMessage *msg); 00056 00060 virtual void handleMessageFromSocketLayer(cMessage *msg); 00061 00065 virtual void handleSelfMessage(cMessage *msg); 00066 00070 virtual char* generateSessionId(); 00071 00075 virtual void handleRequest(); 00076 00080 virtual void createSession(); 00081 00082 private: 00083 00087 IN_Port _portRTSP; 00088 00092 IN_Port _portRTP; 00093 00097 rtspRequest *request; 00098 00102 IN_Addr remote_addr; 00103 00107 IN_Port remote_port; 00108 00112 Socket::Filedesc _socketFd; 00113 00117 bool _debug; 00118 00122 virtual void writeRequestContents(rtspRequest *request); 00123 00127 virtual void writeResponseContents(rtspResponse *response); 00128 00129 };