[Pkg-voip-commits] [janus] 162/282: Added info on emitter (server name) to Janus handlers events
Jonas Smedegaard
dr at jones.dk
Wed Dec 20 21:53:37 UTC 2017
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag debian/0.2.6-1
in repository janus.
commit 6b55b063cc740500fdd1e7a74c929fe8b7ccf4b7
Author: Lorenzo Miniero <lminiero at gmail.com>
Date: Tue Oct 31 15:31:36 2017 +0100
Added info on emitter (server name) to Janus handlers events
---
events.c | 8 +++++++-
events.h | 3 ++-
janus.c | 3 ++-
3 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/events.c b/events.c
index 9e1704e..28b591e 100644
--- a/events.c
+++ b/events.c
@@ -16,6 +16,7 @@
#include "utils.h"
static gboolean eventsenabled = FALSE;
+static char *server = NULL;
static GHashTable *eventhandlers = NULL;
static GAsyncQueue *events = NULL;
@@ -24,7 +25,7 @@ static json_t exit_event;
static GThread *events_thread;
void *janus_events_thread(void *data);
-int janus_events_init(gboolean enabled, GHashTable *handlers) {
+int janus_events_init(gboolean enabled, char *server_name, GHashTable *handlers) {
/* We setup a thread for passing events to the handlers */
GError *error = NULL;
events_thread = g_thread_try_new("janus events thread", janus_events_thread, NULL, &error);
@@ -32,6 +33,8 @@ int janus_events_init(gboolean enabled, GHashTable *handlers) {
JANUS_LOG(LOG_ERR, "Got error %d (%s) trying to launch the Events handler thread...\n", error->code, error->message ? error->message : "??");
return -1;
}
+ if(server_name != NULL)
+ server = g_strdup(server_name);
events = g_async_queue_new();
eventhandlers = handlers;
eventsenabled = enabled;
@@ -49,6 +52,7 @@ void janus_events_deinit(void) {
}
if(events != NULL)
g_async_queue_unref(events);
+ g_free(server);
}
gboolean janus_events_is_enabled(void) {
@@ -96,6 +100,8 @@ void janus_events_notify_handlers(int type, guint64 session_id, ...) {
/* Prepare the event to notify as a Jansson json_t object */
json_t *event = json_object();
+ if(server != NULL)
+ json_object_set_new(event, "emitter", json_string(server));
json_object_set_new(event, "type", json_integer(type));
json_object_set_new(event, "timestamp", json_integer(janus_get_real_time()));
if(type != JANUS_EVENT_TYPE_CORE) { /* Core events don't have a session ID */
diff --git a/events.h b/events.h
index a552f4a..0ae0e2f 100644
--- a/events.h
+++ b/events.h
@@ -18,9 +18,10 @@
/*! \brief Initialize the event handlers broadcaster
* @param[in] enabled Whether broadcasting events should be supported at all
+ * @param[in] server_name The name of this server, to be added to all events
* @param[in] handlers Map of all registered event handlers
* @returns 0 on success, a negative integer otherwise */
-int janus_events_init(gboolean enabled, GHashTable *handlers);
+int janus_events_init(gboolean enabled, char *server_name, GHashTable *handlers);
/*! \brief De-initialize the event handlers broadcaster */
void janus_events_deinit(void);
diff --git a/janus.c b/janus.c
index 39044ac..bb12d00 100644
--- a/janus.c
+++ b/janus.c
@@ -4063,7 +4063,7 @@ gint main(int argc, char *argv[])
g_strfreev(disabled_eventhandlers);
disabled_eventhandlers = NULL;
/* Initialize the event broadcaster */
- if(janus_events_init(enable_events, eventhandlers) < 0) {
+ if(janus_events_init(enable_events, (server_name ? server_name : (char *)JANUS_SERVER_NAME), eventhandlers) < 0) {
JANUS_LOG(LOG_FATAL, "Error initializing the Event handlers mechanism...\n");
exit(1);
}
@@ -4333,6 +4333,7 @@ gint main(int argc, char *argv[])
if(janus_events_is_enabled()) {
json_t *info = json_object();
json_object_set_new(info, "status", json_string("started"));
+ json_object_set_new(info, "info", janus_info(NULL));
janus_events_notify_handlers(JANUS_EVENT_TYPE_CORE, 0, info);
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/janus.git
More information about the Pkg-voip-commits
mailing list