UserEvent application -- send manager event. More...
#include "asterisk.h"#include "asterisk/pbx.h"#include "asterisk/module.h"#include "asterisk/manager.h"#include "asterisk/app.h"
Go to the source code of this file.
Functions | |
| AST_MODULE_INFO_STANDARD (ASTERISK_GPL_KEY,"Custom User Event Application") | |
| static int | load_module (void) |
| static int | unload_module (void) |
| static int | userevent_exec (struct ast_channel *chan, const char *data) |
Variables | |
| static char * | app = "UserEvent" |
UserEvent application -- send manager event.
Definition in file app_userevent.c.
| AST_MODULE_INFO_STANDARD | ( | ASTERISK_GPL_KEY | , | |
| "Custom User Event Application" | ||||
| ) |
| static int load_module | ( | void | ) | [static] |
Definition at line 103 of file app_userevent.c.
References ast_register_application_xml, and userevent_exec().
00104 { 00105 return ast_register_application_xml(app, userevent_exec); 00106 }
| static int unload_module | ( | void | ) | [static] |
Definition at line 98 of file app_userevent.c.
References ast_unregister_application().
00099 { 00100 return ast_unregister_application(app); 00101 }
| static int userevent_exec | ( | struct ast_channel * | chan, | |
| const char * | data | |||
| ) | [static] |
Definition at line 63 of file app_userevent.c.
References args, AST_APP_ARG, AST_DECLARE_APP_ARGS, ast_free, ast_log(), AST_STANDARD_APP_ARGS, ast_str_append(), ast_str_buffer(), ast_str_create(), ast_strdupa, ast_strlen_zero(), EVENT_FLAG_USER, LOG_WARNING, manager_event, and parse().
Referenced by load_module().
00064 { 00065 char *parse; 00066 int x; 00067 AST_DECLARE_APP_ARGS(args, 00068 AST_APP_ARG(eventname); 00069 AST_APP_ARG(extra)[100]; 00070 ); 00071 struct ast_str *body = ast_str_create(16); 00072 00073 if (ast_strlen_zero(data)) { 00074 ast_log(LOG_WARNING, "UserEvent requires an argument (eventname,optional event body)\n"); 00075 ast_free(body); 00076 return -1; 00077 } 00078 00079 if (!body) { 00080 ast_log(LOG_WARNING, "Unable to allocate buffer\n"); 00081 return -1; 00082 } 00083 00084 parse = ast_strdupa(data); 00085 00086 AST_STANDARD_APP_ARGS(args, parse); 00087 00088 for (x = 0; x < args.argc - 1; x++) { 00089 ast_str_append(&body, 0, "%s\r\n", args.extra[x]); 00090 } 00091 00092 manager_event(EVENT_FLAG_USER, "UserEvent", "UserEvent: %s\r\n%s", args.eventname, ast_str_buffer(body)); 00093 ast_free(body); 00094 00095 return 0; 00096 }
char* app = "UserEvent" [static] |
Definition at line 61 of file app_userevent.c.
1.6.1