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
This commit is contained in:
parent
7431acbe5a
commit
0150fc2287
@ -1,3 +1,21 @@
|
||||
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.
|
||||
|
||||
2004-04-20 Michael Koch <konqueror@gmx.de>
|
||||
|
||||
* java/awt/AWTPermission.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,
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user