[asterisk-commits] trunk r12430 - /trunk/pbx.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Tue Mar 7 15:57:53 MST 2006


Author: mogorman
Date: Tue Mar  7 16:57:52 2006
New Revision: 12430

URL: http://svn.digium.com/view/asterisk?rev=12430&view=rev
Log:
added show globals and set global from oej's patch
bug 6506

Modified:
    trunk/pbx.c

Modified: trunk/pbx.c
URL: http://svn.digium.com/view/asterisk/trunk/pbx.c?rev=12430&r1=12429&r2=12430&view=diff
==============================================================================
--- trunk/pbx.c (original)
+++ trunk/pbx.c Tue Mar  7 16:57:52 2006
@@ -2810,6 +2810,14 @@
 "Usage: show hints\n"
 "       Show registered hints\n";
 
+static char show_globals_help[] = 
+"Usage: show globals\n"
+"       Show current global dialplan variables and their values\n";
+
+static char set_global_help[] = 
+"Usage: set global <name> <value>\n"
+"       Set global dialplan variable <name> to <value>\n";
+
 
 /*
  * IMPLEMENTATION OF CLI FUNCTIONS IS IN THE SAME ORDER AS COMMANDS HELPS
@@ -3389,6 +3397,35 @@
 	return RESULT_SUCCESS;
 }
 
+/*! \brief CLI support for listing global variables in a parseable way */
+static int handle_show_globals(int fd, int argc, char *argv[])
+{
+	int i = 0;
+	struct ast_var_t *newvariable;
+
+	AST_LIST_TRAVERSE (&globals, newvariable, entries) {
+		i++;
+		ast_cli(fd, "   %s=%s\n", ast_var_name(newvariable), ast_var_value(newvariable));
+	}
+	/* ... we have applications ... */
+	ast_cli(fd, "\n    -- %d variables\n", i);
+	return RESULT_SUCCESS;
+}
+
+/*! \brief  CLI support for setting global variables */
+static int handle_set_global(int fd, int argc, char *argv[])
+{
+	if (argc != 4) 
+		return RESULT_SHOWUSAGE;
+
+	pbx_builtin_setvar_helper(NULL, argv[2], argv[3]);
+	ast_cli(fd, "\n    -- Global variables %s set to %s\n", argv[2], argv[3]);
+
+	return RESULT_SUCCESS;
+}
+
+
+
 /*
  * CLI entries for upper commands ...
  */
@@ -3407,6 +3444,10 @@
 	  "Show alternative switches", show_switches_help },
 	{ { "show", "hints", NULL }, handle_show_hints,
 	  "Show dialplan hints", show_hints_help },
+	{ { "show", "globals", NULL }, handle_show_globals,
+	  "Show global dialplan variables", show_globals_help },
+	{ { "set", "global", NULL }, handle_set_global,
+	  "Set global dialplan variable", set_global_help },
 };
 
 int ast_unregister_application(const char *app) 



More information about the asterisk-commits mailing list