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.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/include/asterisk/datastore.h b/include/asterisk/datastore.h
index 8f59fd3cf..85e9c6890 100644
--- a/include/asterisk/datastore.h
+++ b/include/asterisk/datastore.h
@@ -92,6 +92,64 @@ struct ast_datastore * attribute_malloc __ast_datastore_alloc(const struct ast_d
*/
int ast_datastore_free(struct ast_datastore *datastore);
+/*!
+ * \brief Allocate a specialized data stores container
+ *
+ * \return a container for storing data stores
+ *
+ * \since 14.0.0
+ */
+struct ao2_container *ast_datastores_alloc(void);
+
+/*!
+ * \brief Add a data store to a container
+ *
+ * \param[in] datastores container to store datastore in
+ * \param[in] datastore datastore to add
+ *
+ * \retval 0 success
+ * \retval -1 failure
+ *
+ * \since 14.0.0
+ */
+int ast_datastores_add(struct ao2_container *datastores, struct ast_datastore *datastore);
+
+/*!
+ * \brief Remove a data store from a container
+ *
+ * \param[in] datastores container to remove datastore from
+ * \param[in] name name of the data store to remove
+ *
+ * \since 14.0.0
+ */
+void ast_datastores_remove(struct ao2_container *datastores, const char *name);
+
+/*!
+ * \brief Find a data store in a container
+ *
+ * \param[in] datastores container to find datastore in
+ * \param[in] name name of the data store to find
+ *
+ * \retval non-NULL success
+ * \retval NULL failure
+ *
+ * \since 14.0.0
+ */
+struct ast_datastore *ast_datastores_find(struct ao2_container *datastores, const char *name);
+
+/*!
+ * \brief Allocate a datastore for use with the datastores container
+ *
+ * \param[in] info information about the datastore
+ * \param[in] uid unique identifier for the datastore
+ *
+ * \retval non-NULL success
+ * \retval NULL failure
+ *
+ * \since 14.0.0
+ */
+struct ast_datastore *ast_datastores_alloc_datastore(const struct ast_datastore_info *info, const char *uid);
+
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif