live
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes
RTSPServerWithREGISTERProxying Class Reference

#include <RTSPServer.hh>

Inheritance diagram for RTSPServerWithREGISTERProxying:
Inheritance graph
[legend]
Collaboration diagram for RTSPServerWithREGISTERProxying:
Collaboration graph
[legend]

Public Types

typedef void() responseHandlerForREGISTER(RTSPServer *rtspServer, unsigned requestId, int resultCode, char *resultString)
 
typedef void() responseHandlerForDEREGISTER(RTSPServer *rtspServer, unsigned requestId, int resultCode, char *resultString)
 

Public Member Functions

unsigned registerStream (ServerMediaSession *serverMediaSession, char const *remoteClientNameOrAddress, portNumBits remoteClientPortNum, responseHandlerForREGISTER *responseHandler, char const *username=NULL, char const *password=NULL, Boolean receiveOurStreamViaTCP=False, char const *proxyURLSuffix=NULL)
 
unsigned deregisterStream (ServerMediaSession *serverMediaSession, char const *remoteClientNameOrAddress, portNumBits remoteClientPortNum, responseHandlerForDEREGISTER *responseHandler, char const *username=NULL, char const *password=NULL, char const *proxyURLSuffix=NULL)
 
char * rtspURL (ServerMediaSession const *serverMediaSession, int clientSocket=-1) const
 
char * rtspURLPrefix (int clientSocket=-1) const
 
UserAuthenticationDatabasesetAuthenticationDatabase (UserAuthenticationDatabase *newDB)
 
void disableStreamingRTPOverTCP ()
 
Boolean setUpTunnelingOverHTTP (Port httpPort)
 
portNumBits httpServerPortNum () const
 
void addServerMediaSession (ServerMediaSession *serverMediaSession)
 
virtual void lookupServerMediaSession (char const *streamName, lookupServerMediaSessionCompletionFunc *completionFunc, void *completionClientData, Boolean isFirstLookupInSession=True)
 
void lookupServerMediaSession (char const *streamName, void(GenericMediaServer::*memberFunc)(ServerMediaSession *))
 
void removeServerMediaSession (ServerMediaSession *serverMediaSession)
 
virtual void removeServerMediaSession (char const *streamName)
 
void closeAllClientSessionsForServerMediaSession (ServerMediaSession *serverMediaSession)
 
virtual void closeAllClientSessionsForServerMediaSession (char const *streamName)
 
void deleteServerMediaSession (ServerMediaSession *serverMediaSession)
 
virtual void deleteServerMediaSession (char const *streamName)
 
unsigned numClientSessions () const
 
UsageEnvironmentenvir () const
 
char const * name () const
 
virtual Boolean isSource () const
 
virtual Boolean isSink () const
 
virtual Boolean isRTCPInstance () const
 
virtual Boolean isRTSPClient () const
 
virtual Boolean isMediaSession () const
 
virtual Boolean isServerMediaSession () const
 

Static Public Member Functions

static RTSPServerWithREGISTERProxyingcreateNew (UsageEnvironment &env, Port ourPort=554, UserAuthenticationDatabase *authDatabase=NULL, UserAuthenticationDatabase *authDatabaseForREGISTER=NULL, unsigned reclamationSeconds=65, Boolean streamRTPOverTCP=False, int verbosityLevelForProxying=0, char const *backEndUsername=NULL, char const *backEndPassword=NULL)
 
static RTSPServercreateNew (UsageEnvironment &env, Port ourPort=554, UserAuthenticationDatabase *authDatabase=NULL, unsigned reclamationSeconds=65)
 
static Boolean lookupByName (UsageEnvironment &env, char const *name, RTSPServer *&resultServer)
 
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
 
static void close (UsageEnvironment &env, char const *mediumName)
 
static void close (Medium *medium)
 

Protected Member Functions

 RTSPServerWithREGISTERProxying (UsageEnvironment &env, int ourSocketIPv4, int ourSocketIPv6, Port ourPort, UserAuthenticationDatabase *authDatabase, UserAuthenticationDatabase *authDatabaseForREGISTER, unsigned reclamationSeconds, Boolean streamRTPOverTCP, int verbosityLevelForProxying, char const *backEndUsername, char const *backEndPassword)
 
virtual ~RTSPServerWithREGISTERProxying ()
 
virtual char const * allowedCommandNames ()
 
virtual Boolean weImplementREGISTER (char const *cmd, char const *proxyURLSuffix, char *&responseStr)
 
virtual void implementCmd_REGISTER (char const *cmd, char const *url, char const *urlSuffix, int socketToRemoteServer, Boolean deliverViaTCP, char const *proxyURLSuffix)
 
virtual UserAuthenticationDatabasegetAuthenticationDatabaseForCommand (char const *cmdName)
 
