HDFFV-10412 add error on function for Java

This commit is contained in:
Allen Byrne 2018-03-13 17:21:02 -05:00
parent 9247388c3d
commit b5867a05a7
4 changed files with 37 additions and 1 deletions

View File

@ -424,13 +424,19 @@ public class H5 implements java.io.Serializable {
private synchronized static native int H5dont_atexit() throws HDF5LibraryException;
/**
* Turn off error handling By default, the C library prints the error stack of the HDF-5 C library on stdout. This
* Turn off error handling. By default, the C library prints the error stack of the HDF-5 C library on stdout. This
* behavior may be disabled by calling H5error_off().
*
* @return a non-negative value if successful
*/
public synchronized static native int H5error_off();
/**
* Turn on error handling. By default, the C library prints the error stack of the HDF-5 C library on stdout. This
* behavior may be reenabled by calling H5error_on().
*/
public synchronized static native void H5error_on();
/**
* H5garbage_collect collects on all free-lists of all types.
*

View File

@ -33,6 +33,9 @@ extern "C" {
#include "h5jni.h"
#include "exceptionImp.h"
extern H5E_auto2_t efunc;
extern void *edata;
/*******************/
/* Local Variables */
@ -122,10 +125,24 @@ JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5error_1off
(JNIEnv *env, jclass clss)
{
H5Eget_auto2(H5E_DEFAULT, &efunc, &edata);
H5Eset_auto2(H5E_DEFAULT, NULL, NULL);
return 0;
} /* end Java_hdf_hdf5lib_H5_H5error_1off() */
/*
* Class: hdf_hdf5lib_exceptions_HDF5Library
* Method: H5error_on
* Signature: ()V
*
*/
JNIEXPORT void JNICALL
Java_hdf_hdf5lib_H5_H5error_1on
(JNIEnv *env, jclass clss)
{
H5Eset_auto2(H5E_DEFAULT, efunc, edata);
} /* end Java_hdf_hdf5lib_H5_H5error_1on() */
/*
* Class: hdf_hdf5lib_exceptions_HDFLibraryException

View File

@ -31,6 +31,16 @@ JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5error_1off
(JNIEnv *env, jclass clss );
/*
* Class: hdf_hdf5lib_exceptions_HDF5Library
* Method: H5error_on
* Signature: ()V
*
*/
JNIEXPORT void JNICALL
Java_hdf_hdf5lib_H5_H5error_1on
(JNIEnv *env, jclass clss );
/*
* Class: hdf_hdf5lib_exceptions_HDFLibraryException

View File

@ -41,6 +41,9 @@ jobject get_callback;
jobject set_callback;
jobject delete_callback;
H5E_auto2_t efunc;
void *edata;
/********************/
/* Local Prototypes */
/********************/