[asterisk-commits] russell: branch russell/ais r78352 - /team/russell/ais/res/res_ais.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Aug 7 11:42:49 CDT 2007
Author: russell
Date: Tue Aug 7 11:42:49 2007
New Revision: 78352
URL: http://svn.digium.com/view/asterisk?view=rev&rev=78352
Log:
Add a CLI command to show the configured event channels
Modified:
team/russell/ais/res/res_ais.c
Modified: team/russell/ais/res/res_ais.c
URL: http://svn.digium.com/view/asterisk/team/russell/ais/res/res_ais.c?view=diff&rev=78352&r1=78351&r2=78352
==============================================================================
--- team/russell/ais/res/res_ais.c (original)
+++ team/russell/ais/res/res_ais.c Tue Aug 7 11:42:49 2007
@@ -349,7 +349,61 @@
return NULL;
}
-static char *ais_clm_list(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+static char *ais_evt_show_event_channels(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
+{
+ struct event_channel *event_channel;
+
+ switch (cmd) {
+ case CLI_INIT:
+ e->command = "ais evt show event channels";
+ e->usage =
+ "Usage: ais evt show event channels\n"
+ " List configured event channels for the (EVT) Eventing service.\n";
+ return NULL;
+
+ case CLI_GENERATE:
+ return NULL; /* no completion */
+ }
+
+ if (a->argc != e->args)
+ return CLI_SHOWUSAGE;
+
+ ast_cli(a->fd, "\n"
+ "=============================================================\n"
+ "=== Event Channels ==========================================\n"
+ "=============================================================\n"
+ "===\n");
+
+ AST_RWLIST_RDLOCK(&event_channels);
+ AST_RWLIST_TRAVERSE(&event_channels, event_channel, entry) {
+ struct publish_event *publish_event;
+ struct subscribe_event *subscribe_event;
+
+ ast_cli(a->fd, "=== ---------------------------------------------------------\n"
+ "=== Event Channel Name: %s\n", event_channel->name);
+
+ AST_LIST_TRAVERSE(&event_channel->publish_events, publish_event, entry) {
+ ast_cli(a->fd, "=== ==> Publishing Event Type: %s\n",
+ type_to_filter_str(publish_event->type));
+ }
+
+ AST_LIST_TRAVERSE(&event_channel->subscribe_events, subscribe_event, entry) {
+ ast_cli(a->fd, "=== ==> Subscribing to Event Type: %s\n",
+ type_to_filter_str(subscribe_event->type));
+ }
+
+ ast_cli(a->fd, "=== ---------------------------------------------------------\n"
+ "===\n");
+ }
+ AST_RWLIST_UNLOCK(&event_channels);
+
+ ast_cli(a->fd, "=============================================================\n"
+ "\n");
+
+ return CLI_SUCCESS;
+}
+
+static char *ais_clm_show_members(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
int i, res;
SaClmClusterNotificationBufferT buf;
@@ -357,9 +411,9 @@
switch (cmd) {
case CLI_INIT:
- e->command = "ais clm list";
+ e->command = "ais clm show members";
e->usage =
- "Usage: ais clm list\n"
+ "Usage: ais clm show members\n"
" List members of the cluster using the CLM (Cluster Membership) service.\n";
return NULL;
@@ -408,7 +462,8 @@
}
static struct ast_cli_entry ais_cli[] = {
- NEW_CLI(ais_clm_list, "List current members of the cluster"),
+ NEW_CLI(ais_evt_show_event_channels, "Show configured event channels"),
+ NEW_CLI(ais_clm_show_members, "List current members of the cluster"),
};
static void add_publish_event(struct event_channel *event_channel, const char *event_type)
More information about the asterisk-commits
mailing list