]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add conference pin/nopin api commands (MODAPP-71)
authorMichael Jerris <mike@jerris.com>
Wed, 9 Jan 2008 06:44:16 +0000 (06:44 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 9 Jan 2008 06:44:16 +0000 (06:44 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7149 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/applications/mod_conference/mod_conference.c

index 305ef0caf79bace57497204d9961123f773fa6a2..c071ebf43ecfa02cacc4c6712c6223cd6f9d2f69 100644 (file)
@@ -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[] = {
         "<confname> transfer <conference_name> <member id> [...<member id>]"},
        {"record", (void_fn_t) & conf_api_sub_record, CONF_API_SUB_ARGS_SPLIT, "<confname> record <filename>"},
        {"norecord", (void_fn_t) & conf_api_sub_norecord, CONF_API_SUB_ARGS_SPLIT, "<confname> norecord <[filename|all]>"},
+       {"pin", (void_fn_t) & conf_api_sub_pin, CONF_API_SUB_ARGS_SPLIT, "<confname> pin <pin#>"},
+       {"nopin", (void_fn_t) & conf_api_sub_pin, CONF_API_SUB_ARGS_SPLIT, "<confname> nopin"},
 };
 
 #define CONFFUNCAPISIZE (sizeof(conf_api_sub_commands)/sizeof(conf_api_sub_commands[0]))