SaxonC 12.5
Saxon Processor library for C/C++, PHP and Python
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Functions | Variables
SaxonCGlue.h File Reference

This C header file contains a number of factory functions for running SaxonC C/C++ APIs, including GraalVM create and destroy functions. More...

#include <libsaxon-eec-12.5.0.h>
#include <stdint.h>
#include <stdio.h>
#include <windows.h>
#include <stdbool.h>

Go to the source code of this file.

Classes

struct  sxnc_environment
 
struct  sxnc_parameter
 
struct  sxnc_property
 
struct  sxnc_value
 
struct  sxnc_processor
 

Macros

#define EXTERN_SAXONC
 
#define EXTERN_SAXONC_END
 
#define sxn_license   0
 

Typedefs

typedef void *(* allocFn) (size_t length)
 

Functions

char * _getResourceDirectory ()
 
int create_graalvm_isolate (sxnc_environment *env)
 
int attach_graalvm_thread (sxnc_environment *env)
 
int detach_graalvm_thread (sxnc_environment *env)
 
int64_t createSaxonProcessor2 (graal_isolatethread_t *thread, int license)
 
int c_createSaxonProcessor (sxnc_environment *environi, sxnc_processor *processor, int license)
 
const char * checkForException (sxnc_environment *environi)
 
void graal_tear_down (graal_isolatethread_t *thread)
 
int64_t getParameter (sxnc_parameter *parameters, int parLen, const char *name)
 
char * getProperty (sxnc_property *properties, int propLen, const char *name)
 
void setParameter (sxnc_parameter **parameters, int *parLen, int *parCap, const char *name, sxnc_value *value)
 
void setProperty (sxnc_property **properties, int *propLen, int *propCap, const char *name, const char *value)
 
void clearSettings (sxnc_parameter **parameters, int *parLen, sxnc_property **properties, int *propLen)
 

Variables

EXTERN_SAXONC char * dllname
 
char * resources_dir
 
int jvmCreated
 
int64_t cpp
 
const char * failure
 

Detailed Description

This C header file contains a number of factory functions for running SaxonC C/C++ APIs, including GraalVM create and destroy functions.

Function Documentation

◆ _getResourceDirectory()

char * _getResourceDirectory ( )

Get resources directory.

◆ attach_graalvm_thread()

int attach_graalvm_thread ( sxnc_environment * env)

Attach to the current thread in the loaded GraalVM isolate

◆ c_createSaxonProcessor()

int c_createSaxonProcessor ( sxnc_environment * environi,
sxnc_processor * processor,
int license )

Create a pointer to the Saxon Processor. Here we pass in the processor pointer which should have been allocated memory space in advance. Return status true = success, false = failed to create Saxon Processor.

◆ checkForException()

const char * checkForException ( sxnc_environment * environi)

Callback to check for exceptions. When called it returns the exception as a string.

◆ clearSettings()

void clearSettings ( sxnc_parameter ** parameters,
int * parLen,
sxnc_property ** properties,
int * propLen )

Clear parameters and properties.

◆ create_graalvm_isolate()

int create_graalvm_isolate ( sxnc_environment * env)

Load dll using the default setting in SaxonC. Recommended method to use to load library.

◆ createSaxonProcessor2()

int64_t createSaxonProcessor2 ( graal_isolatethread_t * thread,
int license )

Create and return the ObjectHandle for a Saxon Processor. Here we pass in the Graal isolate pointer which should have been attached to in advance.

Parameters
*thread[in] The Graal Isolate thread
license[in] Whether the processor should be licensed (EE/PE) or not (HE).

◆ detach_graalvm_thread()

int detach_graalvm_thread ( sxnc_environment * env)

Closes down the GraalVM environment used by SaxonC

◆ getParameter()

int64_t getParameter ( sxnc_parameter * parameters,
int parLen,
const char * name )

Get a parameter from the list.

◆ getProperty()

char * getProperty ( sxnc_property * properties,
int propLen,
const char * name )

Get a property from the list.

◆ graal_tear_down()

void graal_tear_down ( graal_isolatethread_t * thread)

Clean up and destroy GraalVM to release memory used.

◆ setParameter()

void setParameter ( sxnc_parameter ** parameters,
int * parLen,
int * parCap,
const char * name,
sxnc_value * value )

Set a parameter.

◆ setProperty()

void setProperty ( sxnc_property ** properties,
int * propLen,
int * propCap,
const char * name,
const char * value )

Set a property.