diff options
author | Michael Koch <konqueror@gmx.de> | 2004-04-20 10:43:48 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2004-04-20 10:43:48 +0000 |
commit | 0150fc2287534cf7b09ddf294ccd0c8f0ff3bdf5 (patch) | |
tree | 79bfc460bd7b5ba705a5b2a6766109d9f3f5497b /libjava/gnu | |
parent | 7431acbe5a56fb7a34777b040845a23d8135bfb7 (diff) | |
download | gcc-0150fc2287534cf7b09ddf294ccd0c8f0ff3bdf5.zip gcc-0150fc2287534cf7b09ddf294ccd0c8f0ff3bdf5.tar.gz gcc-0150fc2287534cf7b09ddf294ccd0c8f0ff3bdf5.tar.bz2 |
2004-04-20 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileLockImpl.java
(static): Removed, not needed anymore.
* gnu/java/nio/channels/FileChannelImpl.java
(FileChannelImpl): Made final.
(mode): Made private.
(READ, WRITE, APPEND): Made public.
(EXCL, SYNC, DSYNC): Likewise.
(static): Load native JNI library, when needed.
(length): Unused, removed.
(available): Made public.
(implPosition): Throws IOException.
(seek): Likewise.
(implTruncate): Likewise.
(unlock): Likewise.
(lock): Likewise.
From-SVN: r80891
Diffstat (limited to 'libjava/gnu')
-rw-r--r-- | libjava/gnu/java/nio/FileLockImpl.java | 12 | ||||
-rw-r--r-- | libjava/gnu/java/nio/channels/FileChannelImpl.java | 69 |
2 files changed, 43 insertions, 38 deletions
diff --git a/libjava/gnu/java/nio/FileLockImpl.java b/libjava/gnu/java/nio/FileLockImpl.java index 23f67b8..c61b9ca 100644 --- a/libjava/gnu/java/nio/FileLockImpl.java +++ b/libjava/gnu/java/nio/FileLockImpl.java @@ -38,9 +38,8 @@ exception statement from your version. */ package gnu.java.nio; -import java.io.FileDescriptor; import java.io.IOException; -import java.nio.channels.*; +import java.nio.channels.FileLock; import gnu.classpath.Configuration; import gnu.java.nio.channels.FileChannelImpl; @@ -50,15 +49,6 @@ import gnu.java.nio.channels.FileChannelImpl; */ public class FileLockImpl extends FileLock { - static - { - // load the shared library needed for native methods. - if (Configuration.INIT_LOAD_LIBRARY) - { - System.loadLibrary ("javanio"); - } - } - private FileChannelImpl ch; public FileLockImpl (FileChannelImpl channel, long position, diff --git a/libjava/gnu/java/nio/channels/FileChannelImpl.java b/libjava/gnu/java/nio/channels/FileChannelImpl.java index b5e5ffe..4bddf26 100644 --- a/libjava/gnu/java/nio/channels/FileChannelImpl.java +++ b/libjava/gnu/java/nio/channels/FileChannelImpl.java @@ -39,12 +39,19 @@ exception statement from your version. */ package gnu.java.nio.channels; import gnu.classpath.Configuration; -import gnu.gcj.RawData; import gnu.java.nio.FileLockImpl; -import java.io.*; + +import java.io.FileNotFoundException; +import java.io.IOException; import java.nio.ByteBuffer; import java.nio.MappedByteBuffer; -import java.nio.channels.*; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.FileChannel; +import java.nio.channels.FileLock; +import java.nio.channels.NonReadableChannelException; +import java.nio.channels.NonWritableChannelException; +import java.nio.channels.ReadableByteChannel; +import java.nio.channels.WritableByteChannel; /** * This file is not user visible ! @@ -54,22 +61,33 @@ import java.nio.channels.*; * Upon a Input/Output/RandomAccessFile object. */ -public class FileChannelImpl extends FileChannel +public final class FileChannelImpl extends FileChannel { - int mode; // These are WHENCE values for seek. static final int SET = 0; static final int CUR = 1; // These are mode values for open(). - static final int READ = 1; - static final int WRITE = 2; - static final int APPEND = 4; + public static final int READ = 1; + public static final int WRITE = 2; + public static final int APPEND = 4; // EXCL is used only when making a temp file. - static final int EXCL = 8; - static final int SYNC = 16; - static final int DSYNC = 32; + public static final int EXCL = 8; + public static final int SYNC = 16; + public static final int DSYNC = 32; + + private static native void init(); + + static + { + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary("javanio"); + } + + init(); + } /** * This is the actual native file descriptor value @@ -81,8 +99,8 @@ public class FileChannelImpl extends FileChannel // efficient way to accomplish that. private int fd = -1; - int length; private long pos; + private int mode; public FileChannelImpl () { @@ -95,8 +113,12 @@ public class FileChannelImpl extends FileChannel this.mode = mode; } - private static native void init(); - static { init (); } + /* Used by init() (native code) */ + FileChannelImpl (int fd, int mode) + { + this.fd = fd; + this.mode = mode; + } public static FileChannelImpl in; public static FileChannelImpl out; @@ -104,19 +126,12 @@ public class FileChannelImpl extends FileChannel private native int open (String path, int mode) throws FileNotFoundException; - /** Attach to an already-opened file. */ - public FileChannelImpl (int desc, int mode) - { - fd = desc; - this.mode = mode; - } - - native int available () throws IOException; - private native long implPosition (); - private native void seek (long newPosition); - private native void implTruncate (long size); + public native int available () throws IOException; + private native long implPosition () throws IOException; + private native void seek (long newPosition) throws IOException; + private native void implTruncate (long size) throws IOException; - public native void unlock (long pos, long len); + public native void unlock (long pos, long len) throws IOException; public native long size () throws IOException; @@ -350,7 +365,7 @@ public class FileChannelImpl extends FileChannel * Otherwise return false. */ private native boolean lock(long position, long size, - boolean shared, boolean wait); + boolean shared, boolean wait) throws IOException; public FileLock lock (long position, long size, boolean shared) throws IOException |