public override void Deserialise(Corba.DataInputStream arg) { // skip rmi data arg.read_octet(); arg.read_octet(); // size int size = arg.read_long(); // size of backing array m_backArraySize = arg.read_long(); // elements m_elements = new object[size]; for (int i = 0; i < size; i++) { // something like a bool or octet: bool isByRef = arg.read_boolean(); if (!isByRef) { m_elements[i] = arg.read_Value(); if (m_elements[i] is BoxedValueBase) { m_elements[i] = ((BoxedValueBase) m_elements[i]).Unbox(); } } else { m_elements[i] = arg.read_Object(); } } }
public void Deserialise(Corba.DataInputStream stream) { stream.read_octet(); // ignore format version: java RMI specific stream.read_boolean(); // ignore default read object: java RMI specific m_cause = (java.lang.Throwable)stream.read_ValueOfType(typeof(java.lang.Throwable)); m_msg = stream.read_WStringValue(); object boxedTrace = stream.read_Value(); if (boxedTrace != null) { m_trace = (StackTraceElement[])((BoxedValueBase) boxedTrace).Unbox(); } }
private object ReadObject(Corba.DataInputStream source) { object result = null; bool isByRefObj = source.read_boolean(); if (!isByRefObj) { result = source.read_Value(); if (result is BoxedValueBase) { result = ((BoxedValueBase) result).Unbox(); } } else { result = source.read_Object(); } return result; }