sources.am, [...]: Rebuilt.

* sources.am, Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Mention natVMChannels.cc, not
	natChannels.cc.
	* java/nio/channels/natVMChannels.cc: Renamed from
	natChannels.cc.
	* java/nio/channels/Channels.java: Removed.
	* java/nio/channels/natChannels.cc: Removed.
	* java/nio/channels/VMChannels.java: New file.

From-SVN: r113745
This commit is contained in:
Tom Tromey
2006-05-13 21:21:28 +00:00
committed by Tom Tromey
parent becd11a1d8
commit 628cacef24
6 changed files with 41 additions and 98 deletions
@@ -1,5 +1,5 @@
/* Channels.java --
Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
/* VMChannels.java --
Copyright (C) 2005, 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -40,39 +40,33 @@ package java.nio.channels;
import gnu.java.nio.ChannelInputStream;
import gnu.java.nio.ChannelOutputStream;
import gnu.java.nio.ChannelReader;
import gnu.java.nio.InputStreamChannel;
import gnu.java.nio.OutputStreamChannel;
import gnu.java.nio.channels.FileChannelImpl;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.Reader;
import java.io.Writer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CharsetEncoder;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
/**
* @since 1.4
*/
public final class Channels
final class VMChannels
{
/**
* This class isn't intended to be instantiated.
*/
private Channels()
private VMChannels()
{
// Do nothing here.
}
static native FileInputStream newInputStream(FileChannelImpl ch);
static native FileOutputStream newOutputStream(FileChannelImpl ch);
/**
* Constructs a stream that reads bytes from the given channel.
*/
public static InputStream newInputStream(ReadableByteChannel ch)
static InputStream newInputStream(ReadableByteChannel ch)
{
if (ch instanceof FileChannelImpl)
return newInputStream((FileChannelImpl) ch);
@@ -82,75 +76,10 @@ public final class Channels
/**
* Constructs a stream that writes bytes to the given channel.
*/
public static OutputStream newOutputStream(WritableByteChannel ch)
static OutputStream newOutputStream(WritableByteChannel ch)
{
if (ch instanceof FileChannelImpl)
return newOutputStream((FileChannelImpl) ch);
return new ChannelOutputStream(ch);
}
static native FileInputStream newInputStream(FileChannelImpl ch);
static native FileOutputStream newOutputStream(FileChannelImpl ch);
/**
* Constructs a channel that reads bytes from the given stream.
*/
public static ReadableByteChannel newChannel(InputStream in)
{
return new InputStreamChannel(in);
}
/**
* Constructs a channel that writes bytes to the given stream.
*/
public static WritableByteChannel newChannel(OutputStream out)
{
return new OutputStreamChannel(out);
}
/**
* Constructs a reader that decodes bytes from the given channel using the
* given decoder.
*/
public static Reader newReader(ReadableByteChannel ch, CharsetDecoder dec,
int minBufferCap)
{
return new ChannelReader(ch, dec, minBufferCap);
}
/**
* Constructs a reader that decodes bytes from the given channel according to
* the named charset.
*
* @exception UnsupportedCharsetException If no support for the named charset
* is available in this instance of the Java virtual machine.
*/
public static Reader newReader(ReadableByteChannel ch, String csName)
{
return newReader(ch, Charset.forName(csName).newDecoder(), -1);
}
/**
* Constructs a writer that encodes characters using the given encoder and
* writes the resulting bytes to the given channel.
*/
public static Writer newWriter(WritableByteChannel ch, CharsetEncoder enc,
int minBufferCap)
{
// FIXME: implement java.nio.channels.Channel.newWriter(WritableByteChannel, CharsetEncoder, int)
throw new Error("not implemented");
}
/**
* Constructs a writer that encodes characters according to the named charset
* and writes the resulting bytes to the given channel.
*
* @exception UnsupportedCharsetException If no support for the named charset
* is available in this instance of the Java virtual machine.
*/
public static Writer newWriter(WritableByteChannel ch, String csName)
{
return newWriter(ch, Charset.forName(csName).newEncoder(), -1);
}
}
@@ -1,6 +1,6 @@
// natChannels.cc - Native part of Channels class.
// natVMChannels.cc - Native part of VMChannels class.
/* Copyright (C) 2004 Free Software Foundation
/* Copyright (C) 2004, 2006 Free Software Foundation
This file is part of libgcj.
@@ -11,25 +11,26 @@ details. */
#include <config.h>
#include <gcj/cni.h>
#include <java/nio/channels/VMChannels.h>
#include <java/nio/channels/Channels.h>
#include <java/io/FileInputStream.h>
#include <java/io/FileOutputStream.h>
#include <gnu/java/nio/channels/FileChannelImpl.h>
using java::nio::channels::Channels;
using java::nio::channels::VMChannels;
using java::io::FileInputStream;
using java::io::FileOutputStream;
using gnu::java::nio::channels::FileChannelImpl;
FileInputStream*
Channels::newInputStream(FileChannelImpl* ch)
VMChannels::newInputStream(FileChannelImpl* ch)
{
// Needs to be native to bypass Java access protection.
return new FileInputStream (ch);
}
FileOutputStream*
Channels::newOutputStream(FileChannelImpl* ch)
VMChannels::newOutputStream(FileChannelImpl* ch)
{
// Needs to be native to bypass Java access protection.
return new FileOutputStream (ch);