xmlwrapp
Lightweight C++ XML parsing library
Loading...
Searching...
No Matches
init.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2001-2003 Peter J Jones (pjones@pmade.org)
3 * All Rights Reserved
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 * 3. Neither the name of the Author nor the names of its contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS''
20 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
22 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR
23 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
26 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
29 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 * SUCH DAMAGE.
31 */
32
33/**
34 @file
35
36 This file contains the definition of the xslt::init class.
37 */
38
39#ifndef _xsltwrapp_init_h_
40#define _xsltwrapp_init_h_
41
42// xmlwrapp includes
43#include "xmlwrapp/init.h"
44#include "xmlwrapp/export.h"
45
46/// XSLT library namespace
47namespace xslt
48{
49
50/**
51 The xslt::init class is used to configure the XSLT engine.
52
53 If you want to use any of the xslt::init member functions, do so before
54 you start any threads or use any other part of xsltwrapp. The member
55 functions may alter global and/or static variables. In other words, this
56 class is not thread safe.
57
58 @note In xmlwrapp versions prior to 0.6.0, this class was used to initialize
59 the library and exactly one instance had to be created before first
60 use. This is no longer true: user code doesn't have to create any
61 instances, but it @em can create as many instances as it wants.
62 */
63class init : public xml::init
64{
65public:
66 XSLTWRAPP_API init();
67 XSLTWRAPP_API ~init();
68
69 /**
70 This function controls whether or not the XSLT engine will process
71 XInclusions by default while parsing the stylesheet. The default is
72 true.
73
74 @param flag True to enable XInclusing processing; False otherwise.
75 */
76 XSLTWRAPP_API static void process_xincludes(bool flag);
77
78private:
79 init(const init&) = delete;
80 init& operator=(const init&) = delete;
81
82 void init_library();
83 void shutdown_library();
84
85 static int ms_counter;
86}; // end xslt::init class
87
88
89// use a "nifty counter" to ensure that any source file that uses xsltwrapp
90// will initialize the library prior to its first use
91namespace
92{
93xslt::init g_xsltwrapp_initializer;
94}
95
96} // end xslt namespace
97
98#endif // _xsltwrapp_init_h_
The xml::init class is used to configure the XML parser.
Definition init.h:64
The xslt::init class is used to configure the XSLT engine.
Definition init.h:64
static XSLTWRAPP_API void process_xincludes(bool flag)
This function controls whether or not the XSLT engine will process XInclusions by default while parsi...
XSLT library namespace.
Definition document.h:59
This file contains the definition of the xml::init class.