Add vtable and methods for to_json and to_ami for Stasis messages
authorDavid M. Lee <dlee@digium.com>
Tue, 11 Jun 2013 15:46:35 +0000 (15:46 +0000)
committerDavid M. Lee <dlee@digium.com>
Tue, 11 Jun 2013 15:46:35 +0000 (15:46 +0000)
commitdbdb2b1b3a618a79b3e42c77c05cb2688b4da08d
tree6d7174c03a0388cf81bee13403cf4c118184d1d9
parent2053fc31594d4069cb178e591ab2b4e0df08b268
Add vtable and methods for to_json and to_ami for Stasis messages

When a Stasis message type is defined in a loadable module, handling
those messages for AMI and res_stasis events can be cumbersome.

This patch adds a vtable to stasis_message_type, with to_ami and
to_json virtual functions. These allow messages to be handled
abstractly without putting module-specific code in core.

As an example, the VarSet AMI event was refactored to use the to_ami
virtual function.

(closes issue ASTERISK-21817)
Review: https://reviewboard.asterisk.org/r/2579/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391403 65c4cc65-6c06-0410-ace0-fbb531ad65f3
include/asterisk/stasis.h
main/manager.c
main/manager_channels.c
main/parking.c
main/stasis_channels.c
main/stasis_message.c
tests/test_stasis.c
tests/test_stasis_channels.c