SaxonC 12.7.0
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 "saxonc_export.h"
#include <saxonc/saxonc-core.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
 sxnc_environment. More...
 
struct  sxnc_parameter
 sxnc_parameter. More...
 
struct  sxnc_property
 sxnc_property. More...
 
struct  sxnc_value
 ! sxnc_value. More...
 
struct  sxnc_processor
 ! sxnc_processor. More...
 

Macros

#define EXTERN_SAXONC
 
#define EXTERN_SAXONC_END
 
#define sxn_license   0
 

Typedefs

typedef void *(* allocFn) (size_t length)
 

Functions

char * _getResourceDirectory (void)
 Get resources directory.
 
SAXONC_EXPORT int create_graalvm_isolate (sxnc_environment *env)
 Load dll using the default setting in SaxonC.
 
SAXONC_EXPORT int attach_graalvm_thread (sxnc_environment *env)
 Attach to the current thread in the loaded GraalVM isolate.
 
SAXONC_EXPORT int detach_graalvm_thread (sxnc_environment *env)
 Closes down the GraalVM environment used by SaxonC.
 
SAXONC_EXPORT int64_t createSaxonProcessor2 (graal_isolatethread_t *thread, int license)
 Create and return the ObjectHandle for a Saxon Processor.
 
SAXONC_EXPORT int c_createSaxonProcessor (sxnc_environment *environi, sxnc_processor *processor, int license)
 Create a pointer to the Saxon Processor.
 
SAXONC_EXPORT const char * checkForException (sxnc_environment *environi)
 Callback to check for exceptions.
 
SAXONC_EXPORT void graal_tear_down (graal_isolatethread_t *thread)
 Clean up and destroy GraalVM to release memory used.
 
SAXONC_EXPORT int64_t getParameter (sxnc_parameter *parameters, int parLen, const char *name)
 Get a parameter from the list.
 
SAXONC_EXPORT char * getProperty (sxnc_property *properties, int propLen, const char *name)
 Get a property from the list.
 
SAXONC_EXPORT void setParameter (sxnc_parameter **parameters, int *parLen, int *parCap, const char *name, sxnc_value *value)
 Set a parameter.
 
SAXONC_EXPORT void setProperty (sxnc_property **properties, int *propLen, int *propCap, const char *name, const char *value)
 Set a property.
 
SAXONC_EXPORT void clearSettings (sxnc_parameter **parameters, int *parLen, sxnc_property **properties, int *propLen)
 Clear parameters and properties.
 

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

◆ c_createSaxonProcessor()

SAXONC_EXPORT 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()

SAXONC_EXPORT const char * checkForException ( sxnc_environment * environi)

Callback to check for exceptions.

When called it returns the exception as a string.

◆ create_graalvm_isolate()

SAXONC_EXPORT int create_graalvm_isolate ( sxnc_environment * env)

Load dll using the default setting in SaxonC.

Recommended method to use to load library.

◆ createSaxonProcessor2()

SAXONC_EXPORT 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).