summaryrefslogtreecommitdiff
path: root/include/asterisk/sorcery.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asterisk/sorcery.h')
-rw-r--r--include/asterisk/sorcery.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/include/asterisk/sorcery.h b/include/asterisk/sorcery.h
index 84a537937..dad0c439c 100644
--- a/include/asterisk/sorcery.h
+++ b/include/asterisk/sorcery.h
@@ -356,7 +356,7 @@ int __ast_sorcery_apply_default(struct ast_sorcery *sorcery, const char *type, c
* \retval 0 success
* \retval -1 failure
*/
-int __ast_sorcery_object_register(struct ast_sorcery *sorcery, const char *type, unsigned int hidden, aco_type_item_alloc alloc, sorcery_transform_handler transform, sorcery_apply_handler apply);
+int __ast_sorcery_object_register(struct ast_sorcery *sorcery, const char *type, unsigned int hidden, unsigned int reloadable, aco_type_item_alloc alloc, sorcery_transform_handler transform, sorcery_apply_handler apply);
/*!
* \brief Register an object type
@@ -371,7 +371,22 @@ int __ast_sorcery_object_register(struct ast_sorcery *sorcery, const char *type,
* \retval -1 failure
*/
#define ast_sorcery_object_register(sorcery, type, alloc, transform, apply) \
- __ast_sorcery_object_register((sorcery), (type), 0, (alloc), (transform), (apply))
+ __ast_sorcery_object_register((sorcery), (type), 0, 1, (alloc), (transform), (apply))
+
+/*!
+ * \brief Register an object type that is not reloadable
+ *
+ * \param sorcery Pointer to a sorcery structure
+ * \param type Type of object
+ * \param alloc Required object allocation callback
+ * \param transform Optional transformation callback
+ * \param apply Optional object set apply callback
+ *
+ * \retval 0 success
+ * \retval -1 failure
+ */
+#define ast_sorcery_object_register_no_reload(sorcery, type, alloc, transform, apply) \
+ __ast_sorcery_object_register((sorcery), (type), 0, 0, (alloc), (transform), (apply))
/*!
* \brief Register an internal, hidden object type
@@ -386,7 +401,7 @@ int __ast_sorcery_object_register(struct ast_sorcery *sorcery, const char *type,
* \retval -1 failure
*/
#define ast_sorcery_internal_object_register(sorcery, type, alloc, transform, apply) \
- __ast_sorcery_object_register((sorcery), (type), 1, (alloc), (transform), (apply))
+ __ast_sorcery_object_register((sorcery), (type), 1, 1, (alloc), (transform), (apply))
/*!
* \brief Set the copy handler for an object type