From eb4ab2491e6c2222ad0b00d5379c5ca0f351383a Mon Sep 17 00:00:00 2001 From: Jens-Heiner Rechtien Date: Tue, 9 Nov 2004 11:06:24 +0000 Subject: [PATCH] INTEGRATION: CWS hsqldb (1.1.2); FILE ADDED 2004/09/10 12:50:34 oj 1.1.2.1: #i33348# code optimizing --- .../comp/hsqldb/StorageNativeInputStream.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageNativeInputStream.java diff --git a/connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageNativeInputStream.java b/connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageNativeInputStream.java new file mode 100644 index 000000000000..d6e9d992ea79 --- /dev/null +++ b/connectivity/com/sun/star/sdbcx/comp/hsqldb/StorageNativeInputStream.java @@ -0,0 +1,39 @@ +/* + * StorageNativeInputStream.java + * + * Created on 9. September 2004, 11:52 + */ + +package com.sun.star.sdbcx.comp.hsqldb; +import com.sun.star.lib.util.NativeLibraryLoader; +import com.sun.star.embed.ElementModes; +/** + * + * @author Ocke + */ +public class StorageNativeInputStream { + static { + // preload shared libraries whichs import lips are linked to jpipe + if ( System.getProperty( "os.name" ).startsWith( "Windows" ) ) + { + NativeLibraryLoader.loadLibrary(StorageNativeOutputStream.class.getClassLoader(), "msvcr70"); + NativeLibraryLoader.loadLibrary(StorageNativeOutputStream.class.getClassLoader(), "uwinapi"); + NativeLibraryLoader.loadLibrary(StorageNativeOutputStream.class.getClassLoader(), "sal3"); + NativeLibraryLoader.loadLibrary(StorageNativeOutputStream.class.getClassLoader(), "dbtools680mi"); + } + + // load shared library for JNI code + NativeLibraryLoader.loadLibrary(StorageNativeOutputStream.class.getClassLoader(), "hsqldb2"); + } + /** Creates a new instance of StorageNativeInputStream */ + public StorageNativeInputStream(String key,String _file) { + openStream(key,_file, ElementModes.READ); + } + public native void openStream(String key,String name, int mode); + public native int read(String key,String name) throws java.io.IOException; + public native int read(String key,String name,byte[] b, int off, int len) throws java.io.IOException; + public native void close(String key,String name) throws java.io.IOException; + public native long skip(String key,String name,long n) throws java.io.IOException; + public native int available(String key,String name) throws java.io.IOException; + public native int read(String key,String name,byte[] b) throws java.io.IOException; +}