/*
* Copyright (c) 1998, 2003, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code 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
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.corba.se.impl.encoding;
import org.omg.CORBA.TypeCode;
import org.omg.CORBA.Principal;
import org.omg.CORBA.Any;
public interface MarshalInputStream {
public boolean read_boolean();
public char read_char();
public char read_wchar();
public byte read_octet();
public short read_short();
public short read_ushort();
public int read_long();
public int read_ulong();
public long read_longlong();
public long read_ulonglong();
public float read_float();
public double read_double();
public String read_string();
public String read_wstring();
public void read_boolean_array(boolean[] value, int offset, int length);
public void read_char_array(char[] value, int offset, int length);
public void read_wchar_array(char[] value, int offset, int length);
public void read_octet_array(byte[] value, int offset, int length);
public void read_short_array(short[] value, int offset, int length);
public void read_ushort_array(short[] value, int offset, int length);
public void read_long_array(int[] value, int offset, int length);
public void read_ulong_array(int[] value, int offset, int length);
public void read_longlong_array(long[] value, int offset, int length);
public void read_ulonglong_array(long[] value, int offset, int length);
public void read_float_array(float[] value, int offset, int length);
public void read_double_array(double[] value, int offset, int length);
public org.omg.CORBA.Object read_Object();
public TypeCode read_TypeCode();
public Any read_any();
public Principal read_Principal();
/*
* The methods necessary to support RMI
*/
public org.omg.CORBA.Object read_Object(Class stubClass);
public java.io.Serializable read_value() throws Exception;
/*
* Additional Methods
*/
public void consumeEndian();
// Determines the current byte stream position
// (also handles fragmented streams)
public int getPosition();
// mark/reset from java.io.InputStream
public void mark(int readAheadLimit);
public void reset();
This must be called once before unmarshaling valuetypes or anything
that uses repository IDs. The ORB's version should be set
to the desired value prior to calling.
/**
* This must be called once before unmarshaling valuetypes or anything
* that uses repository IDs. The ORB's version should be set
* to the desired value prior to calling.
*/
public void performORBVersionSpecificInit();
Tells the input stream to null any code set converter
references, forcing it to reacquire them if it needs
converters again. This is used when the server
input stream needs to switch the connection's char code set
converter to something different after reading the
code set service context for the first time. Initially,
we use ISO8859-1 to read the operation name (it can't
be more than ASCII).
/**
* Tells the input stream to null any code set converter
* references, forcing it to reacquire them if it needs
* converters again. This is used when the server
* input stream needs to switch the connection's char code set
* converter to something different after reading the
* code set service context for the first time. Initially,
* we use ISO8859-1 to read the operation name (it can't
* be more than ASCII).
*/
public void resetCodeSetConverters();
}