Beispiel #1
0
        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();
                }
            }
        }
Beispiel #2
0
        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();
            }
        }
Beispiel #3
0
        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);
        }