+2003-06-20 Michael Koch <konqueror@gmx.de>
+
+ * gnu/java/nio/MappedByteFileBuffer.java,
+ gnu/java/nio/natMappedByteFileBuffer.cc:
+ Removed
+ * java/nio/MappedByteBufferImpl.java:
+ New file.
+ * gnu/java/nio/FileChannelImpl.java:
+ Use MappedByteBufferImpl instead of MappedByteFileBuffer.
+ * Makefile.am
+ (ordinary_java_source_files): Removed
+ gnu/java/nio/MappedByteFileBuffer.java and added
+ java/nio/MappedByteBufferImpl.java.
+ (nat_source_files): Removed gnu/java/nio/natMappedByteFileBuffer.cc
+ * Makefile.in: Regenerated.
+
2003-06-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl.java
gnu/java/nio/DatagramChannelImpl.java \
gnu/java/nio/FileChannelImpl.java \
gnu/java/nio/FileLockImpl.java \
-gnu/java/nio/MappedByteFileBuffer.java \
gnu/java/nio/PipeImpl.java \
gnu/java/nio/SelectionKeyImpl.java \
gnu/java/nio/SelectorImpl.java \
java/nio/LongBufferImpl.java \
java/nio/LongViewBufferImpl.java \
java/nio/MappedByteBuffer.java \
+java/nio/MappedByteBufferImpl.java \
java/nio/ReadOnlyBufferException.java \
java/nio/ShortBuffer.java \
java/nio/ShortBufferImpl.java \
gnu/gcj/runtime/natVMClassLoader.cc \
gnu/java/nio/natFileChannelImpl.cc \
gnu/java/nio/natFileLockImpl.cc \
-gnu/java/nio/natMappedByteFileBuffer.cc \
gnu/java/nio/natSelectorImpl.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
gnu/java/nio/DatagramChannelImpl.java \
gnu/java/nio/FileChannelImpl.java \
gnu/java/nio/FileLockImpl.java \
-gnu/java/nio/MappedByteFileBuffer.java \
gnu/java/nio/PipeImpl.java \
gnu/java/nio/SelectionKeyImpl.java \
gnu/java/nio/SelectorImpl.java \
java/nio/LongBufferImpl.java \
java/nio/LongViewBufferImpl.java \
java/nio/MappedByteBuffer.java \
+java/nio/MappedByteBufferImpl.java \
java/nio/ReadOnlyBufferException.java \
java/nio/ShortBuffer.java \
java/nio/ShortBufferImpl.java \
gnu/gcj/runtime/natVMClassLoader.cc \
gnu/java/nio/natFileChannelImpl.cc \
gnu/java/nio/natFileLockImpl.cc \
-gnu/java/nio/natMappedByteFileBuffer.cc \
gnu/java/nio/natSelectorImpl.cc \
java/io/natFile.cc \
java/io/natFileDescriptor.cc \
gnu/gcj/runtime/natNameFinder.lo gnu/gcj/runtime/natSharedLibLoader.lo \
gnu/gcj/runtime/natStackTrace.lo gnu/gcj/runtime/natStringBuffer.lo \
gnu/gcj/runtime/natVMClassLoader.lo gnu/java/nio/natFileChannelImpl.lo \
-gnu/java/nio/natFileLockImpl.lo gnu/java/nio/natMappedByteFileBuffer.lo \
-gnu/java/nio/natSelectorImpl.lo java/io/natFile.lo \
-java/io/natFileDescriptor.lo java/io/natObjectInputStream.lo \
-java/io/natVMObjectStreamClass.lo java/lang/natCharacter.lo \
-java/lang/natClass.lo java/lang/natClassLoader.lo \
-java/lang/natConcreteProcess.lo java/lang/natDouble.lo \
-java/lang/natFloat.lo java/lang/natMath.lo java/lang/natObject.lo \
-java/lang/natRuntime.lo java/lang/natString.lo \
+gnu/java/nio/natFileLockImpl.lo gnu/java/nio/natSelectorImpl.lo \
+java/io/natFile.lo java/io/natFileDescriptor.lo \
+java/io/natObjectInputStream.lo java/io/natVMObjectStreamClass.lo \
+java/lang/natCharacter.lo java/lang/natClass.lo \
+java/lang/natClassLoader.lo java/lang/natConcreteProcess.lo \
+java/lang/natDouble.lo java/lang/natFloat.lo java/lang/natMath.lo \
+java/lang/natObject.lo java/lang/natRuntime.lo java/lang/natString.lo \
java/lang/natStringBuffer.lo java/lang/natSystem.lo \
java/lang/natThread.lo java/lang/natVMSecurityManager.lo \
java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \
.deps/gnu/java/locale/LocaleInformation_zh_TW.P \
.deps/gnu/java/math/MPN.P .deps/gnu/java/nio/DatagramChannelImpl.P \
.deps/gnu/java/nio/FileChannelImpl.P .deps/gnu/java/nio/FileLockImpl.P \
-.deps/gnu/java/nio/MappedByteFileBuffer.P .deps/gnu/java/nio/PipeImpl.P \
-.deps/gnu/java/nio/SelectionKeyImpl.P .deps/gnu/java/nio/SelectorImpl.P \
+.deps/gnu/java/nio/PipeImpl.P .deps/gnu/java/nio/SelectionKeyImpl.P \
+.deps/gnu/java/nio/SelectorImpl.P \
.deps/gnu/java/nio/SelectorProviderImpl.P \
.deps/gnu/java/nio/ServerSocketChannelImpl.P \
.deps/gnu/java/nio/SocketChannelImpl.P \
.deps/gnu/java/nio/charset/UTF_8.P \
.deps/gnu/java/nio/natFileChannelImpl.P \
.deps/gnu/java/nio/natFileLockImpl.P \
-.deps/gnu/java/nio/natMappedByteFileBuffer.P \
.deps/gnu/java/nio/natSelectorImpl.P \
.deps/gnu/java/rmi/RMIMarshalledObjectInputStream.P \
.deps/gnu/java/rmi/RMIMarshalledObjectOutputStream.P \
.deps/java/nio/IntBufferImpl.P .deps/java/nio/IntViewBufferImpl.P \
.deps/java/nio/InvalidMarkException.P .deps/java/nio/LongBuffer.P \
.deps/java/nio/LongBufferImpl.P .deps/java/nio/LongViewBufferImpl.P \
-.deps/java/nio/MappedByteBuffer.P \
+.deps/java/nio/MappedByteBuffer.P .deps/java/nio/MappedByteBufferImpl.P \
.deps/java/nio/ReadOnlyBufferException.P .deps/java/nio/ShortBuffer.P \
.deps/java/nio/ShortBufferImpl.P .deps/java/nio/ShortViewBufferImpl.P \
.deps/java/nio/channels/AlreadyConnectedException.P \
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.MappedByteBuffer;
+import java.nio.MappedByteBufferImpl;
import java.nio.channels.ClosedChannelException;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
int cmode = mode.m;
map_address = nio_mmap_file (position, size, cmode);
length = (int) size;
- buf = new MappedByteFileBuffer (this);
+ buf = new MappedByteBufferImpl (this);
return buf;
}
FileChannelImpl ch = new FileChannelImpl ();
ch.map_address = map_address;
ch.length = (int) length;
- ch.buf = new MappedByteFileBuffer (ch);
+ ch.buf = new MappedByteBufferImpl (ch);
return ch.buf;
}
+++ /dev/null
-/* MappedByteFileBuffer.java --
- Copyright (C) 2002 Free Software Foundation, Inc.
-
-This file is part of GNU Classpath.
-
-GNU Classpath is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU Classpath is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Classpath; see the file COPYING. If not, write to the
-Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-02111-1307 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library. Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module. An independent module is a module which is not derived from
-or based on this library. If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so. If you do not wish to do so, delete this
-exception statement from your version. */
-
-package gnu.java.nio;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
-import java.nio.MappedByteBuffer;
-import java.io.IOException;
-import gnu.gcj.RawData;
-
-final public class MappedByteFileBuffer
- extends MappedByteBuffer
-{
- RawData map_address;
- boolean readOnly;
- boolean direct;
- public FileChannelImpl ch;
-
- public MappedByteFileBuffer (FileChannelImpl ch) throws IOException
- {
- super ((int) ch.size (), (int) ch.size (), 0, -1);
-
- this.ch = ch;
- map_address = ch.map_address;
-
- try
- {
- long si = ch.size () / 1;
- limit ((int) si);
- }
- catch (IOException e)
- {
- System.err.println ("failed to get size of file-channel's file");
- }
- }
-
- public MappedByteFileBuffer (MappedByteFileBuffer b)
- {
- // FIXME: fix last value
- super (b.capacity (), b.limit (), b.position (), -1);
-
- this.readOnly = b.isReadOnly ();
- this.ch = b.ch;
- map_address = b.map_address;
- limit (b.limit ());
- }
-
- public boolean isReadOnly ()
- {
- return readOnly;
- }
-
- public static native byte nio_read_Byte_file_channel (FileChannelImpl ch,
- int index, int limit,
- RawData map_address);
- public static native void nio_write_Byte_file_channel (FileChannelImpl ch,
- int index, int limit,
- byte value,
- RawData map_address);
- public static native short nio_read_Short_file_channel (FileChannelImpl ch,
- int index, int limit,
- RawData map_address);
- public static native void nio_write_Short_file_channel (FileChannelImpl ch,
- int index, int limit,
- short value,
- RawData map_address);
- public static native char nio_read_Char_file_channel (FileChannelImpl ch,
- int index, int limit,
- RawData map_address);
- public static native void nio_write_Char_file_channel (FileChannelImpl ch,
- int index, int limit,
- char value,
- RawData map_address);
- public static native int nio_read_Int_file_channel (FileChannelImpl ch,
- int index, int limit,
- RawData map_address);
- public static native void nio_write_Int_file_channel (FileChannelImpl ch,
- int index, int limit,
- int value,
- RawData map_address);
- public static native long nio_read_Long_file_channel (FileChannelImpl ch,
- int index, int limit,
- RawData map_address);
- public static native void nio_write_Long_file_channel (FileChannelImpl ch,
- int index, int limit,
- long value,
- RawData map_address);
- public static native float nio_read_Float_file_channel (FileChannelImpl ch,
- int index, int limit,
- RawData map_address);
- public static native void nio_write_Float_file_channel (FileChannelImpl ch,
- int index, int limit,
- float value,
- RawData map_address);
- public static native double
- nio_read_Double_file_channel (FileChannelImpl ch, int index, int limit,
- RawData map_address);
- public static native void nio_write_Double_file_channel (FileChannelImpl ch,
- int index, int limit,
- double value,
- RawData map_address);
-
- final public byte get ()
- {
- byte a = MappedByteFileBuffer.nio_read_Byte_file_channel (ch, position (),
- limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer put (byte b)
- {
- MappedByteFileBuffer.nio_write_Byte_file_channel (ch, position (), limit (),
- b, map_address);
- position (position () + 1);
- return this;
- }
-
- final public byte get (int index)
- {
- byte a = MappedByteFileBuffer.nio_read_Byte_file_channel (ch, index,
- limit (),
- map_address);
- return a;
- }
-
- final public ByteBuffer put (int index, byte b)
- {
- MappedByteFileBuffer.nio_write_Byte_file_channel (ch, index, limit (), b,
- map_address);
- return this;
- }
-
- final public ByteBuffer compact ()
- {
- return this;
- }
-
- final public boolean isDirect ()
- {
- return direct;
- }
-
- final public ByteBuffer slice ()
- {
- MappedByteFileBuffer A = new MappedByteFileBuffer (this);
- return A;
- }
-
- public ByteBuffer duplicate ()
- {
- return new MappedByteFileBuffer (this);
- }
-
- public ByteBuffer asReadOnlyBuffer ()
- {
- MappedByteFileBuffer b = new MappedByteFileBuffer (this);
- b.readOnly = true;
- return b;
- }
-
- final public ByteBuffer asByteBuffer ()
- {
-// ByteBuffer res = new MappedByteFileBuffer (ch);
-// res.limit ((limit () * 1) / 1);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public byte getByte ()
- {
- byte a = nio_read_Byte_file_channel (ch, position (), limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putByte (byte value)
- {
- nio_write_Byte_file_channel (ch, position (), limit (), value, map_address);
- position (position () + 1);
- return this;
- }
-
- final public byte getByte (int index)
- {
- byte a = nio_read_Byte_file_channel (ch, index, limit(), map_address);
- return a;
- }
-
- final public ByteBuffer putByte (int index, byte value)
- {
- nio_write_Byte_file_channel (ch, index, limit (), value, map_address);
- return this;
- };
-
- final public CharBuffer asCharBuffer ()
- {
-// CharBuffer res = new MappedCharFileBuffer (ch);
-// res.limit ((limit () * 1) / 2);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public char getChar ()
- {
- char a = nio_read_Char_file_channel (ch, position (), limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putChar (char value)
- {
- nio_write_Char_file_channel (ch, position (), limit (), value, map_address);
- position (position () + 1);
- return this;
- }
-
- final public char getChar (int index)
- {
- char a = nio_read_Char_file_channel (ch, index, limit (), map_address);
- return a;
- }
-
- final public ByteBuffer putChar (int index, char value)
- {
- nio_write_Char_file_channel (ch, index, limit (), value, map_address);
- return this;
- };
-
- final public ShortBuffer asShortBuffer ()
- {
-// ShortBuffer res = new MappedShortFileBuffer (ch);
-// res.limit ((limit () * 1) / 2);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public short getShort ()
- {
- short a = nio_read_Short_file_channel (ch, position (), limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putShort (short value)
- {
- nio_write_Short_file_channel (ch, position (), limit (), value,
- map_address);
- position (position () + 1);
- return this;
- }
-
- final public short getShort (int index)
- {
- short a = nio_read_Short_file_channel (ch, index, limit (), map_address);
- return a;
- }
-
- final public ByteBuffer putShort (int index, short value)
- {
- nio_write_Short_file_channel (ch, index, limit (), value, map_address);
- return this;
- }
-
- final public IntBuffer asIntBuffer ()
- {
-// IntBuffer res = new MappedIntFileBuffer (ch);
-// res.limit ((limit () * 1) / 4);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public int getInt ()
- {
- int a = nio_read_Int_file_channel (ch, position (), limit (), map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putInt (int value)
- {
- nio_write_Int_file_channel (ch, position (), limit (), value, map_address);
- position (position () + 1);
- return this;
- }
-
- final public int getInt (int index)
- {
- int a = nio_read_Int_file_channel (ch, index, limit (), map_address);
- return a;
- }
-
- final public ByteBuffer putInt (int index, int value)
- {
- nio_write_Int_file_channel (ch, index, limit (), value, map_address);
- return this;
- }
-
- final public LongBuffer asLongBuffer ()
- {
-// LongBuffer res = new MappedLongFileBuffer (ch);
-// res.limit ((limit () * 1) / 8);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public long getLong ()
- {
- long a = nio_read_Long_file_channel (ch, position (), limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putLong (long value)
- {
- nio_write_Long_file_channel (ch, position (), limit (), value, map_address);
- position (position () + 1);
- return this;
- }
-
- final public long getLong (int index)
- {
- long a = nio_read_Long_file_channel (ch, index, limit (), map_address);
- return a;
- }
-
- final public ByteBuffer putLong (int index, long value)
- {
- nio_write_Long_file_channel (ch, index, limit (), value, map_address);
- return this;
- }
-
- final public FloatBuffer asFloatBuffer ()
- {
-// FloatBuffer res = new MappedFloatFileBuffer (ch);
-// res.limit ((limit () * 1) / 4);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public float getFloat ()
- {
- float a = nio_read_Float_file_channel (ch, position (), limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putFloat (float value)
- {
- nio_write_Float_file_channel (ch, position (), limit (), value,
- map_address);
- position (position () + 1);
- return this;
- }
-
- final public float getFloat (int index)
- {
- float a = nio_read_Float_file_channel (ch, index, limit (), map_address);
- return a;
- }
-
- final public ByteBuffer putFloat (int index, float value)
- {
- nio_write_Float_file_channel (ch, index, limit (), value, map_address);
- return this;
- }
-
- final public DoubleBuffer asDoubleBuffer ()
- {
-// DoubleBuffer res = new MappedDoubleFileBuffer (ch);
-// res.limit ((limit () * 1) / 8);
-// return res;
- throw new Error ("not implemented");
- }
-
- final public double getDouble ()
- {
- double a = nio_read_Double_file_channel (ch, position (), limit (),
- map_address);
- position (position () + 1);
- return a;
- }
-
- final public ByteBuffer putDouble (double value)
- {
- nio_write_Double_file_channel (ch, position (), limit (), value,
- map_address);
- position (position () + 1);
- return this;
- }
-
- final public double getDouble (int index)
- {
- double a = nio_read_Double_file_channel (ch, index, limit (), map_address);
- return a;
- }
-
- final public ByteBuffer putDouble (int index, double value)
- {
- nio_write_Double_file_channel (ch, index, limit (), value, map_address);
- return this;
- }
-}
+++ /dev/null
-// natMappedByteFileBuffer.cc
-
-/* Copyright (C) 2003 Free Software Foundation
-
- This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
-details. */
-
-#include <config.h>
-
-#include <jvm.h>
-
-#include <errno.h>
-#include <string.h>
-#include <sys/types.h>
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-
-#include <gnu/gcj/RawData.h>
-#include <gnu/java/nio/MappedByteFileBuffer.h>
-#include <java/lang/Error.h>
-
-jbyte
-gnu::java::nio::MappedByteFileBuffer::nio_read_Byte_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-jchar
-gnu::java::nio::MappedByteFileBuffer::nio_read_Char_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-jdouble
-gnu::java::nio::MappedByteFileBuffer::nio_read_Double_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-jfloat
-gnu::java::nio::MappedByteFileBuffer::nio_read_Float_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-jint
-gnu::java::nio::MappedByteFileBuffer::nio_read_Int_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-jlong
-gnu::java::nio::MappedByteFileBuffer::nio_read_Long_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-jshort
-gnu::java::nio::MappedByteFileBuffer::nio_read_Short_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Byte_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jbyte,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Char_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jchar,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Double_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jdouble,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Float_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jfloat,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Int_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jint,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Long_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jlong,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
-
-void
-gnu::java::nio::MappedByteFileBuffer::nio_write_Short_file_channel
- (gnu::java::nio::FileChannelImpl*,
- jint, jint, jshort,
- gnu::gcj::RawData*)
-{
- throw new ::java::lang::Error (_Jv_NewStringUTF ("not implemented"));
-}
--- /dev/null
+/* MappedByteBufferImpl.java --
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.nio;
+
+import gnu.java.nio.FileChannelImpl;
+import java.io.IOException;
+import gnu.gcj.RawData;
+
+public class MappedByteBufferImpl extends MappedByteBuffer
+{
+ boolean readOnly;
+ RawData map_address;
+ public FileChannelImpl ch;
+
+ public MappedByteBufferImpl (FileChannelImpl ch) throws IOException
+ {
+ super ((int) ch.size (), (int) ch.size (), 0, -1);
+
+ this.ch = ch;
+ map_address = ch.map_address;
+ long si = ch.size () / 1;
+ limit ((int) si);
+ }
+
+ public boolean isReadOnly ()
+ {
+ return readOnly;
+ }
+
+ public static byte getImpl (FileChannelImpl ch, int index,
+ int limit, RawData map_address)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public static void putImpl (FileChannelImpl ch, int index,
+ int limit, byte value, RawData map_address)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public byte get ()
+ {
+ byte result = get (position());
+ position (position() + 1);
+ return result;
+ }
+
+ public ByteBuffer put (byte value)
+ {
+ put (position(), value);
+ position (position() + 1);
+ return this;
+ }
+
+ public byte get (int index)
+ {
+ return getImpl (ch, index, limit (), map_address);
+ }
+
+ public ByteBuffer put (int index, byte value)
+ {
+ putImpl (ch, index, limit (), value, map_address);
+ return this;
+ }
+
+ public ByteBuffer compact ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public boolean isDirect ()
+ {
+ return true;
+ }
+
+ public ByteBuffer slice ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer duplicate ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer asReadOnlyBuffer ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public CharBuffer asCharBuffer ()
+ {
+ return new CharViewBufferImpl (this, position (), remaining(), remaining (), 0, -1, isReadOnly ());
+ }
+
+ public ShortBuffer asShortBuffer ()
+ {
+ return new ShortViewBufferImpl (this, position (), remaining(), remaining (), 0, -1, isReadOnly ());
+ }
+
+ public IntBuffer asIntBuffer ()
+ {
+ return new IntViewBufferImpl (this, position (), remaining(), remaining (), 0, -1, isReadOnly ());
+ }
+
+ public LongBuffer asLongBuffer ()
+ {
+ return new LongViewBufferImpl (this, position (), remaining(), remaining (), 0, -1, isReadOnly ());
+ }
+
+ public FloatBuffer asFloatBuffer ()
+ {
+ return new FloatViewBufferImpl (this, position (), remaining(), remaining (), 0, -1, isReadOnly ());
+ }
+
+ public DoubleBuffer asDoubleBuffer ()
+ {
+ return new DoubleViewBufferImpl (this, position (), remaining(), remaining (), 0, -1, isReadOnly ());
+ }
+
+ public char getChar ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public char getChar (int index)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putChar (char value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putChar (int index, char value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public double getDouble ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public double getDouble (int index)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putDouble (double value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putDouble (int index, double value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public float getFloat ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public float getFloat (int index)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putFloat (float value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putFloat (int index, float value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public int getInt ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public int getInt (int index)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putInt (int value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putInt (int index, int value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public long getLong ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public long getLong (int index)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putLong (long value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putLong (int index, long value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public short getShort ()
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public short getShort (int index)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putShort (short value)
+ {
+ throw new Error ("Not implemented");
+ }
+
+ public ByteBuffer putShort (int index, short value)
+ {
+ throw new Error ("Not implemented");
+ }
+}