public TypeCode create_value_tc([StringValue][WideChar(false)] string id,
                                 [StringValue][WideChar(false)] string name,
                                 short type_modifier,
                                 omg.org.CORBA.TypeCode concrete_base,
                                 [IdlSequence(0L)] ValueMember[] members)
 {
     return(new ValueTypeTC(id, name,
                            members, concrete_base, type_modifier));
 }
Beispiel #2
0
        internal override void ReadFromStream(CdrInputStream cdrStream,
                                              SerializerFactory serFactory)
        {
            CdrEncapsulationInputStream encap = cdrStream.ReadEncapsulation();
            m_id = ReadRepositoryId(encap);
            m_name = encap.ReadString();
            TypeCodeSerializer ser = new TypeCodeSerializer(serFactory);
            m_discriminatorType = (omg.org.CORBA.TypeCode)ser.Deserialize(encap);
            Type discrTypeCls = ((TypeCodeImpl)m_discriminatorType).GetClsForTypeCode();
            m_defaultCase = encap.ReadLong();

            uint length = encap.ReadULong();
            m_members = new UnionSwitchCase[length];
            Serializer serDisc =
                serFactory.Create(discrTypeCls,
                                  AttributeExtCollection.EmptyCollection);
            for (int i = 0; i < length; i++)
            {
                object discrLabel = serDisc.Deserialize(encap);
                string memberName = encap.ReadString();
                omg.org.CORBA.TypeCode memberType =
                    (omg.org.CORBA.TypeCode)ser.Deserialize(encap);
                UnionSwitchCase member = new UnionSwitchCase(discrLabel, memberName, memberType);
                m_members[i] = member;
            }
        }
Beispiel #3
0
 public void Initalize(string repositoryID, string name,
                       omg.org.CORBA.TypeCode discriminatorType, int defaultCase,
                       UnionSwitchCase[] switchCases)
 {
     m_id = repositoryID;
     m_name = name;
     m_discriminatorType = discriminatorType;
     m_defaultCase = defaultCase;
     m_members = switchCases;
 }
Beispiel #4
0
 public UnionSwitchCase(object discriminatorValue, string elementName, TypeCode elementType)
 {
     DiscriminatorValue = discriminatorValue;
     ElementType = elementType;
     ElementName = elementName;
 }