From 3667da49b6a44503bab60f402160bee8bc61540c Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sun, 8 Oct 2006 08:35:27 +0000 Subject: [PATCH] add description and syntax to interface database, add description and syntax headers to events for interface add for api and application interface, add appropriate output to show and help commands. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3003 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/applications/mod_commands/mod_commands.c | 12 +++++++----- src/switch_core.c | 10 +++++++--- src/switch_loadable_module.c | 4 ++++ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index 5636d14f11..2d55b721c5 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -448,10 +448,12 @@ static switch_status_t show_function(char *cmd, switch_core_session_t *session, if (!cmd) { sprintf (sql, "select * from interfaces"); } - else if ( !strcmp(cmd,"codec") || !strcmp(cmd,"application") || - !strcmp(cmd,"api") || !strcmp(cmd,"dialplan") || + else if ( !strcmp(cmd,"codec") || !strcmp(cmd,"dialplan") || !strcmp(cmd,"file") || !strcmp(cmd,"timer") ) { + sprintf (sql, "select type, name from interfaces where type = '%s'", cmd); + } + else if (!strcmp(cmd,"application") || !strcmp(cmd,"api")) { sprintf (sql, "select * from interfaces where type = '%s'", cmd); } else if ( !strcmp(cmd,"calls")) { @@ -466,9 +468,9 @@ static switch_status_t show_function(char *cmd, switch_core_session_t *session, holder.print_title = 0; if ((cmdname = strchr(cmd, ' ')) != 0) { *cmdname++ = '\0'; - sprintf (sql, "select name from interfaces where type = 'api' and name = '%s'", cmdname); + sprintf (sql, "select name, description, syntax from interfaces where type = 'api' and name = '%s'", cmdname); } else { - sprintf (sql, "select name from interfaces where type = 'api'"); + sprintf (sql, "select name, description, syntax from interfaces where type = 'api'"); } } else { @@ -519,7 +521,7 @@ static switch_status_t help_function(char *cmd, switch_core_session_t *session, stream->write_function(stream, "\nValid Commands:\n\n"); show_function(showcmd, session, stream); if (all) - stream->write_function(stream, "version\n" "help - umm yeah..\n" "shutdown - stop the program\n\n"); + stream->write_function(stream, "version\n" "shutdown - stop the program\n"); return SWITCH_STATUS_SUCCESS; } diff --git a/src/switch_core.c b/src/switch_core.c index 575653bc0f..9c74f4939b 100644 --- a/src/switch_core.c +++ b/src/switch_core.c @@ -3414,9 +3414,11 @@ static void core_event_handler(switch_event_t *event) case SWITCH_EVENT_LOG: return; case SWITCH_EVENT_MODULE_LOAD: - sql = switch_core_db_mprintf("insert into interfaces (type,name) values('%q','%q')", + sql = switch_core_db_mprintf("insert into interfaces (type,name,description,syntax) values('%q','%q','%q','%q')", switch_event_get_header(event, "type"), - switch_event_get_header(event, "name") + switch_event_get_header(event, "name"), + switch_event_get_header(event, "description"), + switch_event_get_header(event, "syntax") ); break; default: @@ -3661,7 +3663,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(char *console, const char **err char create_interfaces_sql[] = "CREATE TABLE interfaces (\n" " type VARCHAR(255),\n" - " name VARCHAR(255)\n" + " name VARCHAR(255),\n" + " description VARCHAR(255),\n" + " syntax VARCHAR(255)\n" ");\n"; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Opening DB\n"); diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index 2392469ba6..c97483d1f9 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -161,6 +161,8 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) { switch_event_add_header(event, SWITCH_STACK_BOTTOM, "type", "application"); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "name", "%s", ptr->interface_name); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "description", "%s", ptr->short_desc); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "syntax", "%s", ptr->syntax); switch_event_fire(&event); } switch_core_hash_insert(loadable_modules.application_hash, @@ -176,6 +178,8 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable if (switch_event_create(&event, SWITCH_EVENT_MODULE_LOAD) == SWITCH_STATUS_SUCCESS) { switch_event_add_header(event, SWITCH_STACK_BOTTOM, "type", "api"); switch_event_add_header(event, SWITCH_STACK_BOTTOM, "name", "%s", ptr->interface_name); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "description", "%s", ptr->desc); + switch_event_add_header(event, SWITCH_STACK_BOTTOM, "syntax", "%s", ptr->syntax); switch_event_fire(&event); } switch_core_hash_insert(loadable_modules.api_hash, (char *) ptr->interface_name, (void *) ptr);