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]

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.

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

OpalRTPConnection& OpalRTPSessionManager::m_connection [protected]

PMutex OpalRTPSessionManager::m_mutex [protected]

SessionDict OpalRTPSessionManager::sessions [protected]


The documentation for this class was generated from the following file:
Generated on Mon Feb 21 20:19:24 2011 for OPAL by  doxygen 1.4.7