mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-30 15:14:17 +00:00
FS-11848 [core] add user_data to event_channel_bind
* also adds a convenience switch_event_channel_deliver for already in thread
This commit is contained in:
1 parent
eb31e17e6c
commit
302b409815
7 files changed
+58
-38
No files matched your search
@@ -57,7 +57,8 @@ static cJSON *get_canvas_info(mcu_canvas_t *canvas)
|
||||
return obj;
|
||||
}
|
||||
|
||||
void conference_event_mod_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id)
|
||||
|
||||
void conference_event_mod_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data)
|
||||
{
|
||||
cJSON *data, *addobj = NULL;
|
||||
const char *action = NULL;
|
||||
@@ -413,7 +414,7 @@ void conference_event_mod_channel_handler(const char *event_channel, cJSON *json
|
||||
|
||||
}
|
||||
|
||||
void conference_event_chat_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id)
|
||||
void conference_event_chat_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data)
|
||||
{
|
||||
cJSON *data;
|
||||
cJSON *jid = 0;
|
||||
@@ -475,12 +476,12 @@ void conference_event_chat_channel_handler(const char *event_channel, cJSON *jso
|
||||
switch_safe_free(conference_name);
|
||||
}
|
||||
|
||||
void conference_event_la_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id)
|
||||
void conference_event_la_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data)
|
||||
{
|
||||
switch_live_array_parse_json(json, conference_globals.event_channel_id);
|
||||
}
|
||||
|
||||
void conference_event_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id)
|
||||
void conference_event_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data)
|
||||
{
|
||||
char *domain = NULL, *name = NULL;
|
||||
conference_obj_t *conference = NULL;
|
||||
|
||||
@@ -3934,10 +3934,10 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_conference_load)
|
||||
switch_console_add_complete_func("::conference::conference_list_conferences", conference_list_conferences);
|
||||
|
||||
|
||||
switch_event_channel_bind("conference", conference_event_channel_handler, &conference_globals.event_channel_id);
|
||||
switch_event_channel_bind("conference-liveArray", conference_event_la_channel_handler, &conference_globals.event_channel_id);
|
||||
switch_event_channel_bind("conference-mod", conference_event_mod_channel_handler, &conference_globals.event_channel_id);
|
||||
switch_event_channel_bind("conference-chat", conference_event_chat_channel_handler, &conference_globals.event_channel_id);
|
||||
switch_event_channel_bind("conference", conference_event_channel_handler, &conference_globals.event_channel_id, NULL);
|
||||
switch_event_channel_bind("conference-liveArray", conference_event_la_channel_handler, &conference_globals.event_channel_id, NULL);
|
||||
switch_event_channel_bind("conference-mod", conference_event_mod_channel_handler, &conference_globals.event_channel_id, NULL);
|
||||
switch_event_channel_bind("conference-chat", conference_event_chat_channel_handler, &conference_globals.event_channel_id, NULL);
|
||||
|
||||
if ( conference_api_sub_syntax(&api_syntax) != SWITCH_STATUS_SUCCESS) {
|
||||
return SWITCH_STATUS_TERM;
|
||||
@@ -3991,10 +3991,10 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_conference_shutdown)
|
||||
/* signal all threads to shutdown */
|
||||
conference_globals.running = 0;
|
||||
|
||||
switch_event_channel_unbind(NULL, conference_event_channel_handler);
|
||||
switch_event_channel_unbind(NULL, conference_event_la_channel_handler);
|
||||
switch_event_channel_unbind(NULL, conference_event_mod_channel_handler);
|
||||
switch_event_channel_unbind(NULL, conference_event_chat_channel_handler);
|
||||
switch_event_channel_unbind(NULL, conference_event_channel_handler, NULL);
|
||||
switch_event_channel_unbind(NULL, conference_event_la_channel_handler, NULL);
|
||||
switch_event_channel_unbind(NULL, conference_event_mod_channel_handler, NULL);
|
||||
switch_event_channel_unbind(NULL, conference_event_chat_channel_handler, NULL);
|
||||
|
||||
switch_console_del_complete_func("::conference::conference_list_conferences");
|
||||
|
||||
|
||||
@@ -1167,10 +1167,10 @@ void conference_cdr_del(conference_member_t *member);
|
||||
void conference_cdr_add(conference_member_t *member);
|
||||
void conference_cdr_rejected(conference_obj_t *conference, switch_channel_t *channel, cdr_reject_reason_t reason);
|
||||
void conference_cdr_render(conference_obj_t *conference);
|
||||
void conference_event_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id);
|
||||
void conference_event_la_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id);
|
||||
void conference_event_mod_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id);
|
||||
void conference_event_chat_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id);
|
||||
void conference_event_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data);
|
||||
void conference_event_la_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data);
|
||||
void conference_event_mod_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data);
|
||||
void conference_event_chat_channel_handler(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data);
|
||||
|
||||
void conference_member_itterator(conference_obj_t *conference, switch_stream_handle_t *stream, uint8_t non_mod, conference_api_member_cmd_t pfncallback, void *data);
|
||||
int conference_video_flush_queue(switch_queue_t *q, int min);
|
||||
|
||||
@@ -171,7 +171,7 @@ static void close_socket(ws_socket_t *sock)
|
||||
}
|
||||
}
|
||||
|
||||
void verto_broadcast(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id);
|
||||
void verto_broadcast(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data);
|
||||
|
||||
static int verto_init_ssl(verto_profile_t *profile)
|
||||
{
|
||||
@@ -5570,7 +5570,7 @@ static switch_call_cause_t verto_outgoing_channel(switch_core_session_t *session
|
||||
return cause;
|
||||
}
|
||||
|
||||
void verto_broadcast(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id)
|
||||
void verto_broadcast(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data)
|
||||
{
|
||||
if (verto_globals.debug > 9) {
|
||||
char *json_text;
|
||||
@@ -6113,7 +6113,7 @@ static void event_handler(switch_event_t *event)
|
||||
|
||||
/* comment broadcasting globally and change to only within the module cos FS events are heavy */
|
||||
//switch_event_channel_broadcast(event_channel, &msg, __FILE__, NO_EVENT_CHANNEL_ID);
|
||||
verto_broadcast(event_channel, msg, __FILE__, NO_EVENT_CHANNEL_ID);cJSON_Delete(msg);
|
||||
verto_broadcast(event_channel, msg, __FILE__, NO_EVENT_CHANNEL_ID, NULL);cJSON_Delete(msg);
|
||||
|
||||
free(event_channel);
|
||||
|
||||
@@ -6185,7 +6185,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_verto_load)
|
||||
|
||||
|
||||
|
||||
switch_event_channel_bind(SWITCH_EVENT_CHANNEL_GLOBAL, verto_broadcast, &verto_globals.event_channel_id);
|
||||
switch_event_channel_bind(SWITCH_EVENT_CHANNEL_GLOBAL, verto_broadcast, &verto_globals.event_channel_id, NULL);
|
||||
|
||||
|
||||
r = init();
|
||||
@@ -6243,7 +6243,7 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_verto_shutdown)
|
||||
json_cleanup();
|
||||
switch_core_hash_destroy(&json_GLOBALS.store_hash);
|
||||
|
||||
switch_event_channel_unbind(NULL, verto_broadcast);
|
||||
switch_event_channel_unbind(NULL, verto_broadcast, NULL);
|
||||
switch_event_unbind_callback(presence_event_handler);
|
||||
switch_event_unbind_callback(event_handler);
|
||||
|
||||
|
||||
Reference in new issue
Block a user