diff options
author | Kinsey Moore <kmoore@digium.com> | 2013-07-01 13:16:09 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2013-07-01 13:16:09 +0000 |
commit | 909ee4bfb9180a87e02504acb47f27b47cb5adea (patch) | |
tree | 5405f0116ec4b490e55afa5251ac0f230f1f8e5d /include/asterisk/stasis.h | |
parent | 68b3bce8b8f66be36f9d01a5796a65d52c83ef35 (diff) |
Refactor extraneous channel events
This change removes JitterBufStats, ChannelReload, and ChannelUpdate
and refactors the following events to travel over Stasis-Core:
* LocalBridge
* DAHDIChannel
* AlarmClear
* SpanAlarmClear
* Alarm
* SpanAlarm
* DNDState
* MCID
* SIPQualifyPeerDone
* SessionTimeout
Review: https://reviewboard.asterisk.org/r/2627/
(closes issue ASTERISK-21476)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/stasis.h')
-rw-r--r-- | include/asterisk/stasis.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/asterisk/stasis.h b/include/asterisk/stasis.h index 19ebb41c9..fd51cf51d 100644 --- a/include/asterisk/stasis.h +++ b/include/asterisk/stasis.h @@ -736,6 +736,32 @@ void stasis_log_bad_type_access(const char *name); } /*! + * \brief Boiler-plate removing macro for defining local message types. + * + * \code + * STASIS_MESSAGE_TYPE_DEFN_LOCAL(ast_foo_type, + * .to_ami = foo_to_ami, + * .to_json = foo_to_json, + * ); + * \endcode + * + * \param name Name of message type. + * \param ... Virtual table methods for messages of this type. + * \since 12 + */ +#define STASIS_MESSAGE_TYPE_DEFN_LOCAL(name, ...) \ + static struct stasis_message_vtable _priv_ ## name ## _v = { \ + __VA_ARGS__ \ + }; \ + static struct stasis_message_type *_priv_ ## name; \ + static struct stasis_message_type *name(void) { \ + if (_priv_ ## name == NULL) { \ + stasis_log_bad_type_access(#name); \ + } \ + return _priv_ ## name; \ + } + +/*! * \brief Boiler-plate removing macro for initializing message types. * * \code |