diff options
author | Michael Koch <konqueror@gmx.de> | 2003-03-02 15:57:13 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-03-02 15:57:13 +0000 |
commit | a339cb5bd9cc8a2fc232055dd5f8a1f9f45f093c (patch) | |
tree | 7f7a771b552d63a7e8628e711227791e9c6ab053 /libjava/gnu/java/nio/natFileChannelImpl.cc | |
parent | 05eb3436761139129acaf9e4d035fe10e62a8c8e (diff) | |
download | gcc-a339cb5bd9cc8a2fc232055dd5f8a1f9f45f093c.zip gcc-a339cb5bd9cc8a2fc232055dd5f8a1f9f45f093c.tar.gz gcc-a339cb5bd9cc8a2fc232055dd5f8a1f9f45f093c.tar.bz2 |
2003-03-02 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
(fd): Type FileDescriptor instead of int.
(lengthInternal): Removed.
(FileChannelImpl): Fixed arguments, check type of file object.
(size): Made it native.
(implPosition): New native method.
(implTruncate): New native method.
(position): Implemented.
(truncate): Implemented.
(nio_mmap_file): Changed arguments.
(nio_munmap_file): Changed arguments.
(nio_msync): Changed arguments.
* gnu/java/nio/natFileChannelImpl.cc
(lengthInternal): Removed.
(size): New method.
(implPosition): New method.
(implTruncate): New method.
(nio_mmap_file): Changed arguments.
(nio_munmap_file): Changed arguments.
(nio_msync): Changed arguments.
From-SVN: r63668
Diffstat (limited to 'libjava/gnu/java/nio/natFileChannelImpl.cc')
-rw-r--r-- | libjava/gnu/java/nio/natFileChannelImpl.cc | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/libjava/gnu/java/nio/natFileChannelImpl.cc b/libjava/gnu/java/nio/natFileChannelImpl.cc index 8738630..8ba8382 100644 --- a/libjava/gnu/java/nio/natFileChannelImpl.cc +++ b/libjava/gnu/java/nio/natFileChannelImpl.cc @@ -25,29 +25,50 @@ details. */ #endif #include <gnu/java/nio/FileChannelImpl.h> +#include <java/io/FileDescriptor.h> #include <java/io/IOException.h> #include <java/nio/channels/FileChannel.h> jlong -gnu::java::nio::FileChannelImpl::lengthInternal (jint fd) +gnu::java::nio::FileChannelImpl::size () { - throw new ::java::io::IOException (JvNewStringUTF ("lengthInternal not implemented")); + return fd->length (); } jlong -gnu::java::nio::FileChannelImpl::nio_mmap_file (jint, jlong, jint, jint) +gnu::java::nio::FileChannelImpl::implPosition () +{ + return fd->getFilePointer (); +} + +java::nio::channels::FileChannel* +gnu::java::nio::FileChannelImpl::implPosition (jlong newPosition) +{ + fd->seek (newPosition, ::java::io::FileDescriptor::SET, true); + return this; +} + +java::nio::channels::FileChannel* +gnu::java::nio::FileChannelImpl::implTruncate (jlong size) +{ + fd->setLength (size); + return this; +} + +jlong +gnu::java::nio::FileChannelImpl::nio_mmap_file (jlong, jlong, jint) { throw new ::java::io::IOException (JvNewStringUTF ("mmap not implemented")); } void -gnu::java::nio::FileChannelImpl::nio_unmmap_file (jint, jlong, jint) +gnu::java::nio::FileChannelImpl::nio_unmmap_file (jlong, jint) { throw new ::java::io::IOException (JvNewStringUTF ("munmap not implemented")); } void -gnu::java::nio::FileChannelImpl::nio_msync (jint, jlong, jint) +gnu::java::nio::FileChannelImpl::nio_msync (jlong, jint) { throw new ::java::io::IOException (JvNewStringUTF ("msync not implemented")); } |