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;
+}