OpalRTPSessionManager Class Reference

#include <rtpconn.h>

Collaboration diagram for OpalRTPSessionManager:

[legend]

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)
virtual void CloseSession (unsigned sessionID)
RTP_SessionGetSession (unsigned sessionID) const
OpalMediaSessionGetMediaSession (unsigned sessionID) 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 void OpalRTPSessionManager::CloseSession ( unsigned  sessionID  )  [virtual]

Release the session.

Parameters:
sessionID  Session ID to release, 0 indicates all

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]


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 14 Aug 2013 for OPAL by  doxygen 1.4.7