summaryrefslogtreecommitdiffstats
path: root/c++/src/H5Library.cpp
diff options
context:
space:
mode:
authorBinh-Minh Ribler <bmribler@hdfgroup.org>2000-12-07 00:04:08 (GMT)
committerBinh-Minh Ribler <bmribler@hdfgroup.org>2000-12-07 00:04:08 (GMT)
commitf148ff3caf533e9f6029798617f0a8087bcd6c05 (patch)
tree00bb6ca4d0e50aa0e591eed6a0d739c04c93c5e7 /c++/src/H5Library.cpp
parent7df8cd5cfe22372f603ea058334647fe4017008e (diff)
downloadhdf5-f148ff3caf533e9f6029798617f0a8087bcd6c05.zip
hdf5-f148ff3caf533e9f6029798617f0a8087bcd6c05.tar.gz
hdf5-f148ff3caf533e9f6029798617f0a8087bcd6c05.tar.bz2
[svn-r3080]
Purpose: Support portability Description: I forgot that source file extension .C will not work on Windows. Solution: Changed all source file from *.C to *.cpp for portability. Platforms tested: arabica (sparc-sun-solaris 2.7)
Diffstat (limited to 'c++/src/H5Library.cpp')
-rw-r--r--c++/src/H5Library.cpp67
1 files changed, 67 insertions, 0 deletions
diff --git a/c++/src/H5Library.cpp b/c++/src/H5Library.cpp
new file mode 100644
index 0000000..ffce037
--- /dev/null
+++ b/c++/src/H5Library.cpp
@@ -0,0 +1,67 @@
+#include <string>
+
+#include "H5Include.h"
+#include "H5Exception.h"
+#include "H5Library.h"
+
+#ifndef H5_NO_NAMESPACE
+namespace H5 {
+#endif
+
+// This static variable will be set to true when dontAtExit is called
+bool H5Library::need_cleanup = false;
+
+// Initializes the HDF5 library.
+void H5Library::open()
+{
+ herr_t ret_value = H5open();
+ if( ret_value < 0 )
+ {
+ throw LibraryIException();
+ }
+}
+
+// Flushes all data to disk, closes files, and cleans up memory.
+void H5Library::close()
+{
+ herr_t ret_value = H5close();
+ if( ret_value < 0 )
+ {
+ throw LibraryIException();
+ }
+}
+
+// Instructs library not to install atexit cleanup routine
+void H5Library::dontAtExit()
+{
+ herr_t ret_value = H5dont_atexit();
+ if( ret_value < 0 )
+ {
+ throw LibraryIException();
+ }
+}
+
+// Returns the HDF library release number.
+void H5Library::getLibVersion( unsigned& majnum, unsigned& minnum, unsigned& relnum )
+{
+ herr_t ret_value = H5get_libversion( &majnum, &minnum, &relnum );
+ if( ret_value < 0 )
+ {
+ throw LibraryIException();
+ }
+}
+
+// Verifies that the arguments match the version numbers compiled
+// into the library
+void H5Library::checkVersion( unsigned majnum, unsigned minnum, unsigned relnum )
+{
+ herr_t ret_value = H5check_version( majnum, minnum, relnum );
+ if( ret_value < 0 )
+ {
+ throw LibraryIException();
+ }
+}
+
+#ifndef H5_NO_NAMESPACE
+} // end namespace
+#endif