diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2007-09-29 01:41:23 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2007-09-29 01:41:23 +0000 |
commit | 01f9dc3a2fb3f6bfbb4dab27304371dd3c6345f4 (patch) | |
tree | ff2739087c040f4872adef4a3d0b3731f04ebea3 /include | |
parent | f83f65025b74f585f75db1a056f7a2fe4e215b69 (diff) | |
download | libdom-01f9dc3a2fb3f6bfbb4dab27304371dd3c6345f4.tar.gz libdom-01f9dc3a2fb3f6bfbb4dab27304371dd3c6345f4.tar.bz2 |
dom_initialise() and dom_finalise() are now completely public, rather than hidden away in a header only meant for inclusion by bindings. Client applications are responsible for initialisation and finalisation of the dom library. This must happen before/after (respectively) any call to a dom library or dom binding library function.
The reason for this change is that, if multiple bindings are required, then the dom library should still only be initialised/finalised once. Only the client can enforce this sensibly.
svn path=/trunk/dom/; revision=3606
Diffstat (limited to 'include')
-rw-r--r-- | include/dom/bootstrap/implpriv.h | 10 | ||||
-rw-r--r-- | include/dom/bootstrap/init_fini.h | 21 |
2 files changed, 21 insertions, 10 deletions
diff --git a/include/dom/bootstrap/implpriv.h b/include/dom/bootstrap/implpriv.h index c83eb3a..36359c5 100644 --- a/include/dom/bootstrap/implpriv.h +++ b/include/dom/bootstrap/implpriv.h @@ -18,10 +18,6 @@ * The DocumentType implementation includes this as it needs the declaration * of dom_document_type_create. * - * The DOM library's core initialisation/finalisation implementation also - * includes this as it needs the declaration of dom_initialise and - * dom_finalise. - * * No other client should be including this. */ @@ -247,12 +243,6 @@ struct dom_implementation_source { dom_alloc alloc, void *pw); }; -/* Initialise the DOM library */ -dom_exception dom_initialise(dom_alloc alloc, void *pw); - -/* Finalise the DOM library */ -dom_exception dom_finalise(void); - /* Register a source with the DOM library */ dom_exception dom_register_source(struct dom_implementation_source *source, dom_alloc alloc, void *pw); diff --git a/include/dom/bootstrap/init_fini.h b/include/dom/bootstrap/init_fini.h new file mode 100644 index 0000000..5773af6 --- /dev/null +++ b/include/dom/bootstrap/init_fini.h @@ -0,0 +1,21 @@ +/* + * 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> + */ + +#ifndef dom_bootstrap_init_fini_h_ +#define dom_bootstrap_init_fini_h_ + +#include <dom/functypes.h> +#include <dom/core/exceptions.h> + +/* Initialise the DOM library */ +dom_exception dom_initialise(dom_alloc alloc, void *pw); + +/* Finalise the DOM library */ +dom_exception dom_finalise(void); + +#endif + |