diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-06-21 20:05:16 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-06-21 20:05:16 +0000 |
commit | 6a2b7c5a9a2b066305966bddfa54ef03013cbfc5 (patch) | |
tree | 363a4ac6f0bcb941c2ce0cdd6b2faffd3efbb6fc /manager.c | |
parent | baa26cb348b55546a1dd12e4e0fb29c134b54c20 (diff) |
Add mailbox count to mangement interface
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1111 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'manager.c')
-rwxr-xr-x | manager.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -454,6 +454,25 @@ static int action_mailboxstatus(struct mansession *s, struct message *m) return 0; } +static int action_mailboxcount(struct mansession *s, struct message *m) +{ + char *mailbox = astman_get_header(m, "Mailbox"); + int newmsgs = 0, oldmsgs = 0; + if (!mailbox || !strlen(mailbox)) { + astman_send_error(s, "Mailbox not specified"); + return 0; + } + ast_app_messagecount(mailbox, &newmsgs, &oldmsgs); + ast_cli(s->fd, "Response: Success\r\n" + "Message: Mailbox Message Count\r\n" + "Mailbox: %s\r\n" + "NewMessages: %d\r\n" + "OldMessages: %d\r\n" + "\r\n", + mailbox, newmsgs, oldmsgs); + return 0; +} + static int action_extensionstate(struct mansession *s, struct message *m) { char *exten = astman_get_header(m, "Exten"); @@ -796,6 +815,7 @@ int init_manager(void) ast_manager_register( "Command", EVENT_FLAG_COMMAND, action_command, "Execute Command" ); ast_manager_register( "ExtensionState", EVENT_FLAG_CALL, action_extensionstate, "Check Extension Status" ); ast_manager_register( "AbsoluteTimeout", EVENT_FLAG_CALL, action_timeout, "Set Absolute Timeout" ); + ast_manager_register( "MailboxCount", EVENT_FLAG_CALL, action_mailboxcount, "Check Mailbox Message Count" ); ast_cli_register(&show_mancmds_cli); ast_cli_register(&show_manconn_cli); |