virtual Boolean specialClientAccessCheck (int clientSocket, struct sockaddr_storage const &clientAddr, char const *urlSuffix)
 
virtual Boolean specialClientUserAccessCheck (int clientSocket, struct sockaddr_storage const &clientAddr, char const *urlSuffix, char const *username)
 
virtual ClientConnectioncreateNewClientConnection (int clientSocket, struct sockaddr_storage const &clientAddr)
 
virtual ClientSessioncreateNewClientSession (u_int32_t sessionId)
 
void cleanup ()
 
void incomingConnectionHandlerIPv4 ()
 
void incomingConnectionHandlerIPv6 ()
 
void incomingConnectionHandlerOnSocket (int serverSocket)
 
ClientSessioncreateNewClientSessionWithId ()
 
ClientSessionlookupClientSession (u_int32_t sessionId)
 
ClientSessionlookupClientSession (char const *sessionIdStr)
 
ServerMediaSessiongetServerMediaSession (char const *streamName)
 
TaskTokennextTask ()
 

Static Protected Member Functions

static int setUpOurSocket (UsageEnvironment &env, Port &ourPort, int domain)
 
static void incomingConnectionHandlerIPv4 (void *, int)
 
static void incomingConnectionHandlerIPv6 (void *, int)
 

Protected Attributes

int fServerSocketIPv4
 
int fServerSocketIPv6
 
Port fServerPort
 
unsigned fReclamationSeconds
 

Private Attributes

Boolean fStreamRTPOverTCP
 
int fVerbosityLevelForProxying
 
unsigned fRegisteredProxyCounter
 
char * fAllowedCommandNames
 
UserAuthenticationDatabasefAuthDBForREGISTER
 
char * fBackEndUsername
 
char * fBackEndPassword
 

Detailed Description

Definition at line 319 of file RTSPServer.hh.

Member Typedef Documentation

◆ responseHandlerForDEREGISTER

typedef void() RTSPServer::responseHandlerForDEREGISTER(RTSPServer *rtspServer, unsigned requestId, int resultCode, char *resultString)
inherited

Definition at line 64 of file RTSPServer.hh.

◆ responseHandlerForREGISTER

typedef void() RTSPServer::responseHandlerForREGISTER(RTSPServer *rtspServer, unsigned requestId, int resultCode, char *resultString)
inherited

Definition at line 46 of file RTSPServer.hh.

Constructor & Destructor Documentation

◆ RTSPServerWithREGISTERProxying()

RTSPServerWithREGISTERProxying::RTSPServerWithREGISTERProxying ( UsageEnvironment env,
int  ourSocketIPv4,
int  ourSocketIPv6,
Port  ourPort,
UserAuthenticationDatabase authDatabase,
UserAuthenticationDatabase authDatabaseForREGISTER,
unsigned  reclamationSeconds,
Boolean  streamRTPOverTCP,
int  verbosityLevelForProxying,
char const *  backEndUsername,
char const *  backEndPassword 
)
protected

◆ ~RTSPServerWithREGISTERProxying()

virtual RTSPServerWithREGISTERProxying::~RTSPServerWithREGISTERProxying ( )
protectedvirtual

Member Function Documentation

◆ addServerMediaSession()

void GenericMediaServer::addServerMediaSession ( ServerMediaSession serverMediaSession)
inherited

◆ allowedCommandNames()

virtual char const* RTSPServerWithREGISTERProxying::allowedCommandNames ( )
protectedvirtual

Reimplemented from RTSPServer.

◆ cleanup()

void GenericMediaServer::cleanup ( )
protectedinherited

◆ close() [1/2]

static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited

◆ close() [2/2]

static void Medium::close ( Medium medium)
staticinherited

◆ closeAllClientSessionsForServerMediaSession() [1/2]

void GenericMediaServer::closeAllClientSessionsForServerMediaSession ( ServerMediaSession serverMediaSession)
inherited

◆ closeAllClientSessionsForServerMediaSession() [2/2]

virtual void GenericMediaServer::closeAllClientSessionsForServerMediaSession ( char const *  streamName)
virtualinherited

◆ createNew() [1/2]

static RTSPServer* RTSPServer::createNew ( UsageEnvironment env,
Port  ourPort = 554,
UserAuthenticationDatabase authDatabase = NULL,
unsigned  reclamationSeconds = 65 
)
staticinherited

◆ createNew() [2/2]

static RTSPServerWithREGISTERProxying* RTSPServerWithREGISTERProxying::createNew ( UsageEnvironment env,
Port  ourPort = 554,
UserAuthenticationDatabase authDatabase = NULL,
UserAuthenticationDatabase authDatabaseForREGISTER = NULL,
unsigned  reclamationSeconds = 65,
Boolean  streamRTPOverTCP = False,
int  verbosityLevelForProxying = 0,
char const *  backEndUsername = NULL,
char const *  backEndPassword = NULL 
)
static

