00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef MN_SESSION_STATE_H
00025
#define MN_SESSION_STATE_H
00026
00027
#include <sys/types.h>
00028
#include <string.h>
00029
#include <stdio.h>
00030
00031
#include "SDPMediaDescription.h"
00032
#include "MNString.h"
00033
#include "MNValid.h"
00034
00035 class MNSessionState
00036 {
00037 DECLARE_VALID
00038
00039
public:
00040 enum State
00041 {
00042
INIT_STATE,
00043
READY_STATE,
00044
PLAY_STATE
00045 };
00046
00047
private:
00048 State _cur_state;
00049
MNString _server_url;
00050
MNString _session_id;
00051 u_short _data_port;
00052 u_short _data_sender_port;
00053
MNString _data_sender_hostname;
00054 size_t _data_bandwidth;
00055
bool _data_sender_multicast;
00056
MDescPtr _mdesc;
00057
MDescList* _mdesclist;
00058
00059
public:
00060
MNSessionState();
00061
00062
virtual ~MNSessionState();
00063
00064
void setState( State s );
00065 State
getState( ) const;
00066
00067 const
MNString& getServerUrl() const;
00068
void setServerUrl( const
MNString& s,
int port );
00069
void setServerUrl( const
char* s,
int port );
00070
00071 const
MNString& getSessionId( ) const;
00072
void setSessionId( const
MNString&
id );
00073
00074 u_short getDataPort( ) const;
00075
void setDataPort( u_short p );
00076
00077 u_short getDataSenderPort( ) const;
00078
void setDataSenderPort( u_short p );
00079
00080 size_t getDataBandwidth( ) const;
00081
void setDataBandwidth( size_t val );
00082
00083 const
MNString& getDataSenderHostname( ) const;
00084
void setDataSenderHostname( const
MNString& val );
00085
00089
void setDataSenderHostnameFromSDPConnection( const
MNString& val );
00090
bool getDataSenderMulticast( ) const;
00091
00092
void setMediaDescription(
MDescPtr mdesc );
00093
MDescPtr getMediaDescription( ) const;
00094
MDescPtr getMediaDescription(size_t idx) const;
00095
00096
void setMediaDescList(
MDescList* mdesclist );
00097 const
MDescList& getMediaDescList( ) const;
00098 };
00099
00100 #endif
00101