This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FYI: Patch: java.nio


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi list,



I commited the attached patch to trunk to move some functioniality 
from gnu.java.nio to java.nio.


Michael
- -- 
Homepage: http://www.worldforge.org/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+8vh5WSOgCCdjSDsRAnnRAKCSDv6Wt91oET4uu5WLmo783ELaWgCfWKVU
4q1C/SHxwD3MI62aAk5UHEg=
=kNfi
-----END PGP SIGNATURE-----
Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libjava/ChangeLog,v
retrieving revision 1.1970
diff -u -b -B -r1.1970 ChangeLog
--- ChangeLog	19 Jun 2003 16:42:24 -0000	1.1970
+++ ChangeLog	20 Jun 2003 11:59:38 -0000
@@ -1,3 +1,19 @@
+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
Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.300
diff -u -b -B -r1.300 Makefile.am
--- Makefile.am	19 Jun 2003 10:48:42 -0000	1.300
+++ Makefile.am	20 Jun 2003 11:59:43 -0000
@@ -2101,7 +2101,6 @@
 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 \
@@ -2244,6 +2243,7 @@
 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 \
@@ -2567,7 +2567,6 @@
 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 \
Index: Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.in,v
retrieving revision 1.324
diff -u -b -B -r1.324 Makefile.in
--- Makefile.in	19 Jun 2003 10:48:43 -0000	1.324
+++ Makefile.in	20 Jun 2003 11:59:43 -0000
@@ -1863,7 +1863,6 @@
 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 \
@@ -2006,6 +2005,7 @@
 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 \
@@ -2328,7 +2328,6 @@
 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 \
@@ -2502,14 +2501,13 @@
 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 \
@@ -2966,8 +2964,8 @@
 .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 \
@@ -2982,7 +2980,6 @@
 .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 \
@@ -3498,7 +3495,7 @@
 .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 \
Index: gnu/java/nio/MappedByteFileBuffer.java
===================================================================
RCS file: gnu/java/nio/MappedByteFileBuffer.java
diff -N gnu/java/nio/MappedByteFileBuffer.java
--- gnu/java/nio/MappedByteFileBuffer.java	20 Mar 2003 11:14:35 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,449 +0,0 @@
-/* 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;
-  }
-}
Index: gnu/java/nio/natMappedByteFileBuffer.cc
===================================================================
RCS file: gnu/java/nio/natMappedByteFileBuffer.cc
diff -N gnu/java/nio/natMappedByteFileBuffer.cc
--- gnu/java/nio/natMappedByteFileBuffer.cc	20 Mar 2003 11:14:35 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,148 +0,0 @@
-// 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"));
-}
Index: gnu/java/nio/FileChannelImpl.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/java/nio/FileChannelImpl.java,v
retrieving revision 1.7
diff -u -b -B -r1.7 FileChannelImpl.java
--- gnu/java/nio/FileChannelImpl.java	19 Jun 2003 09:33:58 -0000	1.7
+++ gnu/java/nio/FileChannelImpl.java	20 Jun 2003 11:59:43 -0000
@@ -46,6 +46,7 @@
 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;
@@ -260,7 +261,7 @@
     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;
   }
 
@@ -271,7 +272,7 @@
     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;			 
   }
 
Index: java/nio/MappedByteBufferImpl.java
===================================================================
RCS file: java/nio/MappedByteBufferImpl.java
diff -N java/nio/MappedByteBufferImpl.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ java/nio/MappedByteBufferImpl.java	20 Jun 2003 11:59:43 -0000
@@ -0,0 +1,277 @@
+/* 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");
+  }
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]