◆ createNewClientConnection()

virtual ClientConnection* RTSPServer::createNewClientConnection ( int  clientSocket,
struct sockaddr_storage const &  clientAddr 
)
protectedvirtualinherited

Implements GenericMediaServer.

◆ createNewClientSession()

virtual ClientSession* RTSPServer::createNewClientSession ( u_int32_t  sessionId)
protectedvirtualinherited

Implements GenericMediaServer.

◆ createNewClientSessionWithId()

ClientSession* GenericMediaServer::createNewClientSessionWithId ( )
protectedinherited

◆ deleteServerMediaSession() [1/2]

void GenericMediaServer::deleteServerMediaSession ( ServerMediaSession serverMediaSession)
inherited

◆ deleteServerMediaSession() [2/2]

virtual void GenericMediaServer::deleteServerMediaSession ( char const *  streamName)
virtualinherited

◆ deregisterStream()

unsigned RTSPServer::deregisterStream ( ServerMediaSession serverMediaSession,
char const *  remoteClientNameOrAddress,
portNumBits  remoteClientPortNum,
responseHandlerForDEREGISTER responseHandler,
char const *  username = NULL,
char const *  password = NULL,
char const *  proxyURLSuffix = NULL 
)
inherited

◆ disableStreamingRTPOverTCP()

void RTSPServer::disableStreamingRTPOverTCP ( )
inlineinherited

Definition at line 88 of file RTSPServer.hh.

88  {
90  }
const Boolean False
Definition: Boolean.hh:28
Boolean fAllowStreamingRTPOverTCP
Definition: RTSPServer.hh:313

References RTSPServer::fAllowStreamingRTPOverTCP, and False.

◆ envir()

UsageEnvironment& Medium::envir ( ) const
inlineinherited

◆ getAuthenticationDatabaseForCommand()

virtual UserAuthenticationDatabase* RTSPServerWithREGISTERProxying::getAuthenticationDatabaseForCommand ( char const *  cmdName)
protectedvirtual

Reimplemented from RTSPServer.

◆ getServerMediaSession()

ServerMediaSession* GenericMediaServer::getServerMediaSession ( char const *  streamName)
protectedinherited

◆ httpServerPortNum()

portNumBits RTSPServer::httpServerPortNum ( ) const
inherited

◆ implementCmd_REGISTER()

virtual void RTSPServerWithREGISTERProxying::implementCmd_REGISTER ( char const *  cmd,
char const *  url,
char const *  urlSuffix,
int  socketToRemoteServer,
Boolean  deliverViaTCP,
char const *  proxyURLSuffix 
)
protectedvirtual

Reimplemented from RTSPServer.

◆ incomingConnectionHandlerIPv4() [1/2]

static void GenericMediaServer::incomingConnectionHandlerIPv4 ( void *  ,
int   
)
staticprotectedinherited

◆ incomingConnectionHandlerIPv4() [2/2]

void GenericMediaServer::incomingConnectionHandlerIPv4 ( )
protectedinherited

◆ incomingConnectionHandlerIPv6() [1/2]

static void GenericMediaServer::incomingConnectionHandlerIPv6 ( void *  ,
int   
)
staticprotectedinherited

◆ incomingConnectionHandlerIPv6() [2/2]

void GenericMediaServer::incomingConnectionHandlerIPv6 ( )
protectedinherited

◆ incomingConnectionHandlerOnSocket()

void GenericMediaServer::incomingConnectionHandlerOnSocket ( int  serverSocket)
protectedinherited

◆ isMediaSession()

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

◆ isRTCPInstance()

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

◆ isRTSPClient()

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

◆ isServerMediaSession()

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

◆ isSink()

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

◆ isSource()

virtual Boolean Medium::isSource ( ) const
virtualinherited

Reimplemented in MediaSource.

◆ lookupByName() [1/2]

static Boolean RTSPServer::lookupByName ( UsageEnvironment env,
char const *  name,
RTSPServer *&  resultServer 
)
staticinherited

◆ lookupByName() [2/2]

static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited

◆ lookupClientSession() [1/2]

ClientSession* GenericMediaServer::lookupClientSession ( u_int32_t  sessionId)
protectedinherited

◆ lookupClientSession() [2/2]

ClientSession* GenericMediaServer::lookupClientSession ( char const *  sessionIdStr)
protectedinherited

◆ lookupServerMediaSession() [1/2]

virtual void GenericMediaServer::lookupServerMediaSession ( char const *  streamName,
lookupServerMediaSessionCompletionFunc completionFunc,
void *  completionClientData,
Boolean  isFirstLookupInSession = True 
)
virtualinherited

◆ lookupServerMediaSession() [2/2]

