aboutsummaryrefslogtreecommitdiff
path: root/libjava/gnu/java/nio/natFileChannelImpl.cc
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-03-02 15:57:13 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-03-02 15:57:13 +0000
commita339cb5bd9cc8a2fc232055dd5f8a1f9f45f093c (patch)
tree7f7a771b552d63a7e8628e711227791e9c6ab053 /libjava/gnu/java/nio/natFileChannelImpl.cc
parent05eb3436761139129acaf9e4d035fe10e62a8c8e (diff)
downloadgcc-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.cc31
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"));
}