blob: 73e47af93a14162b46a02bf9df88446d2362e725 [file] [log] [blame]
/*
* 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.
*/
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).
*/
public void resetCodeSetConverters();
}