From 3b490063e369c7b2711b121151ccc1288d4ba24f Mon Sep 17 00:00:00 2001 From: Binh-Minh Ribler Date: Sun, 2 May 2004 23:52:45 -0500 Subject: [svn-r8466] Purpose: Correct my mistake Description: I inadvertently deleted the changes that Ray and Quincey put in these two files. Added them back. Platforms tested: SunOS 5.8-64 (sol) Linux 2.4 (eirene) Misc. update: --- c++/src/H5DxferProp.cpp | 24 ++++++++++++++++++++++++ c++/src/H5DxferProp.h | 6 ++++++ 2 files changed, 30 insertions(+) diff --git a/c++/src/H5DxferProp.cpp b/c++/src/H5DxferProp.cpp index 8d614c4..de4fb8f 100644 --- a/c++/src/H5DxferProp.cpp +++ b/c++/src/H5DxferProp.cpp @@ -116,6 +116,30 @@ void DSetMemXferPropList::getBtreeRatios( double& left, double& middle, double& } } +// Sets an exception handling callback for datatype conversion +// for a dataset transfer property list +void DSetMemXferPropList::setTypeConvCB( H5T_conv_except_func_t op, void *user_data) const +{ + herr_t ret_value = H5Pset_type_conv_cb( id, op, user_data); + if( ret_value < 0 ) + { + throw PropListIException("DSetMemXferPropList::setTypeConvCB", + "H5Pset_type_conv_cb failed"); + } +} + +// Sets an exception handling callback for datatype conversion +// for a dataset transfer property list +void DSetMemXferPropList::getTypeConvCB( H5T_conv_except_func_t *op, void **user_data) const +{ + herr_t ret_value = H5Pget_type_conv_cb( id, op, user_data); + if( ret_value < 0 ) + { + throw PropListIException("DSetMemXferPropList::getTypeConvCB", + "H5Pget_type_conv_cb failed"); + } +} + // Sets the memory manager for variable-length datatype allocation void DSetMemXferPropList::setVlenMemManager( H5MM_allocate_t alloc_func, void* alloc_info, H5MM_free_t free_func, void* free_info ) const { diff --git a/c++/src/H5DxferProp.h b/c++/src/H5DxferProp.h index 4078993..e457906 100644 --- a/c++/src/H5DxferProp.h +++ b/c++/src/H5DxferProp.h @@ -48,6 +48,12 @@ class H5_DLLCPP DSetMemXferPropList : public PropList { // Gets B-tree split ratios for a dataset transfer property list void getBtreeRatios( double& left, double& middle, double& right ) const; + // Sets an exception handling callback for datatype conversion + void setTypeConvCB( H5T_conv_except_func_t op, void *user_data) const; + + // Gets the exception handling callback for datatype conversion + void getTypeConvCB( H5T_conv_except_func_t *op, void **user_data) const; + // Sets the memory manager for variable-length datatype // allocation in H5Dread and H5Dvlen_reclaim void setVlenMemManager( H5MM_allocate_t alloc, void* alloc_info, -- cgit v0.12