コード例 #1
1
        public override void Serialize(Corba.DataOutputStream arg) {
            // rmi data
            arg.write_octet(1);
            arg.write_octet(1);
            // size: is equal to size of m_elements
            int size = m_elements.Length;
            arg.write_long(size);
            if (m_backArraySize < size) {
                m_backArraySize = size;
            }
            arg.write_long(m_backArraySize);

            for (int i = 0; i < size; i++) {
                bool isByRef = false;
                if (m_elements[i] != null) {
                    isByRef = ClsToIdlMapper.IsMappedToConcreteInterface(m_elements[i].GetType());
                }
                arg.write_boolean(isByRef);
                if (!isByRef) {
                    arg.write_ValueOfActualType(m_elements[i]);
                } else {
                    arg.write_Object((MarshalByRefObject)m_elements[i]);
                }
            }
            
        }
コード例 #2
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();
         }
     }
     
 }
コード例 #3
0
	public override void Serialize(Corba.DataOutputStream stream) {
            m_data.Serialise(stream);
	}
コード例 #4
0
	public override void Deserialise(Corba.DataInputStream stream) {
            m_data.Deserialise(stream);
	}
コード例 #5
0
 public void Serialise(Corba.DataOutputStream stream) {
     throw new omg.org.CORBA.NO_IMPLEMENT(2876, omg.org.CORBA.CompletionStatus.Completed_MayBe);
 }
コード例 #6
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();
            }
       }
コード例 #7
0
 public override void Serialize(Corba.DataOutputStream stream) {
     m_data.Serialise(stream);
     stream.write_long(m_number);
 }
コード例 #8
0
 public override void Deserialise(Corba.DataInputStream stream) {
     m_data.Deserialise(stream);
     m_number = stream.read_long();
     
 }
コード例 #9
0
 public override void Deserialise(Corba.DataInputStream stream) {
     m_data.Deserialise(stream);
     reason = stream.read_WStringValue();
 }
コード例 #10
0
    public void Serialise(Corba.DataOutputStream stream) {
        stream.write_octet(1);
        stream.write_boolean(true);

        stream.write_ValueOfActualType(m_cause);
        stream.write_WStringValue(m_msg);

        stream.write_boxed(m_trace, new BoxedValueAttribute("RMI:[Ljava.lang.StackTraceElement;:CD38F9930EA8AAEC:6109C59A2636DD85"));
    }
コード例 #11
0
 public override void Serialize(Corba.DataOutputStream arg) {
     // rmi data
     arg.write_octet(1);
     arg.write_octet(0);
     // offset in milliseconds
     arg.write_longlong(m_offsetInMillis);            
 }
コード例 #12
0
 public override void Deserialise(Corba.DataInputStream arg) {
     // skip rmi data
     arg.read_octet();
     arg.read_octet();
     // offset in milliseconds
     m_offsetInMillis = arg.read_longlong();
 }
コード例 #13
0
 public override void Serialize(Corba.DataOutputStream target) {
     // rmi data
     target.write_octet(1);
     target.write_octet(1);
     // load factor
     target.write_float(m_loadFactor);
     // treshhold, ignore (calculated)
     target.write_long(Treshhold);
     // capacity
     target.write_long(m_capacity);
     // size
     target.write_long(m_buckets.Length);
     // buckets            
     for (int i = 0; i < m_buckets.Length; i++) {                
         WriteObject(m_buckets[i].Key, target);
         WriteObject(m_buckets[i].Value, target);
     }            
 }
コード例 #14
0
 private void WriteObject(object val, Corba.DataOutputStream target) {
     bool isByRef = false;
     if (val != null) {
         isByRef = ClsToIdlMapper.IsMappedToConcreteInterface(val.GetType());
     }
     target.write_boolean(isByRef);
     if (!isByRef) {
             target.write_ValueOfActualType(val);
     } else {
             target.write_Object((MarshalByRefObject)val);
     }
 }
コード例 #15
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;
 }
コード例 #16
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);
     }            
 }