diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2010-12-05 23:52:56 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2010-12-05 23:52:56 +0000 |
commit | 6ab986acd57b516b5b9aff04ee09d57db02ed0b6 (patch) | |
tree | 4041bc41d72721a94dc573e5be3cb0f80988e004 /src/dom.c | |
parent | cf7e104bab600e6c22c3bf8d1d6cbc138360038b (diff) | |
download | libdom-6ab986acd57b516b5b9aff04ee09d57db02ed0b6.tar.gz libdom-6ab986acd57b516b5b9aff04ee09d57db02ed0b6.tar.bz2 |
Remove bootstrap infrastructure, and just make dom_implementation a stub.
We only support a single implementation, so all the registry and implementation list stuff is totally unnecesary and overcomplex
svn path=/trunk/dom/; revision=11017
Diffstat (limited to 'src/dom.c')
-rw-r--r-- | src/dom.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/dom.c b/src/dom.c new file mode 100644 index 0000000..b163d28 --- /dev/null +++ b/src/dom.c @@ -0,0 +1,69 @@ +/* + * This file is part of libdom. + * Licensed under the MIT License, + * http://www.opensource.org/licenses/mit-license.php + * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org> + */ + +#include <stdbool.h> + +#include <dom/dom.h> + +#include "utils/namespace.h" + +static bool __initialised; + +/** + * Initialise the dom library + * + * \param alloc Pointer to memory (de)allocation function + * \param pw Pointer to client-specific private data + * \return DOM_NO_ERR on success. + * + * This must be the first DOM library method called. + */ +dom_exception dom_initialise(dom_alloc alloc, void *pw) +{ + dom_exception err; + + /* Ensure we only initialise once */ + if (__initialised) { + return DOM_NO_ERR; + } + + err = _dom_namespace_initialise(alloc, pw); + if (err != DOM_NO_ERR) { + return err; + } + + __initialised = true; + + return DOM_NO_ERR; +} + +/** + * Finalise the dom library + * + * \return DOM_NO_ERR on success. + * + * This must be the last DOM library method called. + */ +dom_exception dom_finalise(void) +{ + dom_exception err; + + /* Ensure we only finalise once */ + if (__initialised == false) { + return DOM_NO_ERR; + } + + err = _dom_namespace_finalise(); + if (err != DOM_NO_ERR) { + return err; + } + + __initialised = false; + + return DOM_NO_ERR; +} + |