OpalRTPSessionManager Class Reference

#include <rtpconn.h>

Public Member Functions

PMutex & GetMutex ()
virtual bool AllSessionsFailing ()
Construction



 OpalRTPSessionManager (OpalRTPConnection &connection)
 ~OpalRTPSessionManager ()
 Destroy sessions, unlinking from connection.
 OpalRTPSessionManager (const OpalRTPSessionManager &other)
 Copy constructor - maintain list in OpalRTPConnection.
void operator= (const OpalRTPSessionManager &other)
 Assignment of RTP session managers.
Operations



unsigned GetNextSessionID ()
void AddSession (RTP_Session *session, const OpalMediaType &mediaType)
void AddMediaSession (OpalMediaSession *session, const OpalMediaType &mediaType)
void ReleaseSession (unsigned sessionID, PBoolean clearAll=PFalse)
RTP_SessionGetSession (unsigned sessionID) const
OpalMediaSessionGetMediaSession (unsigned sessionID) const
virtual RTP_UDPFindSessionByLocalPort (WORD port) const
bool ChangeSessionID (unsigned fromSessionID, unsigned toSessionID)

Protected Member Functions

 PDICTIONARY (SessionDict, POrdinalKey, OpalMediaSession)

Protected Attributes

OpalRTPConnectionm_connection
PMutex m_mutex
SessionDict sessions

Detailed Description

This class manages the RTP sessions for an OpalRTPConnection


Constructor & Destructor Documentation

OpalRTPSessionManager::OpalRTPSessionManager ( OpalRTPConnection connection  ) 

Construct new session manager database.

Parameters:
connection Owner connection for RTP sessions
OpalRTPSessionManager::~OpalRTPSessionManager (  ) 

Destroy sessions, unlinking from connection.

OpalRTPSessionManager::OpalRTPSessionManager ( const OpalRTPSessionManager other  ) 

Copy constructor - maintain list in OpalRTPConnection.


Member Function Documentation

void OpalRTPSessionManager::AddMediaSession ( OpalMediaSession session,
const OpalMediaType mediaType 
)
Parameters:
session Session to add.
mediaType initial media type for this session
void OpalRTPSessionManager::AddSession ( RTP_Session session,
const OpalMediaType mediaType 
)

Add an RTP session for the specified ID.

This function MUST be called only after the UseSession() function has returned NULL. The mutex flag is left locked in that case. This function expects the mutex to be locked and unlocks it automatically.

Parameters:
session Session to add.
mediaType initial media type for this session
virtual bool OpalRTPSessionManager::AllSessionsFailing (  )  [virtual]
bool OpalRTPSessionManager::ChangeSessionID ( unsigned  fromSessionID,
unsigned  toSessionID 
)

Change the sessionID for an existing session. This will adjust the RTP session and media streams.

Return false if no such session exists.

Parameters:
fromSessionID Session ID to search for
toSessionID Session ID to change to
virtual RTP_UDP* OpalRTPSessionManager::FindSessionByLocalPort ( WORD  port  )  const [virtual]

Find an RTP session for the specified local port. If there is no session, NULL is returned.

Parameters:
port Local port number
OpalMediaSession* OpalRTPSessionManager::GetMediaSession ( unsigned  sessionID  )  const
PMutex& OpalRTPSessionManager::GetMutex (  )  [inline]

References m_mutex.

unsigned OpalRTPSessionManager::GetNextSessionID (  ) 

Get next available session ID for the media type.

RTP_Session* OpalRTPSessionManager::GetSession ( unsigned  sessionID  )  const

Get a session for the specified ID.

Parameters:
sessionID Session ID to get.
void OpalRTPSessionManager::operator= ( const OpalRTPSessionManager other  )  [inline]

Assignment of RTP session managers.

References sessions.

OpalRTPSessionManager::PDICTIONARY ( SessionDict  ,
POrdinalKey  ,
OpalMediaSession   
) [protected]
void OpalRTPSessionManager::ReleaseSession ( unsigned  sessionID,
PBoolean  clearAll = PFalse 
)

Release the session.

Parameters:
sessionID Session ID to release.
clearAll Clear all sessions with that ID

Field Documentation

PMutex OpalRTPSessionManager::m_mutex [protected]

Referenced by GetMutex().

SessionDict OpalRTPSessionManager::sessions [protected]

Referenced by operator=().


The documentation for this class was generated from the following file:

Generated on 14 Jul 2011 for OPAL by  doxygen 1.6.1