[asterisk-commits] russell: trunk r89073 - in /trunk: CHANGES apps/app_meetme.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Nov 6 17:44:40 CST 2007


Author: russell
Date: Tue Nov  6 17:44:39 2007
New Revision: 89073

URL: http://svn.digium.com/view/asterisk?view=rev&rev=89073
Log:
Added the ability to do "meetme concise" with the "meetme" CLI command.
This extends the concise capabilities of this CLI command to include
listing all conferences, instead of an addition to the other sub commands
for the "meetme" command.

(closes issue #11078)
Reported by: jthomas
Patches: 
      meetme-concise.patch uploaded by jthomas (license 293)

Modified:
    trunk/CHANGES
    trunk/apps/app_meetme.c

Modified: trunk/CHANGES
URL: http://svn.digium.com/view/asterisk/trunk/CHANGES?view=diff&rev=89073&r1=89072&r2=89073
==============================================================================
--- trunk/CHANGES (original)
+++ trunk/CHANGES Tue Nov  6 17:44:39 2007
@@ -190,6 +190,10 @@
      much identical to the S() and L() options to Dial().  They let you set
      timeouts for the conference, as well as have warning sounds played to
      let the caller know how much time is left, and when it is running out.
+  * Added the ability to do "meetme concise" with the "meetme" CLI command.
+     This extends the concise capabilities of this CLI command to include
+     listing all conferences, instead of an addition to the other sub commands
+     for the "meetme" command.
 
 Music On Hold Changes
 ---------------------

Modified: trunk/apps/app_meetme.c
URL: http://svn.digium.com/view/asterisk/trunk/apps/app_meetme.c?view=diff&rev=89073&r1=89072&r2=89073
==============================================================================
--- trunk/apps/app_meetme.c (original)
+++ trunk/apps/app_meetme.c Tue Nov  6 17:44:39 2007
@@ -887,7 +887,7 @@
 
 static char *complete_meetmecmd(const char *line, const char *word, int pos, int state)
 {
-	static char *cmds[] = {"lock", "unlock", "mute", "unmute", "kick", "list", NULL};
+	static char *cmds[] = {"concise", "lock", "unlock", "mute", "unmute", "kick", "list", NULL};
 
 	int len = strlen(word);
 	int which = 0;
@@ -963,7 +963,7 @@
 	case CLI_INIT:
 		e->command = "meetme";
 		e->usage =
-			"Usage: meetme (un)lock|(un)mute|kick|list [concise] <confno> <usernumber>\n"
+			"Usage: meetme concise|(un)lock|(un)mute|kick|list [concise] <confno> <usernumber>\n"
 			"       Executes a command for the conference or on a conferee\n";
 		return NULL;
 	case CLI_GENERATE:
@@ -977,16 +977,19 @@
 		if (strlen(a->argv[i]) > 100)
 			ast_cli(a->fd, "Invalid Arguments.\n");
 	}
-	if (a->argc == 1) {
+	if (a->argc == 1  || ( a->argc == 2 && !strcasecmp(a->argv[1], "concise") )) {
 		/* 'MeetMe': List all the conferences */	
+		int concise = ( a->argc == 2 && !strcasecmp(a->argv[1], "concise") );
 		now = time(NULL);
 		AST_LIST_LOCK(&confs);
 		if (AST_LIST_EMPTY(&confs)) {
-			ast_cli(a->fd, "No active MeetMe conferences.\n");
+			if (!concise)
+				ast_cli(a->fd, "No active MeetMe conferences.\n");
 			AST_LIST_UNLOCK(&confs);
 			return CLI_SUCCESS;
 		}
-		ast_cli(a->fd, header_format, "Conf Num", "Parties", "Marked", "Activity", "Creation", "Locked");
+		if (!concise)
+			ast_cli(a->fd, header_format, "Conf Num", "Parties", "Marked", "Activity", "Creation", "Locked");
 		AST_LIST_TRAVERSE(&confs, cnf, list) {
 			if (cnf->markedusers == 0)
 				strcpy(cmdline, "N/A ");
@@ -995,13 +998,23 @@
 			hr = (now - cnf->start) / 3600;
 			min = ((now - cnf->start) % 3600) / 60;
 			sec = (now - cnf->start) % 60;
-
-			ast_cli(a->fd, data_format, cnf->confno, cnf->users, cmdline, hr, min, sec, cnf->isdynamic ? "Dynamic" : "Static", cnf->locked ? "Yes" : "No");
+			if (!concise)
+				ast_cli(a->fd, data_format, cnf->confno, cnf->users, cmdline, hr, min, sec, cnf->isdynamic ? "Dynamic" : "Static", cnf->locked ? "Yes" : "No");
+			else {
+				ast_cli(a->fd, "%s!%d!%d!%02d:%02d:%02d!%d!%d\n", 
+					cnf->confno, 
+					cnf->users, 
+					cnf->markedusers, 
+					hr, min, sec,
+					cnf->isdynamic, 
+					cnf->locked);
+			}
 
 			total += cnf->users; 	
 		}
 		AST_LIST_UNLOCK(&confs);
-		ast_cli(a->fd, "* Total number of MeetMe users: %d\n", total);
+		if (!concise)
+			ast_cli(a->fd, "* Total number of MeetMe users: %d\n", total);
 		return CLI_SUCCESS;
 	}
 	if (a->argc < 3)




More information about the asterisk-commits mailing list