From 5e356a681bfcba3ceca918c522eb3e8b11b93711 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Wed, 9 Jan 2008 06:44:16 +0000 Subject: [PATCH] add conference pin/nopin api commands (MODAPP-71) git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7149 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_conference/mod_conference.c | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 305ef0caf7..c071ebf43e 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -3350,6 +3350,25 @@ static switch_status_t conf_api_sub_norecord(conference_obj_t * conference, swit return ret_status; } +static switch_status_t conf_api_sub_pin(conference_obj_t * conference, switch_stream_handle_t *stream, int argc, char **argv) +{ + switch_assert(conference != NULL); + switch_assert(stream != NULL); + + if ((argc == 3) && (!strcmp(argv[1], "pin"))) { + conference->pin = switch_core_strdup(conference->pool, argv[2]); + stream->write_function(stream, "Pin for conference %s set: %s\n", argv[0], conference->pin); + return SWITCH_STATUS_SUCCESS; + } else if (argc == 2 && (!strcmp(argv[1], "nopin"))) { + conference->pin = NULL; + stream->write_function(stream, "Pin for conference %s deleted\n", argv[0]); + return SWITCH_STATUS_SUCCESS; + } else { + stream->write_function(stream, "Invalid parameters:\n"); + return SWITCH_STATUS_GENERR; + } +} + typedef enum { CONF_API_COMMAND_LIST = 0, CONF_API_COMMAND_ENERGY, @@ -3412,6 +3431,8 @@ static api_command_t conf_api_sub_commands[] = { " transfer [...]"}, {"record", (void_fn_t) & conf_api_sub_record, CONF_API_SUB_ARGS_SPLIT, " record "}, {"norecord", (void_fn_t) & conf_api_sub_norecord, CONF_API_SUB_ARGS_SPLIT, " norecord <[filename|all]>"}, + {"pin", (void_fn_t) & conf_api_sub_pin, CONF_API_SUB_ARGS_SPLIT, " pin "}, + {"nopin", (void_fn_t) & conf_api_sub_pin, CONF_API_SUB_ARGS_SPLIT, " nopin"}, }; #define CONFFUNCAPISIZE (sizeof(conf_api_sub_commands)/sizeof(conf_api_sub_commands[0]))