summaryrefslogtreecommitdiff
path: root/content
diff options
context:
space:
mode:
Diffstat (limited to 'content')
-rw-r--r--content/content_factory.c18
-rw-r--r--content/content_factory.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/content/content_factory.c b/content/content_factory.c
index 95e7679ad..ae226a4d1 100644
--- a/content/content_factory.c
+++ b/content/content_factory.c
@@ -45,6 +45,24 @@ typedef struct content_handler_entry {
static content_handler_entry *content_handlers;
/**
+ * Clean up after the content factory
+ */
+void content_factory_fini(void)
+{
+ content_handler_entry *victim;
+
+ while (content_handlers != NULL) {
+ victim = content_handlers;
+
+ content_handlers = content_handlers->next;
+
+ lwc_string_unref(victim->mime_type);
+
+ free(victim);
+ }
+}
+
+/**
* Register a handler with the content factory
*
* \param mime_type MIME type to handle
diff --git a/content/content_factory.h b/content/content_factory.h
index 330ce6812..aff7a64ac 100644
--- a/content/content_factory.h
+++ b/content/content_factory.h
@@ -31,6 +31,8 @@ struct llcache_handle;
typedef struct content_handler content_handler;
+void content_factory_fini(void);
+
nserror content_factory_register_handler(lwc_string *mime_type,
const content_handler *handler);