00001 /* Copyright (C) 2002 Carsten Griwodz 00002 * 00003 * You are allowed to use all other parts of the code under the following terms: 00004 * 00005 * For non-commercial use, this code may be used in unmodified form 00006 * provided that this copyright notice and this permission notice appear 00007 * in supporting documentation. 00008 * 00009 * The code may be made subject to the terms of the GNU General Public 00010 * License, Version 2, and re-distributed under the terms of this license. 00011 * 00012 * Commercial use other than under the terms of the GNU General Public 00013 * License is allowed only after negotiation of conditions with the authors. 00014 */ 00015 #ifndef RTSP_MSG_SETUP_H 00016 #define RTSP_MSG_SETUP_H 00017 00018 #include "RTSPMsg.h" 00019 00020 namespace RTSP 00021 { 00022 00023 /*--------------------------------------------------------------------* 00024 * Setup 00025 *--------------------------------------------------------------------*/ 00026 00027 class Setup : public Msg 00028 { 00029 MNString _uri; 00030 int _cseq; 00031 bool _add_streamid_to_url; 00032 MNString _trackID; 00033 MNString _sessionID; 00034 bool _tfrc; 00035 bool _multicast; 00036 bool _proxy_formatswitching; 00037 bool _proxy_streaming; 00038 bool _proxy_caching; 00039 bool _has_destination; 00040 bool _has_client_port; 00041 bool _has_bandwidth; 00042 MNString _destination; 00043 int _client_port; 00044 u_int64_t _bandwidth; 00045 bool _rtp_tcp; 00046 bool _isJVCCamera; 00047 public: 00048 Setup( const MNString& uri, int cseq ); 00049 00050 void set_tfrc( bool yes ); 00051 void set_rtp_tcp( bool yes ); 00052 void set_multicast( bool yes ); 00053 void set_proxy_formatswitching( bool yes ); 00054 void set_proxy_streaming( bool yes ); 00055 void set_proxy_caching( bool yes ); 00056 void set_destination( const MNString& dest ); 00057 void set_client_port( int client_port ); 00058 void set_bandwidth( u_int64_t bandwidth ); 00059 void set_add_streamid_to_url( bool yes ); 00060 void set_is_JVC_camera( bool yes ); 00061 void addTrackIDToUrl(const MNString& trackID); 00062 void setSessionID(const MNString& sessionID); 00063 virtual MNString toString( ) const; 00064 }; 00065 00066 }; // namespace RTSP 00067 00068 #endif /* RTSP_MSG_SETUP_H */