[asterisk-commits] mvanbaak: branch mvanbaak/cli-command-audit r102772 - /team/mvanbaak/cli-comm...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Feb 6 13:24:10 CST 2008


Author: mvanbaak
Date: Wed Feb  6 13:24:09 2008
New Revision: 102772

URL: http://svn.digium.com/view/asterisk?view=rev&rev=102772
Log:
jabber debug [off] -> jabber set debug {on|off}

Modified:
    team/mvanbaak/cli-command-audit/res/res_jabber.c

Modified: team/mvanbaak/cli-command-audit/res/res_jabber.c
URL: http://svn.digium.com/view/asterisk/team/mvanbaak/cli-command-audit/res/res_jabber.c?view=diff&rev=102772&r1=102771&r2=102772
==============================================================================
--- team/mvanbaak/cli-command-audit/res/res_jabber.c (original)
+++ team/mvanbaak/cli-command-audit/res/res_jabber.c Wed Feb  6 13:24:09 2008
@@ -87,9 +87,9 @@
 static int aji_initialize(struct aji_client *client);
 static int aji_client_connect(void *data, ikspak *pak);
 static void aji_set_presence(struct aji_client *client, char *to, char *from, int level, char *desc);
-static char *aji_do_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
+static char *aji_do_debug_deprecated(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
+static char *aji_do_set_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
 static char *aji_do_reload(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
-static char *aji_no_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
 static char *aji_show_clients(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
 static char *aji_show_buddies(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
 static char *aji_test(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a);
@@ -114,9 +114,9 @@
 static int aji_register_transport2(void *data, ikspak *pak);
 */
 
+static struct ast_cli_entry cli_aji_do_debug_deprecated = AST_CLI_DEFINE(aji_do_debug_deprecated, "Enable/disable jabber debugging");
 static struct ast_cli_entry aji_cli[] = {
-	AST_CLI_DEFINE(aji_do_debug, "Enable jabber debugging"),
-	AST_CLI_DEFINE(aji_no_debug, "Disable Jabber debug"),
+	AST_CLI_DEFINE(aji_do_set_debug, "Enable/Disable Jabber debug", .deprecate_cmd = &cli_aji_do_debug_deprecated),
 	AST_CLI_DEFINE(aji_do_reload, "Reload Jabber configuration"),
 	AST_CLI_DEFINE(aji_show_clients, "Show state of clients and components"),
 	AST_CLI_DEFINE(aji_show_buddies, "Show buddy lists of our clients"),
@@ -2330,30 +2330,83 @@
 }
 
 /*!
- * \brief Turn on console debugging.
+ * \brief Turn on/off console debugging.
  * \return CLI_SUCCESS.
  */
-static char *aji_do_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-
+static char *aji_do_set_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
 	switch (cmd) {
 	case CLI_INIT:
-		e->command = "jabber debug";
+		e->command = "jabber set debug {on|off}";
 		e->usage =
-			"Usage: jabber debug\n"
-			"       Enables dumping of Jabber packets for debugging purposes.\n";
+			"Usage: jabber set debug {on|off}\n"
+			"       Enables/disables dumping of Jabber packets for debugging purposes.\n";
 		return NULL;
 	case CLI_GENERATE:
 		return NULL;
 	}
 
-	ASTOBJ_CONTAINER_TRAVERSE(&clients, 1, {
-		ASTOBJ_RDLOCK(iterator); 
-		iterator->debug = 1;
-		ASTOBJ_UNLOCK(iterator);
-	});
-	ast_cli(a->fd, "Jabber Debugging Enabled.\n");
-	return CLI_SUCCESS;
+	if (a->argc != e->args)
+		return CLI_SHOWUSAGE;
+
+	if (!strncasecmp(a->argv[e->args - 1], "on", 2)) {
+		ASTOBJ_CONTAINER_TRAVERSE(&clients, 1, {
+			ASTOBJ_RDLOCK(iterator); 
+			iterator->debug = 1;
+			ASTOBJ_UNLOCK(iterator);
+		});
+		ast_cli(a->fd, "Jabber Debugging Enabled.\n");
+		return CLI_SUCCESS;
+	} else if (!strncasecmp(a->argv[e->args - 1], "off", 3)) {
+		ASTOBJ_CONTAINER_TRAVERSE(&clients, 1, {
+			ASTOBJ_RDLOCK(iterator); 
+			iterator->debug = 0;
+			ASTOBJ_UNLOCK(iterator);
+		});
+		ast_cli(a->fd, "Jabber Debugging Disabled.\n");
+		return CLI_SUCCESS;
+	}
+	return CLI_SHOWUSAGE; /* defaults to invalid */
+}
+
+/*!
+ * \brief Turn on/off console debugging (deprecated, use aji_do_set_debug).
+ * \return CLI_SUCCESS.
+ */
+static char *aji_do_debug_deprecated(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+
+	switch (cmd) {
+	case CLI_INIT:
+		e->command = "jabber debug [off]";
+		e->usage =
+			"Usage: jabber debug [off]\n"
+			"       Enables/disables dumping of Jabber packets for debugging purposes.\n";
+		return NULL;
+	case CLI_GENERATE:
+		return NULL;
+	}
+
+	if (a->argc == 2) {
+		ASTOBJ_CONTAINER_TRAVERSE(&clients, 1, {
+			ASTOBJ_RDLOCK(iterator); 
+			iterator->debug = 1;
+			ASTOBJ_UNLOCK(iterator);
+		});
+		ast_cli(a->fd, "Jabber Debugging Enabled.\n");
+		return CLI_SUCCESS;
+	} else if (a->argc == 3) {
+		if (!strncasecmp(a->argv[2], "off", 3)) {
+			ASTOBJ_CONTAINER_TRAVERSE(&clients, 1, {
+				ASTOBJ_RDLOCK(iterator); 
+				iterator->debug = 0;
+				ASTOBJ_UNLOCK(iterator);
+			});
+			ast_cli(a->fd, "Jabber Debugging Disabled.\n");
+			return CLI_SUCCESS;
+		}
+	}
+	return CLI_SHOWUSAGE; /* defaults to invalid */
 }
 
 /*!
@@ -2375,32 +2428,6 @@
 
 	aji_reload(1);
 	ast_cli(a->fd, "Jabber Reloaded.\n");
-	return CLI_SUCCESS;
-}
-
-/*!
- * \brief Turn off console debugging.
- * \return CLI_SUCCESS.
- */
-static char *aji_no_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
-	switch (cmd) {
-	case CLI_INIT:
-		e->command = "jabber debug off";
-		e->usage =
-			"Usage: jabber debug off\n"
-			"       Disables dumping of Jabber packets for debugging purposes.\n";
-		return NULL;
-	case CLI_GENERATE:
-		return NULL;
-	}
-
-	ASTOBJ_CONTAINER_TRAVERSE(&clients, 1, {
-		ASTOBJ_RDLOCK(iterator);
-		iterator->debug = 0;
-		ASTOBJ_UNLOCK(iterator);
-	});
-	ast_cli(a->fd, "Jabber Debugging Disabled.\n");
 	return CLI_SUCCESS;
 }
 




More information about the asterisk-commits mailing list