예제 #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();
                }
            }
        }
예제 #2
0
        public override void Deserialise(Corba.DataInputStream source)
        {
            // skip rmi data
            source.read_octet();
            source.read_octet();
            // load factor
            m_loadFactor = source.read_float();
            // treshhold, ignore (calculated)
            source.read_long();
            // capacity
            m_capacity = source.read_long();
            // size
            int size = source.read_long();

            // buckets
            m_buckets = new System.Collections.DictionaryEntry[size];
            for (int i = 0; i < size; i++)
            {
                object key = ReadObject(source);
                object val = ReadObject(source);
                m_buckets[i] = new System.Collections.DictionaryEntry(key, val);
            }
        }
예제 #3
0
 public override void Deserialise(Corba.DataInputStream stream)
 {
     m_data.Deserialise(stream);
     m_number = stream.read_long();
 }