diff options
author | Richard Mudgett <rmudgett@digium.com> | 2013-05-21 18:00:22 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2013-05-21 18:00:22 +0000 |
commit | 3d63833bd6c869b7efa383e8dea14be1a6eff998 (patch) | |
tree | 34957dd051b8f67c7cc58a510e24ee3873a61ad4 /include/asterisk/manager.h | |
parent | e1e1cc2deefb92f8b43825f1f34e619354737842 (diff) |
Merge in the bridge_construction branch to make the system use the Bridging API.
Breaks many things until they can be reworked. A partial list:
chan_agent
chan_dahdi, chan_misdn, chan_iax2 native bridging
app_queue
COLP updates
DTMF attended transfers
Protocol attended transfers
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/manager.h')
-rw-r--r-- | include/asterisk/manager.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/include/asterisk/manager.h b/include/asterisk/manager.h index e0160c6b5..4e9b8d14a 100644 --- a/include/asterisk/manager.h +++ b/include/asterisk/manager.h @@ -347,6 +347,55 @@ struct ast_str *ast_manager_build_channel_state_string_suffix( struct ast_str *ast_manager_build_channel_state_string( const struct ast_channel_snapshot *snapshot); +/*! \brief Struct representing a snapshot of bridge state */ +struct ast_bridge_snapshot; + +/*! + * \brief Generate the AMI message body from a bridge snapshot + * \since 12 + * + * \param snapshot the bridge snapshot for which to generate an AMI message + * body + * + * \retval NULL on error + * \retval ast_str* on success (must be ast_freed by caller) + */ +struct ast_str *ast_manager_build_bridge_state_string( + const struct ast_bridge_snapshot *snapshot, + const char *suffix); + +/*! \brief Struct containing info for an AMI event to send out. */ +struct ast_manager_event_blob { + int event_flags; /*!< Flags the event should be raised with. */ + const char *manager_event; /*!< The event to be raised, should be a string literal. */ + AST_DECLARE_STRING_FIELDS( + AST_STRING_FIELD(extra_fields); /*!< Extra fields to include in the event. */ + ); +}; + +/*! + * \since 12 + * \brief Construct a \ref snapshot_manager_event. + * + * \param event_flags Flags the event should be raised with. + * \param manager_event The event to be raised, should be a string literal. + * \param extra_fields_fmt Format string for extra fields to include. + * Or NO_EXTRA_FIELDS for no extra fields. + * + * \return New \ref ast_manager_snapshot_event object. + * \return \c NULL on error. + */ +struct ast_manager_event_blob * +__attribute__((format(printf, 3, 4))) +ast_manager_event_blob_create( + int event_flags, + const char *manager_event, + const char *extra_fields_fmt, + ...); + +/*! GCC warns about blank or NULL format strings. So, shenanigans! */ +#define NO_EXTRA_FIELDS "%s", "" + /*! * \brief Initialize support for AMI channel events. * \return 0 on success. @@ -355,4 +404,12 @@ struct ast_str *ast_manager_build_channel_state_string( */ int manager_channels_init(void); +/*! + * \brief Initialize support for AMI channel events. + * \return 0 on success. + * \return non-zero on error. + * \since 12 + */ +int manager_bridging_init(void); + #endif /* _ASTERISK_MANAGER_H */ |