summaryrefslogtreecommitdiff
path: root/include/asterisk/datastore.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asterisk/datastore.h')
-rw-r--r--include/asterisk/datastore.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/include/asterisk/datastore.h b/include/asterisk/datastore.h
index 9060a5f82..8f59fd3cf 100644
--- a/include/asterisk/datastore.h
+++ b/include/asterisk/datastore.h
@@ -34,7 +34,7 @@ struct ast_datastore_info {
void (*destroy)(void *data); /*!< Destroy function */
/*!
- * \brief Fix up channel references
+ * \brief Fix up channel references on the masquerading channel
*
* \arg data The datastore data
* \arg old_chan The old channel owning the datastore
@@ -48,6 +48,20 @@ struct ast_datastore_info {
* \return nothing.
*/
void (*chan_fixup)(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan);
+
+ /*!
+ * \brief Fix up channel references on the channel being masqueraded into
+ *
+ * \arg data The datastore data
+ * \arg old_chan The old channel owning the datastore
+ * \arg new_chan The new channel owning the datastore
+ *
+ * This is the same as the above callback, except it is called for the channel
+ * being masqueraded into instead of the channel that is masquerading.
+ *
+ * \return nothing.
+ */
+ void (*chan_breakdown)(void *data, struct ast_channel *old_chan, struct ast_channel *new_chan);
};
/*! \brief Structure for a data store object */