ome-common 5.3.2

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:
[legend]

## 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 boost::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

  skip | Skip 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:

- ome/common/xsl/Platform.h
- ome/common/xsl/Platform.cpp