void GenericMediaServer::lookupServerMediaSession ( char const *  streamName,
void(GenericMediaServer::*)(ServerMediaSession *)  memberFunc 
)
inherited

◆ name()

char const* Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

61 {return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83

References Medium::fMediumName.

◆ nextTask()

TaskToken& Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

77  {
78  return fNextTask;
79  }
TaskToken fNextTask
Definition: Media.hh:84

References Medium::fNextTask.

◆ numClientSessions()

unsigned GenericMediaServer::numClientSessions ( ) const
inlineinherited

Definition at line 80 of file GenericMediaServer.hh.

80 { return fClientSessions->numEntries(); }
virtual unsigned numEntries() const =0

References GenericMediaServer::fClientSessions, and HashTable::numEntries().

◆ registerStream()

unsigned RTSPServer::registerStream ( ServerMediaSession serverMediaSession,
char const *  remoteClientNameOrAddress,
portNumBits  remoteClientPortNum,
responseHandlerForREGISTER responseHandler,
char const *  username = NULL,
char const *  password = NULL,
Boolean  receiveOurStreamViaTCP = False,
char const *  proxyURLSuffix = NULL 
)
inherited

◆ removeServerMediaSession() [1/2]

void GenericMediaServer::removeServerMediaSession ( ServerMediaSession serverMediaSession)
inherited

◆ removeServerMediaSession() [2/2]

virtual void GenericMediaServer::removeServerMediaSession ( char const *  streamName)
virtualinherited

◆ rtspURL()

char* RTSPServer::rtspURL ( ServerMediaSession const *  serverMediaSession,
int  clientSocket = -1 
) const
inherited

◆ rtspURLPrefix()

char* RTSPServer::rtspURLPrefix ( int  clientSocket = -1) const
inherited

◆ setAuthenticationDatabase()

UserAuthenticationDatabase* RTSPServer::setAuthenticationDatabase ( UserAuthenticationDatabase newDB)
inherited

◆ setUpOurSocket()

static int GenericMediaServer::setUpOurSocket ( UsageEnvironment env,
Port ourPort,
int  domain 
)
staticprotectedinherited

◆ setUpTunnelingOverHTTP()

Boolean RTSPServer::setUpTunnelingOverHTTP ( Port  httpPort)
inherited

◆ specialClientAccessCheck()

virtual Boolean RTSPServer::specialClientAccessCheck ( int  clientSocket,
struct sockaddr_storage const &  clientAddr,
char const *  urlSuffix 
)
protectedvirtualinherited

◆ specialClientUserAccessCheck()

virtual Boolean RTSPServer::specialClientUserAccessCheck ( int  clientSocket,
struct sockaddr_storage const &  clientAddr,
char const *  urlSuffix,
char const *  username 
)
protectedvirtualinherited

◆ weImplementREGISTER()

virtual Boolean RTSPServerWithREGISTERProxying::weImplementREGISTER ( char const *  cmd,
char const *  proxyURLSuffix,
char *&  responseStr 
)
protectedvirtual

Reimplemented from RTSPServer.

Field Documentation

◆ fAllowedCommandNames

char* RTSPServerWithREGISTERProxying::fAllowedCommandNames
private

Definition at line 352 of file RTSPServer.hh.

◆ fAuthDBForREGISTER

UserAuthenticationDatabase* RTSPServerWithREGISTERProxying::fAuthDBForREGISTER
private

Definition at line 353 of file RTSPServer.hh.

◆ fBackEndPassword

char* RTSPServerWithREGISTERProxying::fBackEndPassword
private

Definition at line 355 of file RTSPServer.hh.

◆ fBackEndUsername

char* RTSPServerWithREGISTERProxying::fBackEndUsername
private

Definition at line 354 of file RTSPServer.hh.

◆ fReclamationSeconds

unsigned GenericMediaServer::fReclamationSeconds
protectedinherited

Definition at line 177 of file GenericMediaServer.hh.

◆ fRegisteredProxyCounter

unsigned RTSPServerWithREGISTERProxying::fRegisteredProxyCounter
private

Definition at line 351 of file RTSPServer.hh.

◆ fServerPort

Port GenericMediaServer::fServerPort
protectedinherited

◆ fServerSocketIPv4

int GenericMediaServer::fServerSocketIPv4
protectedinherited

Definition at line 175 of file GenericMediaServer.hh.

◆ fServerSocketIPv6

int GenericMediaServer::fServerSocketIPv6
protectedinherited

Definition at line 175 of file GenericMediaServer.hh.

◆ fStreamRTPOverTCP

Boolean RTSPServerWithREGISTERProxying::fStreamRTPOverTCP
private

Definition at line 349 of file RTSPServer.hh.

◆ fVerbosityLevelForProxying

int RTSPServerWithREGISTERProxying::fVerbosityLevelForProxying
private

Definition at line 350 of file RTSPServer.hh.


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