Superclass of all handlers of connect events. More...
#include <rtmp.h>
Public Member Functions | |
virtual bool | handle (bool is_create, IConnection *connection, const IData *command_arguments, const IData *user_arguments)=0 |
Called on a connect event. More... | |
Public Member Functions inherited from mi::base::IInterface | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0x57b2f74b, ... > | |
typedef Interface_declare< id1, ... > | Self |
Own type. More... | |
typedef Uuid_t< id1, ... > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> | IID |
Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x57b2f74b, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
Superclass of all handlers of connect events.
A subclass gets registered via mi::rtmp::IServer::install() and will be called in the case of a connect event. There can be several connect event handlers and on new connections each will be called until one returns true
or the list of handlers is exhausted.
|
pure virtual |
Called on a connect event.
If the is_create
parameter is true
the supplied connection can be used to register handlers for stream and call events. If the connection should be allowed it should return true
. This way several connect event handlers can be installed, each responsible for different applications. When a connection is closed, the same handler that initially allowed the connection is called again but with is_create
set to false
. The return value is only considered when is_create
is true
. Note that the arguments are no longer valid after the handler has returned so the connection pointer cannot be saved away.
connection
parameter is only valid during the call of the handle() method and cannot be stored (even if proper reference counting is used).is_create | Indicates whether this is a new or closed connection. |
connection | The corresponding connection which can be used to register call and stream event handlers. |
command_arguments | The command object from the client. |
user_arguments | The user object from the client. |
is_create
is false
, the return value is ignored. If is_create
is true
, the return value indicates whether this connect event handler declares itself responsible for the connection.