diff options
author | Kinsey Moore <kmoore@digium.com> | 2013-05-14 12:47:52 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2013-05-14 12:47:52 +0000 |
commit | 2a9cbd693e2016ecaa1e2e31ca520a9dd48f0ca2 (patch) | |
tree | 097e84d7a4acba3a32abc585467cccfe90c94278 /res/res_stasis_http_events.c | |
parent | 54424c2ee2370d3d9dcb61ad438bc5d5ee2cbcdd (diff) |
Move JSON event generators into separate modules
This moves the JSON event generators out of the Stasis-HTTP modules and
into standalone JSON-related counterparts so that Stasis-HTTP and
res_stasis can depend on them without creating dependency cycles. This
also provides a future location for Swagger Model validator functions
once the generators for that code are written.
Review: https://reviewboard.asterisk.org/r/2534/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@388668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_stasis_http_events.c')
-rw-r--r-- | res/res_stasis_http_events.c | 519 |
1 files changed, 0 insertions, 519 deletions
diff --git a/res/res_stasis_http_events.c b/res/res_stasis_http_events.c index 3b2a9735f..7c6ed445f 100644 --- a/res/res_stasis_http_events.c +++ b/res/res_stasis_http_events.c @@ -44,7 +44,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/module.h" #include "asterisk/stasis_app.h" #include "stasis_http/resource_events.h" -#include "asterisk/stasis_channels.h" /*! * \brief Parameter parsing callback for /events. @@ -79,524 +78,6 @@ static struct stasis_rest_handlers events = { .children = { } }; -struct ast_json *stasis_json_event_channel_snapshot_create( - struct ast_channel_snapshot *channel_snapshot - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - int ret; - - ast_assert(channel_snapshot != NULL); - - event = ast_json_object_create(); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_snapshot", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_destroyed_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "cause"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - validator = ast_json_object_get(blob, "cause_txt"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_destroyed", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_caller_id_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "caller_presentation_txt"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - validator = ast_json_object_get(blob, "caller_presentation"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_caller_id", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_hangup_request_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "soft"); - if (validator) { - /* do validation? XXX */ - } - - validator = ast_json_object_get(blob, "cause"); - if (validator) { - /* do validation? XXX */ - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_hangup_request", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_application_replaced_create( - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "application"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - message = ast_json_pack("{s: o}", "application_replaced", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_varset_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "variable"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - validator = ast_json_object_get(blob, "value"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_varset", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_userevent_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "eventname"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_userevent", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_created_create( - struct ast_channel_snapshot *channel_snapshot - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - int ret; - - ast_assert(channel_snapshot != NULL); - - event = ast_json_object_create(); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_created", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_stasis_start_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "args"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "stasis_start", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_dialplan_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "application"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - validator = ast_json_object_get(blob, "application_data"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_dialplan", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_state_change_create( - struct ast_channel_snapshot *channel_snapshot - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - int ret; - - ast_assert(channel_snapshot != NULL); - - event = ast_json_object_create(); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_state_change", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_channel_dtmf_received_create( - struct ast_channel_snapshot *channel_snapshot, - struct ast_json *blob - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - struct ast_json *validator; - int ret; - - ast_assert(channel_snapshot != NULL); - ast_assert(blob != NULL); - ast_assert(ast_json_object_get(blob, "channel") == NULL); - ast_assert(ast_json_object_get(blob, "type") == NULL); - - validator = ast_json_object_get(blob, "digit"); - if (validator) { - /* do validation? XXX */ - } else { - /* fail message generation if the required parameter doesn't exist */ - return NULL; - } - - event = ast_json_deep_copy(blob); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "channel_dtmf_received", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - -struct ast_json *stasis_json_event_stasis_end_create( - struct ast_channel_snapshot *channel_snapshot - ) -{ - RAII_VAR(struct ast_json *, message, NULL, ast_json_unref); - RAII_VAR(struct ast_json *, event, NULL, ast_json_unref); - int ret; - - ast_assert(channel_snapshot != NULL); - - event = ast_json_object_create(); - if (!event) { - return NULL; - } - - ret = ast_json_object_set(event, - "channel", ast_channel_snapshot_to_json(channel_snapshot)); - if (ret) { - return NULL; - } - - message = ast_json_pack("{s: o}", "stasis_end", ast_json_ref(event)); - if (!message) { - return NULL; - } - - return ast_json_ref(message); -} - static int load_module(void) { stasis_app_ref(); |