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:
+12
-83
@@ -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);
|
||||
}
|
||||
}
|
||||
+6
-5
@@ -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);
|
||||
Reference in New Issue
Block a user