82 #ifndef JANUS_TRANSPORT_H 83 #define JANUS_TRANSPORT_H 100 #define JANUS_TRANSPORT_API_VERSION 7 116 #define JANUS_TRANSPORT_INIT(...) { \ 119 .get_api_compatibility = NULL, \ 120 .get_version = NULL, \ 121 .get_version_string = NULL, \ 122 .get_description = NULL, \ 124 .get_author = NULL, \ 125 .get_package = NULL, \ 126 .is_janus_api_enabled = NULL, \ 127 .is_admin_api_enabled = NULL, \ 128 .send_message = NULL, \ 129 .session_created = NULL, \ 130 .session_over = NULL, \ 131 .session_claimed = NULL, \ 181 void (*
const destroy)(void);
186 int (*
const get_api_compatibility)(void);
188 int (*
const get_version)(void);
201 gboolean (*
const is_janus_api_enabled)(void);
203 gboolean (*
const is_admin_api_enabled)(void);
265 gboolean (*
const is_api_secret_valid)(
janus_transport *plugin,
const char *apisecret);
280 gboolean (*
const events_is_enabled)(void);
volatile gint destroyed
Whether this mapping has been destroyed definitely or not: if so, the transport shouldn't make use of...
Definition: transport.h:151
const char *(*const get_version_string)(void)
Informative method to request the string version of the transport plugin.
Definition: transport.h:190
janus_transport * create_t(void)
The hook that transport plugins need to implement to be created from the Janus core.
Definition: transport.h:289
Reference counter mechanism.
struct json_t json_t
Definition: plugin.h:236
void(* p_free)(void *)
Pointer to the transport-provided function, if needed, that will be used to free the opaque transport...
Definition: transport.h:148
GMutex janus_mutex
Janus mutex implementation.
Definition: mutex.h:61
void * transport_p
Opaque pointer to the transport session.
Definition: transport.h:146
const char *(*const get_name)(void)
Informative method to request the name of the transport plugin.
Definition: transport.h:194
Definition: refcount.h:78
const char *(*const get_package)(void)
Informative method to request the package name of the transport plugin (what will be used in web appl...
Definition: transport.h:198
const char *(*const get_description)(void)
Informative method to request a description of the transport plugin.
Definition: transport.h:192
The transport plugin session and callbacks interface.
Definition: transport.h:174
janus_transport_session * janus_transport_session_create(void *transport_p, void(*p_free)(void *))
Helper to create a janus_transport_session instance.
Definition: transport.c:24
Callbacks to contact the Janus core.
Definition: transport.h:236
Transport-Gateway session mapping.
Definition: transport.h:144
janus_mutex mutex
Mutex to protect changes to transport_p.
Definition: transport.h:153
janus_refcount ref
Reference counter for this instance.
Definition: transport.h:155
const char *(*const get_author)(void)
Informative method to request the author of the transport plugin.
Definition: transport.h:196
void janus_transport_session_destroy(janus_transport_session *session)
Helper to mark a janus_transport_session instance as destroyed.
Definition: transport.c:36