From e5ed418907f09bf8905463f42a44593d51159bc9 Mon Sep 17 00:00:00 2001 From: Adrian Kummerländer Date: Fri, 2 May 2014 22:06:37 +0200 Subject: Changed external functions to enable global installation * up until now all external functions were locally installed to a specific XalanTransformer instance contained within a TransformationGuard instance ** this had to change as I planned to add a "execute-transformation" function based on TransformationGuard which would have led to recursive self-instantiation ** global external functions have to be thread-safe * as global external function can not be provided with a reference to a transformation-specific FilesystemFacade instance, the working path is now determined using xalan::Locator ** currently using pointer arithmetics on XMLCh* to remove the "file://" prefix of the URI returned by locator->getSystemId(), may be unsafe * added compilation unit for PlattformGuard as it now contains function installation in addition to plattform lifetime management --- src/plattform_guard.h | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'src/plattform_guard.h') diff --git a/src/plattform_guard.h b/src/plattform_guard.h index fe8b954..12b19f0 100644 --- a/src/plattform_guard.h +++ b/src/plattform_guard.h @@ -1,24 +1,11 @@ #ifndef INPUTXSLT_SRC_PLATTFORM_GUARD_H_ #define INPUTXSLT_SRC_PLATTFORM_GUARD_H_ -#include -#include - -#include - -#include "common.h" - namespace InputXSLT { struct PlattformGuard { - PlattformGuard() { - xercesc::XMLPlatformUtils::Initialize(); - xalan::XalanTransformer::initialize(); - } - - ~PlattformGuard() { - xalan::XalanTransformer::terminate(); - } + PlattformGuard(); + ~PlattformGuard(); }; } -- cgit v1.2.3