mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-29 18:19:30 +00:00
Add channel events for res_stasis apps
This change adds a framework in res_stasis for handling events from channel topics. JSON event generation and validation code is created from event documentation in rest-api/api-docs/events.json to assist in JSON event generation, ensure consistency, and ensure that accurate documentation is available for ALL events that are received by res_stasis applications. The userevent application has been refactored along with the code that handles userevent channel blob events to pass the headers as key/value pairs in the JSON blob. As a side-effect, app_userevent now handles duplicate keys by overwriting the previous value. Review: https://reviewboard.asterisk.org/r/2428/ (closes issue ASTERISK-21180) Patch-By: Kinsey Moore <kmoore@digium.com> git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@388275 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -64,16 +64,48 @@ void stasis_http_{{c_nickname}}(struct ast_variable *headers, struct ast_{{c_nic
|
||||
{{/operations}}
|
||||
{{/apis}}
|
||||
|
||||
{{#has_events}}
|
||||
struct ast_channel_snapshot;
|
||||
struct ast_bridge_snapshot;
|
||||
|
||||
{{#events}}
|
||||
/*!
|
||||
* \brief {{description}}
|
||||
{{#notes}}
|
||||
*
|
||||
* {{{notes}}}
|
||||
{{/notes}}
|
||||
*
|
||||
{{#channel}}
|
||||
* \param channel {{#channel_desc}}{{channel_desc}}{{/channel_desc}}{{^channel_desc}}The channel to be used to generate this event{{/channel_desc}}
|
||||
{{/channel}}
|
||||
{{#bridge}}
|
||||
* \param bridge {{#bridge_desc}}{{bridge_desc}}{{/bridge_desc}}{{^bridge_desc}}The bridge to be used to generate this event{{/bridge_desc}}
|
||||
{{/bridge}}
|
||||
{{#has_properties}}
|
||||
* \param blob JSON blob containing the following parameters:
|
||||
{{/has_properties}}
|
||||
{{#properties}}
|
||||
* - {{name}}: {{type}} {{#description}}- {{description}}{{/description}}{{#required}} (required){{/required}}
|
||||
{{/properties}}
|
||||
*
|
||||
* \retval NULL on error
|
||||
* \retval JSON (ast_json) describing the event
|
||||
*/
|
||||
{{> event_function_decl}}
|
||||
);
|
||||
|
||||
{{/events}}
|
||||
{{/has_events}}
|
||||
/*
|
||||
* JSON models
|
||||
*
|
||||
{{#models}}
|
||||
* {{id}}
|
||||
{{#properties}}
|
||||
* - {{name}}: {{type}} {{#required}}(required){{/required}}
|
||||
* - {{name}}: {{type}}{{#required}} (required){{/required}}
|
||||
{{/properties}}
|
||||
{{/models}}
|
||||
*/
|
||||
{{/models}} */
|
||||
|
||||
#endif /* _ASTERISK_RESOURCE_{{name_caps}}_H */
|
||||
{{/api_declaration}}
|
||||
|
Reference in New Issue
Block a user