package cs522.elind.io; import java.io.IOException; import org.omg.CORBA.portable.*; public class CORBAMonitorInputStream extends InputStream { protected InputStream monitor = null; protected long totalRead = 0; public CORBAMonitorInputStream(InputStream in) { monitor = in; } public long bytesRead() { return totalRead; } public int read() throws IOException { int read = monitor.read(); if(read != -1) { totalRead += read; } return read; } public int read(byte[] b) throws IOException { int read = monitor.read(b); if(read != -1) { totalRead += read; } return read; } public int read(byte[] b, int off, int len) throws IOException { int read = monitor.read(b, off, len); if(read != -1) { totalRead += read; } return read; } public long skip(long n) throws IOException { long read = monitor.skip(n); totalRead += read; return read; } public int available() throws IOException { return monitor.available(); } public void close() throws IOException { monitor.close(); } public void mark(int readlimit) { monitor.mark(readlimit); } public void reset() throws IOException { monitor.reset(); } public boolean markSupported() { return monitor.markSupported(); } public org.omg.CORBA.Object read_Object() { return monitor.read_Object(); } public org.omg.CORBA.TypeCode read_TypeCode() { return monitor.read_TypeCode(); } public org.omg.CORBA.Any read_any() { return monitor.read_any(); } public boolean read_boolean() { return monitor.read_boolean(); } public void read_boolean_array(boolean[] values, int param, int param2) { monitor.read_boolean_array(values, param, param2); } public char read_char() { return monitor.read_char(); } public void read_char_array(char[] values, int param, int param2) { monitor.read_char_array(values, param, param2); } public double read_double() { return monitor.read_double(); } public void read_double_array(double[] values, int param, int param2) { read_double_array(values, param, param2); } public float read_float() { return monitor.read_float(); } public void read_float_array(float[] values, int param, int param2) { monitor.read_float_array(values, param, param2); } public int read_long() { return monitor.read_long(); } public void read_long_array(int[] values, int param, int param2) { monitor.read_long_array(values, param, param2); } public long read_longlong() { return monitor.read_longlong(); } public void read_longlong_array(long[] values, int param, int param2) { monitor.read_longlong_array(values, param, param2); } public byte read_octet() { return monitor.read_octet(); } public void read_octet_array(byte[] values, int param, int param2) { monitor.read_octet_array(values, param, param2); } public short read_short() { return monitor.read_short(); } public void read_short_array(short[] values, int param, int param2) { monitor.read_short_array(values, param, param2); } public String read_string() { return monitor.read_string(); } public int read_ulong() { return monitor.read_ulong(); } public void read_ulong_array(int[] values, int param, int param2) { monitor.read_ulong_array(values, param, param2); } public long read_ulonglong() { return monitor.read_ulonglong(); } public void read_ulonglong_array(long[] values, int param, int param2) { monitor.read_ulonglong_array(values, param, param2); } public short read_ushort() { return monitor.read_short(); } public void read_ushort_array(short[] values, int param, int param2) { monitor.read_ushort_array(values, param, param2); } public char read_wchar() { return monitor.read_wchar(); } public void read_wchar_array(char[] values, int param, int param2) { monitor.read_wchar_array(values, param, param2); } public String read_wstring() { return monitor.read_wstring(); } }