86 #ifndef JANUS_EVENTHANDLER_H 87 #define JANUS_EVENTHANDLER_H 100 #include "../utils.h" 104 #define JANUS_EVENTHANDLER_API_VERSION 3 129 #define JANUS_EVENT_TYPE_NONE (0) 131 #define JANUS_EVENT_TYPE_SESSION (1 << 0) 133 #define JANUS_EVENT_TYPE_HANDLE (1 << 1) 135 #define JANUS_EVENT_TYPE_EXTERNAL (1 << 2) 137 #define JANUS_EVENT_TYPE_JSEP (1 << 3) 139 #define JANUS_EVENT_TYPE_WEBRTC (1 << 4) 141 #define JANUS_EVENT_TYPE_MEDIA (1 << 5) 143 #define JANUS_EVENT_TYPE_PLUGIN (1 << 6) 145 #define JANUS_EVENT_TYPE_TRANSPORT (1 << 7) 147 #define JANUS_EVENT_TYPE_CORE (1 << 8) 150 #define JANUS_EVENT_TYPE_ALL (0xffffffff) 169 #define JANUS_EVENT_SUBTYPE_NONE 0 171 #define JANUS_EVENT_SUBTYPE_CORE_STARTUP 1 173 #define JANUS_EVENT_SUBTYPE_CORE_SHUTDOWN 2 175 #define JANUS_EVENT_SUBTYPE_WEBRTC_ICE 1 177 #define JANUS_EVENT_SUBTYPE_WEBRTC_LCAND 2 179 #define JANUS_EVENT_SUBTYPE_WEBRTC_RCAND 3 181 #define JANUS_EVENT_SUBTYPE_WEBRTC_PAIR 4 183 #define JANUS_EVENT_SUBTYPE_WEBRTC_DTLS 5 185 #define JANUS_EVENT_SUBTYPE_WEBRTC_STATE 6 187 #define JANUS_EVENT_SUBTYPE_MEDIA_STATE 1 189 #define JANUS_EVENT_SUBTYPE_MEDIA_SLOWLINK 2 191 #define JANUS_EVENT_SUBTYPE_MEDIA_STATS 3 194 #define JANUS_EVENTHANDLER_INIT(...) { \ 197 .get_api_compatibility = NULL, \ 198 .get_version = NULL, \ 199 .get_version_string = NULL, \ 200 .get_description = NULL, \ 202 .get_author = NULL, \ 203 .get_package = NULL, \ 204 .incoming_event = NULL, \ 205 .events_mask = JANUS_EVENT_TYPE_NONE, \ 218 int (*
const init)(
const char *config_path);
void(*const destroy)(void)
Event handler plugin deinitialization/destructor.
Definition: eventhandler.h:220
gsize janus_flags
Janus flags container.
Definition: utils.h:110
struct json_t json_t
Definition: plugin.h:236
janus_flags events_mask
Mask of events this handler is interested in, as a janus_flags object.
Definition: eventhandler.h:274
int(*const get_version)(void)
Informative method to request the numeric version of the event handler plugin.
Definition: eventhandler.h:227
const char *(*const get_version_string)(void)
Informative method to request the string version of the event handler plugin.
Definition: eventhandler.h:229
json_t *(*const handle_request)(json_t *request)
Method to send a request to this specific event handler plugin.
Definition: eventhandler.h:271
void(*const incoming_event)(json_t *event)
Method to notify the event handler plugin that a new event is available.
Definition: eventhandler.h:258
The event handler plugin session and callbacks interface.
Definition: eventhandler.h:214
const char *(*const get_name)(void)
Informative method to request the name of the event handler plugin.
Definition: eventhandler.h:233
int(*const init)(const char *config_path)
Event handler plugin initialization/constructor.
Definition: eventhandler.h:218
const char *(*const get_description)(void)
Informative method to request a description of the event handler plugin.
Definition: eventhandler.h:231
int(*const get_api_compatibility)(void)
Informative method to request the API version this event handler plugin was compiled against...
Definition: eventhandler.h:225
const char *(*const get_author)(void)
Informative method to request the author of the event handler plugin.
Definition: eventhandler.h:235
const char *(*const get_package)(void)
Informative method to request the package name of the event handler plugin (what will be used in web ...
Definition: eventhandler.h:237
janus_eventhandler * create_e(void)
The hook that event handler plugins need to implement to be created from the Janus core...
Definition: eventhandler.h:278