This patch adds a new function to the bucket API for ast_bucket_file
objects, ast_bucket_file_metadata_callback. It will call ao2_callback on
the ast_bucket_file's ao2_container of metadata, calling the provided
ao2_callback_fn callback on each piece of metadata associated with the
file.
This is particularly useful when a bucket backend has added metadata,
and a higher level API wants to be aware of/access said metadata,
without knowing for sure what the key is.
Change-Id: I96f6757717f47b650df91a437f7df16406227466
struct ast_bucket_metadata *ast_bucket_file_metadata_get(struct ast_bucket_file *file, const char *name);
/*!
+ * \brief Execute a callback function on the metadata associated with a file
+ * \since 14.0.0
+ *
+ * \param file The bucket file
+ * \param cb An ao2 callback function that will be called with each \c ast_bucket_metadata
+ * associated with \c file
+ * \param arg An optional argument to pass to \c cb
+ */
+void ast_bucket_file_metadata_callback(struct ast_bucket_file *file, ao2_callback_fn cb, void *arg);
+
+/*!
* \brief Allocate a new bucket
*
* \param uri Complete URI for the bucket
return ao2_find(file->metadata, name, OBJ_KEY);
}
+void ast_bucket_file_metadata_callback(struct ast_bucket_file *file, ao2_callback_fn cb, void *arg)
+{
+ ao2_callback(file->metadata, 0, cb, arg);
+}
+
+
/*! \brief Destructor for buckets */
static void bucket_destroy(void *obj)
{