ome-common  5.5.0
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
ome::common::xsl::Platform Class Reference

XSL Platform. More...

#include <ome/common/xsl/Platform.h>

+ Collaboration diagram for ome::common::xsl::Platform:

Public Member Functions

 Platform (bool skip=false)
 Construct a Platform. More...
 
 ~Platform ()
 Destructor. More...
 

Private Attributes

xml::Platform xmlplatform
 Xerces-C++ platform.
 
bool skip
 Skip initialize and terminate calls.
 

Static Private Attributes

static std::mutex mutex
 Mutex to lock libxalan access.
 
static uint32_t refcount = 0
 Reference count.
 

Detailed Description

XSL Platform.

This class wraps calls to the xalanc::Transformer initialize() and terminate() functions, to allow their use in an exception-safe manner. Create an instance of this class prior to performing any work with Xalan, and ensure it will remain in scope for all work to complete. When the scope is exited, or an exception is thrown, Xalan will be automatically terminated. Any number of instances of this class may be created; Xalan will only be terminated when the last instance is destroyed.

Internally, it will also initialize and terminate the Xerces-C++ Platform using the xml::Platform wrapper.

Constructor & Destructor Documentation

◆ Platform()

ome::common::xsl::Platform::Platform ( bool  skip = false)
inline

Construct a Platform.

Calls xalanc::Transformer::initialize().

Parameters
skipSkip calls to xalanc::Transformer::initialize and xalanc::Transformer::terminate. Use if other code already called initialize; this will make Platform usage in other code skip these operations, making it a null operation.

References mutex, refcount, and skip.

◆ ~Platform()

ome::common::xsl::Platform::~Platform ( )
inline

Destructor.

Calls xalanc::Transformer::terminate().

References mutex, refcount, and skip.


The documentation for this class was generated from the following files: