Fork me on GitHub
Data Structures | Functions
events.c File Reference

Event handler notifications. More...

#include <stdarg.h>
#include "events.h"
#include "utils.h"
Include dependency graph for events.c:

Data Structures

struct  janus_event_types
 

Functions

void * janus_events_thread (void *data)
 
int janus_events_init (gboolean enabled, char *server_name, GHashTable *handlers)
 Initialize the event handlers broadcaster. More...
 
void janus_events_deinit (void)
 De-initialize the event handlers broadcaster. More...
 
gboolean janus_events_is_enabled (void)
 Quick method to check whether event handlers are enabled at all or not. More...
 
void janus_events_notify_handlers (int type, guint64 session_id,...)
 Notify an event to all interested handlers. More...
 
void janus_events_edit_events_mask (const char *list, janus_flags *target)
 Helper method to change the mask of events a handler is interested in. More...
 
const char * janus_events_type_to_label (int type)
 Helper method to stringify an event type to its label. More...
 
const char * janus_events_type_to_name (int type)
 Helper method to stringify an event type to its prettified name. More...
 

Detailed Description

Event handler notifications.

Author
Lorenzo Miniero loren.nosp@m.zo@m.nosp@m.eetec.nosp@m.ho.c.nosp@m.om

Event handler plugins can receive events from the Janus core and other plugins, in order to handle them somehow. This methods provide helpers to notify events to such handlers.

Core

Function Documentation

void janus_events_deinit ( void  )

De-initialize the event handlers broadcaster.

void janus_events_edit_events_mask ( const char *  list,
janus_flags target 
)

Helper method to change the mask of events a handler is interested in.

Note
Every time this is called, the mask is resetted, which means that to unsubscribe from a single event you have to pass an updated list
Parameters
[in]listA comma separated string of event types to subscribe to
[out]targetThe mask to update
int janus_events_init ( gboolean  enabled,
char *  server_name,
GHashTable *  handlers 
)

Initialize the event handlers broadcaster.

Parameters
[in]enabledWhether broadcasting events should be supported at all
[in]server_nameThe name of this server, to be added to all events
[in]handlersMap of all registered event handlers
Returns
0 on success, a negative integer otherwise
gboolean janus_events_is_enabled ( void  )

Quick method to check whether event handlers are enabled at all or not.

Returns
TRUE if they're enabled, FALSE if not
void janus_events_notify_handlers ( int  type,
guint64  session_id,
  ... 
)

Notify an event to all interested handlers.

Note
According to the type of event to notify, different arguments may be required and used in order to prepare the actual object to pass to handlers.
Parameters
[in]typeType of the event to notify
[in]session_idJanus session identifier this event refers to
void * janus_events_thread ( void *  data)
const char* janus_events_type_to_label ( int  type)

Helper method to stringify an event type to its label.

Parameters
[in]typeThe event type
Returns
The event type label, if found, or NULL otherwise
const char* janus_events_type_to_name ( int  type)

Helper method to stringify an event type to its prettified name.

Parameters
[in]typeThe event type
Returns
The prettified name of the event type, if found, or NULL otherwise