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
This commit is contained in:
Michael Koch 2003-03-02 15:57:13 +00:00 committed by Michael Koch
parent 05eb343676
commit a339cb5bd9
3 changed files with 85 additions and 44 deletions

View file

@ -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"));
}