Exemple #1
0
            public override PushListResult.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(PushListResult._pushListResultFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = PushListResult._pushListResultFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    if (fieldTag == 0U)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (fieldTag != 10U)
                    {
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                    }
                    else
                    {
                        input.ReadMessageArray <PushResult>(fieldTag, fieldName, (ICollection <PushResult>) this.result.results_, PushResult.DefaultInstance, extensionRegistry);
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }
Exemple #2
0
 // Token: 0x06000840 RID: 2112 RVA: 0x00013D2C File Offset: 0x00011F2C
 public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
 {
     PrepareBuilder();
     UnknownFieldSet.Builder builder = null;
     while (input.ReadTag(out uint num, out string text))
     {
         if (num == 0U && text != null)
         {
             int num2 = Array.BinarySearch(_singleBatchRequestFieldNames, text, StringComparer.Ordinal);
             if (num2 < 0)
             {
                 if (builder == null)
                 {
                     builder = UnknownFieldSet.CreateBuilder(UnknownFields);
                 }
                 ParseUnknownField(input, builder, extensionRegistry, num, text);
                 continue;
             }
             num = _singleBatchRequestFieldTags[num2];
         }
         if (num == 0U)
         {
             throw InvalidProtocolBufferException.InvalidTag();
         }
         if (num != 10U)
         {
             if (num != 18U)
             {
                 if (WireFormat.IsEndGroupTag(num))
                 {
                     if (builder != null)
                     {
                         UnknownFields = builder.Build();
                     }
                     return(this);
                 }
                 if (builder == null)
                 {
                     builder = UnknownFieldSet.CreateBuilder(UnknownFields);
                 }
                 ParseUnknownField(input, builder, extensionRegistry, num, text);
             }
             else
             {
                 input.ReadMessageArray(num, text, result.batchItem_, SingleBatchItem.DefaultInstance, extensionRegistry);
             }
         }
         else
         {
             result.HasBatchId = input.ReadString(ref result.batchId_);
         }
     }
     if (builder != null)
     {
         UnknownFields = builder.Build();
     }
     return(this);
 }
Exemple #3
0
            public override ChatRoomMemberData.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(ChatRoomMemberData._chatRoomMemberDataFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = ChatRoomMemberData._chatRoomMemberDataFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_);
                        continue;
                    }

                    case 0x12:
                    {
                        input.ReadMessageArray <ChatRoomMemberInfo>(num, str, this.result.chatRoomMember_, ChatRoomMemberInfo.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x18:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasInfoMask = input.ReadUInt32(ref this.result.infoMask_);
                }
                return(this);
            }
Exemple #4
0
            public override PushListResult.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                uint   num;
                string text;

                while (input.ReadTag(out num, out text))
                {
                    if (num == 0u && text != null)
                    {
                        int num2 = Array.BinarySearch <string>(PushListResult._pushListResultFieldNames, text, StringComparer.Ordinal);
                        if (num2 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                            continue;
                        }
                        num = PushListResult._pushListResultFieldTags[num2];
                    }
                    if (num == 0u)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num != 10u)
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.UnknownFields = builder.Build();
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                    }
                    else
                    {
                        input.ReadMessageArray <PushResult>(num, text, this.result.results_, PushResult.DefaultInstance, extensionRegistry);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
Exemple #5
0
            public override SafeDeviceList.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(SafeDeviceList._safeDeviceListFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = SafeDeviceList._safeDeviceListFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasCount = input.ReadUInt32(ref this.result.count_);
                        continue;
                    }

                    case 0x12:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    input.ReadMessageArray <SafeDevice>(num, str, this.result.list_, SafeDevice.DefaultInstance, extensionRegistry);
                }
                return(this);
            }
            public override SingleBatchRequest.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(SingleBatchRequest._singleBatchRequestFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = SingleBatchRequest._singleBatchRequestFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    switch (fieldTag)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                        this.result.hasBatchId = input.ReadString(ref this.result.batchId_);
                        continue;

                    case 18:
                        input.ReadMessageArray <SingleBatchItem>(fieldTag, fieldName, (ICollection <SingleBatchItem>) this.result.batchItem_, SingleBatchItem.DefaultInstance, extensionRegistry);
                        continue;

                    default:
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                        continue;
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }
            public override CreateChatRoomResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(CreateChatRoomResponse._createChatRoomResponseFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = CreateChatRoomResponse._createChatRoomResponseFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x12:
                    {
                        SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasTopic)
                        {
                            builder2.MergeFrom(this.Topic);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.Topic = builder2.BuildPartial();
                        continue;
                    }

                    case 0x1a:
                    {
                        SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasPYInitial)
                        {
                            builder3.MergeFrom(this.PYInitial);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.PYInitial = builder3.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasQuanPin)
                        {
                            builder4.MergeFrom(this.QuanPin);
                        }
                        input.ReadMessage(builder4, extensionRegistry);
                        this.QuanPin = builder4.BuildPartial();
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder();
                        if (this.result.hasBaseResponse)
                        {
                            builder.MergeFrom(this.BaseResponse);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseResponse = builder.BuildPartial();
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_);
                        continue;
                    }

                    case 50:
                    {
                        input.ReadMessageArray <MemberResp>(num, str, this.result.memberList_, MemberResp.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x3a:
                    {
                        SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasChatRoomName)
                        {
                            builder5.MergeFrom(this.ChatRoomName);
                        }
                        input.ReadMessage(builder5, extensionRegistry);
                        this.ChatRoomName = builder5.BuildPartial();
                        continue;
                    }

                    case 0x42:
                    {
                        SKBuiltinBuffer_t.Builder builder6 = SKBuiltinBuffer_t.CreateBuilder();
                        if (this.result.hasImgBuf)
                        {
                            builder6.MergeFrom(this.ImgBuf);
                        }
                        input.ReadMessage(builder6, extensionRegistry);
                        this.ImgBuf = builder6.BuildPartial();
                        continue;
                    }

                    case 0x4a:
                    {
                        this.result.hasBigHeadImgUrl = input.ReadString(ref this.result.bigHeadImgUrl_);
                        continue;
                    }

                    case 0x52:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasSmallHeadImgUrl = input.ReadString(ref this.result.smallHeadImgUrl_);
                }
                return(this);
            }
            public override InviteChatRoomMemberRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(InviteChatRoomMemberRequest._inviteChatRoomMemberRequestFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = InviteChatRoomMemberRequest._inviteChatRoomMemberRequestFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder();
                        if (this.result.hasBaseRequest)
                        {
                            builder.MergeFrom(this.BaseRequest);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseRequest = builder.BuildPartial();
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_);
                        continue;
                    }

                    case 0x1a:
                    {
                        input.ReadMessageArray <MemberReq>(num, str, this.result.memberList_, MemberReq.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x22:
                    {
                        SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
                        if (this.result.hasChatRoomName)
                        {
                            builder2.MergeFrom(this.ChatRoomName);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.ChatRoomName = builder2.BuildPartial();
                        continue;
                    }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        return(this);
                    }
                    this.ParseUnknownField(input, extensionRegistry, num, str);
                }
                return(this);
            }
Exemple #9
0
            /// <summary>
            /// Like <see cref="MergeFrom(ICodedInputStream, ExtensionRegistry, IBuilder)" />
            /// but parses a single field.
            /// </summary>
            /// <param name="input">The input to read the field from</param>
            /// <param name="extensionRegistry">Registry to use when an extension field is encountered</param>
            /// <param name="builder">Builder to merge field into, if it's a known field</param>
            /// <param name="tag">The tag, which should already have been read from the input</param>
            /// <returns>true unless the tag is an end-group tag</returns>
            internal bool MergeFieldFrom(ICodedInputStream input,
                                         ExtensionRegistry extensionRegistry, IBuilder builder, uint tag,
                                         string fieldName)
            {
                if (tag == 0 && fieldName != null)
                {
                    FieldDescriptor fieldByName = builder.DescriptorForType.FindFieldByName(fieldName);
                    if (fieldByName != null)
                    {
                        tag = WireFormat.MakeTag(fieldByName);
                    }
                    else
                    {
                        ExtensionInfo extension = extensionRegistry.FindByName(builder.DescriptorForType, fieldName);
                        if (extension != null)
                        {
                            tag = WireFormat.MakeTag(extension.Descriptor);
                        }
                    }
                }

                MessageDescriptor type = builder.DescriptorForType;

                if (type.Options.MessageSetWireFormat && tag == WireFormat.MessageSetTag.ItemStart)
                {
                    MergeMessageSetExtensionFromCodedStream(input, extensionRegistry, builder);
                    return(true);
                }

                WireFormat.WireType wireType = WireFormat.GetTagWireType(tag);
                int fieldNumber = WireFormat.GetTagFieldNumber(tag);

                FieldDescriptor field;
                IMessageLite    defaultFieldInstance = null;

                if (type.IsExtensionNumber(fieldNumber))
                {
                    ExtensionInfo extension = extensionRegistry[type, fieldNumber];
                    if (extension == null)
                    {
                        field = null;
                    }
                    else
                    {
                        field = extension.Descriptor;
                        defaultFieldInstance = extension.DefaultInstance;
                    }
                }
                else
                {
                    field = type.FindFieldByNumber(fieldNumber);
                }

                // Unknown field or wrong wire type. Skip.
                if (field == null)
                {
                    return(MergeFieldFrom(tag, input));
                }
                if (wireType != WireFormat.GetWireType(field))
                {
                    WireFormat.WireType expectedType = WireFormat.GetWireType(field.FieldType);
                    if (wireType == expectedType)
                    {
                        //Allowed as of 2.3, this is unpacked data for a packed array
                    }
                    else if (field.IsRepeated && wireType == WireFormat.WireType.LengthDelimited &&
                             (expectedType == WireFormat.WireType.Varint || expectedType == WireFormat.WireType.Fixed32 ||
                              expectedType == WireFormat.WireType.Fixed64))
                    {
                        //Allowed as of 2.3, this is packed data for an unpacked array
                    }
                    else
                    {
                        return(MergeFieldFrom(tag, input));
                    }
                }

                switch (field.FieldType)
                {
                case FieldType.Group:
                case FieldType.Message:
                {
                    IBuilderLite subBuilder = (defaultFieldInstance != null)
                                                          ? defaultFieldInstance.WeakCreateBuilderForType()
                                                          : builder.CreateBuilderForField(field);
                    if (!field.IsRepeated)
                    {
                        subBuilder.WeakMergeFrom((IMessageLite)builder[field]);
                        if (field.FieldType == FieldType.Group)
                        {
                            input.ReadGroup(field.FieldNumber, subBuilder, extensionRegistry);
                        }
                        else
                        {
                            input.ReadMessage(subBuilder, extensionRegistry);
                        }
                        builder[field] = subBuilder.WeakBuild();
                    }
                    else
                    {
                        List <IMessageLite> list = new List <IMessageLite>();
                        if (field.FieldType == FieldType.Group)
                        {
                            input.ReadGroupArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType,
                                                 extensionRegistry);
                        }
                        else
                        {
                            input.ReadMessageArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType,
                                                   extensionRegistry);
                        }

                        foreach (IMessageLite m in list)
                        {
                            builder.WeakAddRepeatedField(field, m);
                        }
                        return(true);
                    }
                    break;
                }

                case FieldType.Enum:
                {
                    if (!field.IsRepeated)
                    {
                        object    unknown;
                        IEnumLite value = null;
                        if (input.ReadEnum(ref value, out unknown, field.EnumType))
                        {
                            builder[field] = value;
                        }
                        else if (unknown is int)
                        {
                            MergeVarintField(fieldNumber, (ulong)(int)unknown);
                        }
                    }
                    else
                    {
                        ICollection <object> unknown;
                        List <IEnumLite>     list = new List <IEnumLite>();
                        input.ReadEnumArray(tag, fieldName, list, out unknown, field.EnumType);

                        foreach (IEnumLite en in list)
                        {
                            builder.WeakAddRepeatedField(field, en);
                        }

                        if (unknown != null)
                        {
                            foreach (object oval in unknown)
                            {
                                if (oval is int)
                                {
                                    MergeVarintField(fieldNumber, (ulong)(int)oval);
                                }
                            }
                        }
                    }
                    break;
                }

                default:
                {
                    if (!field.IsRepeated)
                    {
                        object value = null;
                        if (input.ReadPrimitiveField(field.FieldType, ref value))
                        {
                            builder[field] = value;
                        }
                    }
                    else
                    {
                        List <object> list = new List <object>();
                        input.ReadPrimitiveArray(field.FieldType, tag, fieldName, list);
                        foreach (object oval in list)
                        {
                            builder.WeakAddRepeatedField(field, oval);
                        }
                    }
                    break;
                }
                }
                return(true);
            }
Exemple #10
0
            public override Transparent.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(Transparent._transparentFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = Transparent._transparentFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    switch (fieldTag)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                        this.result.hasId = input.ReadString(ref this.result.id_);
                        continue;

                    case 18:
                        this.result.hasAction = input.ReadString(ref this.result.action_);
                        continue;

                    case 26:
                        this.result.hasTaskId = input.ReadString(ref this.result.taskId_);
                        continue;

                    case 34:
                        this.result.hasAppKey = input.ReadString(ref this.result.appKey_);
                        continue;

                    case 42:
                        this.result.hasAppId = input.ReadString(ref this.result.appId_);
                        continue;

                    case 50:
                        this.result.hasMessageId = input.ReadString(ref this.result.messageId_);
                        continue;

                    case 58:
                        PushInfo.Builder builder1 = PushInfo.CreateBuilder();
                        if (this.result.hasPushInfo)
                        {
                            builder1.MergeFrom(this.PushInfo);
                        }
                        input.ReadMessage((IBuilderLite)builder1, extensionRegistry);
                        this.PushInfo = builder1.BuildPartial();
                        continue;

                    case 66:
                        input.ReadMessageArray <ActionChain>(fieldTag, fieldName, (ICollection <ActionChain>) this.result.actionChain_, ActionChain.DefaultInstance, extensionRegistry);
                        continue;

                    case 74:
                        input.ReadStringArray(fieldTag, fieldName, (ICollection <string>) this.result.condition_);
                        continue;

                    case 80:
                        this.result.hasTemplateId = input.ReadInt32(ref this.result.templateId_);
                        continue;

                    case 90:
                        this.result.hasTaskGroupId = input.ReadString(ref this.result.taskGroupId_);
                        continue;

                    case 98:
                        SmsInfo.Builder builder2 = SmsInfo.CreateBuilder();
                        if (this.result.hasSmsInfo)
                        {
                            builder2.MergeFrom(this.SmsInfo);
                        }
                        input.ReadMessage((IBuilderLite)builder2, extensionRegistry);
                        this.SmsInfo = builder2.BuildPartial();
                        continue;

                    default:
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                        continue;
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }
Exemple #11
0
            /// <summary>
            /// Like <see cref="MergeFrom(ICodedInputStream, ExtensionRegistry, IBuilder)" />
            /// but parses a single field.
            /// </summary>
            /// <param name="input">The input to read the field from</param>
            /// <param name="extensionRegistry">Registry to use when an extension field is encountered</param>
            /// <param name="builder">Builder to merge field into, if it's a known field</param>
            /// <param name="tag">The tag, which should already have been read from the input</param>
            /// <returns>true unless the tag is an end-group tag</returns>
            internal bool MergeFieldFrom(ICodedInputStream input,
                                         ExtensionRegistry extensionRegistry, IBuilder builder, uint tag,
                                         string fieldName)
            {
                if (tag == 0 && fieldName != null)
                {
                    FieldDescriptor fieldByName = builder.DescriptorForType.FindFieldByName(fieldName);
                    if (fieldByName != null)
                    {
                        tag = WireFormat.MakeTag(fieldByName);
                    }
                    else
                    {
                        ExtensionInfo extension = extensionRegistry.FindByName(builder.DescriptorForType, fieldName);
                        if (extension != null)
                        {
                            tag = WireFormat.MakeTag(extension.Descriptor);
                        }
                    }
                }

                MessageDescriptor type = builder.DescriptorForType;
                if (type.Options.MessageSetWireFormat && tag == WireFormat.MessageSetTag.ItemStart)
                {
                    MergeMessageSetExtensionFromCodedStream(input, extensionRegistry, builder);
                    return true;
                }

                WireFormat.WireType wireType = WireFormat.GetTagWireType(tag);
                int fieldNumber = WireFormat.GetTagFieldNumber(tag);

                FieldDescriptor field;
                IMessageLite defaultFieldInstance = null;

                if (type.IsExtensionNumber(fieldNumber))
                {
                    ExtensionInfo extension = extensionRegistry[type, fieldNumber];
                    if (extension == null)
                    {
                        field = null;
                    }
                    else
                    {
                        field = extension.Descriptor;
                        defaultFieldInstance = extension.DefaultInstance;
                    }
                }
                else
                {
                    field = type.FindFieldByNumber(fieldNumber);
                }

                // Unknown field or wrong wire type. Skip.
                if (field == null)
                {
                    return MergeFieldFrom(tag, input);
                }
                if (wireType != WireFormat.GetWireType(field))
                {
                    WireFormat.WireType expectedType = WireFormat.GetWireType(field.FieldType);
                    if (wireType == expectedType)
                    {
                        //Allowed as of 2.3, this is unpacked data for a packed array
                    }
                    else if (field.IsRepeated && wireType == WireFormat.WireType.LengthDelimited &&
                             (expectedType == WireFormat.WireType.Varint || expectedType == WireFormat.WireType.Fixed32 ||
                              expectedType == WireFormat.WireType.Fixed64))
                    {
                        //Allowed as of 2.3, this is packed data for an unpacked array
                    }
                    else
                    {
                        return MergeFieldFrom(tag, input);
                    }
                }

                switch (field.FieldType)
                {
                    case FieldType.Group:
                    case FieldType.Message:
                        {
                            IBuilderLite subBuilder = (defaultFieldInstance != null)
                                                          ? defaultFieldInstance.WeakCreateBuilderForType()
                                                          : builder.CreateBuilderForField(field);
                            if (!field.IsRepeated)
                            {
                                subBuilder.WeakMergeFrom((IMessageLite) builder[field]);
                                if (field.FieldType == FieldType.Group)
                                {
                                    input.ReadGroup(field.FieldNumber, subBuilder, extensionRegistry);
                                }
                                else
                                {
                                    input.ReadMessage(subBuilder, extensionRegistry);
                                }
                                builder[field] = subBuilder.WeakBuild();
                            }
                            else
                            {
                                List<IMessageLite> list = new List<IMessageLite>();
                                if (field.FieldType == FieldType.Group)
                                {
                                    input.ReadGroupArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType,
                                                         extensionRegistry);
                                }
                                else
                                {
                                    input.ReadMessageArray(tag, fieldName, list, subBuilder.WeakDefaultInstanceForType,
                                                           extensionRegistry);
                                }

                                foreach (IMessageLite m in list)
                                {
                                    builder.WeakAddRepeatedField(field, m);
                                }
                                return true;
                            }
                            break;
                        }
                    case FieldType.Enum:
                        {
                            if (!field.IsRepeated)
                            {
                                object unknown;
                                IEnumLite value = null;
                                if (input.ReadEnum(ref value, out unknown, field.EnumType))
                                {
                                    builder[field] = value;
                                }
                                else if (unknown is int)
                                {
                                    MergeVarintField(fieldNumber, (ulong) (int) unknown);
                                }
                            }
                            else
                            {
                                ICollection<object> unknown;
                                List<IEnumLite> list = new List<IEnumLite>();
                                input.ReadEnumArray(tag, fieldName, list, out unknown, field.EnumType);

                                foreach (IEnumLite en in list)
                                {
                                    builder.WeakAddRepeatedField(field, en);
                                }

                                if (unknown != null)
                                {
                                    foreach (object oval in unknown)
                                    {
                                        if (oval is int)
                                        {
                                            MergeVarintField(fieldNumber, (ulong) (int) oval);
                                        }
                                    }
                                }
                            }
                            break;
                        }
                    default:
                        {
                            if (!field.IsRepeated)
                            {
                                object value = null;
                                if (input.ReadPrimitiveField(field.FieldType, ref value))
                                {
                                    builder[field] = value;
                                }
                            }
                            else
                            {
                                List<object> list = new List<object>();
                                input.ReadPrimitiveArray(field.FieldType, tag, fieldName, list);
                                foreach (object oval in list)
                                {
                                    builder.WeakAddRepeatedField(field, oval);
                                }
                            }
                            break;
                        }
                }
                return true;
            }
Exemple #12
0
            public override CDNDnsInfo.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(CDNDnsInfo._cDNDnsInfoFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = CDNDnsInfo._cDNDnsInfoFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x18:
                    {
                        this.result.hasExpireTime = input.ReadUInt32(ref this.result.expireTime_);
                        continue;
                    }

                    case 0x20:
                    {
                        this.result.hasFrontID = input.ReadInt32(ref this.result.frontID_);
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasFrontIPCount = input.ReadInt32(ref this.result.frontIPCount_);
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasVer = input.ReadUInt32(ref this.result.ver_);
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasUin = input.ReadUInt32(ref this.result.uin_);
                        continue;
                    }

                    case 50:
                    {
                        input.ReadMessageArray <SKBuiltinString_t>(num, str, this.result.frontIPList_, SKBuiltinString_t.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x3a:
                    {
                        this.result.hasZoneDomain = input.ReadString(ref this.result.zoneDomain_);
                        continue;
                    }

                    case 0x42:
                    {
                        SKBuiltinBuffer_t.Builder builder = SKBuiltinBuffer_t.CreateBuilder();
                        if (this.result.hasAuthKey)
                        {
                            builder.MergeFrom(this.AuthKey);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.AuthKey = builder.BuildPartial();
                        continue;
                    }

                    case 0x48:
                    {
                        this.result.hasZoneID = input.ReadInt32(ref this.result.zoneID_);
                        continue;
                    }

                    case 80:
                    {
                        this.result.hasZoneIPCount = input.ReadInt32(ref this.result.zoneIPCount_);
                        continue;
                    }

                    case 90:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    input.ReadMessageArray <SKBuiltinString_t>(num, str, this.result.zoneIPList_, SKBuiltinString_t.DefaultInstance, extensionRegistry);
                }
                return(this);
            }
Exemple #13
0
            public override SmsInfo.Builder MergeFrom(
                ICodedInputStream input,
                ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder unknownFields = (UnknownFieldSet.Builder)null;
                uint   fieldTag;
                string fieldName;

                while (input.ReadTag(out fieldTag, out fieldName))
                {
                    if (fieldTag == 0U && fieldName != null)
                    {
                        int index = Array.BinarySearch <string>(SmsInfo._smsInfoFieldNames, fieldName, (IComparer <string>)StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            fieldTag = SmsInfo._smsInfoFieldTags[index];
                        }
                        else
                        {
                            if (unknownFields == null)
                            {
                                unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                            continue;
                        }
                    }
                    switch (fieldTag)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                        this.result.hasSmsTemplateId = input.ReadString(ref this.result.smsTemplateId_);
                        continue;

                    case 18:
                        input.ReadMessageArray <SmsContentEntry>(fieldTag, fieldName, (ICollection <SmsContentEntry>) this.result.smsContent_, SmsContentEntry.DefaultInstance, extensionRegistry);
                        continue;

                    case 24:
                        this.result.hasOfflineSendtime = input.ReadInt64(ref this.result.offlineSendtime_);
                        continue;

                    case 32:
                        this.result.hasSmsSendDuration = input.ReadInt64(ref this.result.smsSendDuration_);
                        continue;

                    case 40:
                        this.result.hasSmsChecked = input.ReadBool(ref this.result.smsChecked_);
                        continue;

                    case 50:
                        this.result.hasSmsCheckedErrorMsg = input.ReadString(ref this.result.smsCheckedErrorMsg_);
                        continue;

                    default:
                        if (WireFormat.IsEndGroupTag(fieldTag))
                        {
                            if (unknownFields != null)
                            {
                                this.UnknownFields = unknownFields.Build();
                            }
                            return(this);
                        }
                        if (unknownFields == null)
                        {
                            unknownFields = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, unknownFields, extensionRegistry, fieldTag, fieldName);
                        continue;
                    }
                }
                if (unknownFields != null)
                {
                    this.UnknownFields = unknownFields.Build();
                }
                return(this);
            }
            public override VerifyUserRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(VerifyUserRequest._verifyUserRequestFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = VerifyUserRequest._verifyUserRequestFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x10:
                    {
                        this.result.hasOpcode = input.ReadUInt32(ref this.result.opcode_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasVerifyUserListSize = input.ReadUInt32(ref this.result.verifyUserListSize_);
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder();
                        if (this.result.hasBaseRequest)
                        {
                            builder.MergeFrom(this.BaseRequest);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseRequest = builder.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        input.ReadMessageArray <VerifyUser>(num, str, this.result.verifyUserList_, VerifyUser.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x2a:
                    {
                        this.result.hasVerifyContent = input.ReadString(ref this.result.verifyContent_);
                        continue;
                    }

                    case 0x38:
                    case 0x3a:
                        break;

                    case 0x30:
                    {
                        this.result.hasSceneListNum = input.ReadUInt32(ref this.result.sceneListNum_);
                        continue;
                    }

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    input.ReadUInt32Array(num, str, this.result.sceneList_);
                }
                return(this);
            }
Exemple #15
0
            public override SendMsgResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(SendMsgResponse._sendMsgResponseFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = SendMsgResponse._sendMsgResponseFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder();
                        if (this.result.hasBaseResponse)
                        {
                            builder.MergeFrom(this.BaseResponse);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseResponse = builder.BuildPartial();
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasCount = input.ReadUInt32(ref this.result.count_);
                        continue;
                    }

                    case 0x1a:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    input.ReadMessageArray <MicroMsgResponse>(num, str, this.result.list_, MicroMsgResponse.DefaultInstance, extensionRegistry);
                }
                return(this);
            }
            public override NewInitResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(NewInitResponse._newInitResponseFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = NewInitResponse._newInitResponseFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x12:
                    {
                        SKBuiltinBuffer_t.Builder builder2 = SKBuiltinBuffer_t.CreateBuilder();
                        if (this.result.hasCurrentSynckey)
                        {
                            builder2.MergeFrom(this.CurrentSynckey);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.CurrentSynckey = builder2.BuildPartial();
                        continue;
                    }

                    case 0x1a:
                    {
                        SKBuiltinBuffer_t.Builder builder3 = SKBuiltinBuffer_t.CreateBuilder();
                        if (this.result.hasMaxSynckey)
                        {
                            builder3.MergeFrom(this.MaxSynckey);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.MaxSynckey = builder3.BuildPartial();
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder();
                        if (this.result.hasBaseResponse)
                        {
                            builder.MergeFrom(this.BaseResponse);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseResponse = builder.BuildPartial();
                        continue;
                    }

                    case 0x20:
                    {
                        this.result.hasContinueFlag = input.ReadUInt32(ref this.result.continueFlag_);
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasSelectBitmap = input.ReadUInt32(ref this.result.selectBitmap_);
                        continue;
                    }

                    case 0x30:
                    {
                        this.result.hasCmdCount = input.ReadUInt32(ref this.result.cmdCount_);
                        continue;
                    }

                    case 0x3a:
                    {
                        input.ReadMessageArray <CmdItem>(num, str, this.result.cmdList_, CmdItem.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x40:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasRatio = input.ReadUInt32(ref this.result.ratio_);
                }
                return(this);
            }
        protected override bool ParseUnknownField(ICodedInputStream input, ExtensionRegistry extensionRegistry, uint tag, string fieldName)
        {
            TMessage messageBeingBuilt = this.MessageBeingBuilt;
            FieldSet extensions        = messageBeingBuilt.Extensions;

            WireFormat.WireType tagWireType = WireFormat.GetTagWireType(tag);
            int tagFieldNumber = WireFormat.GetTagFieldNumber(tag);
            IGeneratedExtensionLite generatedExtensionLite = extensionRegistry[this.DefaultInstanceForType, tagFieldNumber];

            if (generatedExtensionLite == null)
            {
                return(input.SkipField());
            }
            IFieldDescriptorLite descriptor = generatedExtensionLite.Descriptor;

            if (descriptor == null)
            {
                return(input.SkipField());
            }
            WireFormat.WireType wireType = descriptor.IsPacked ? WireFormat.WireType.LengthDelimited : WireFormat.GetWireType(descriptor.FieldType);
            if (tagWireType != wireType)
            {
                wireType = WireFormat.GetWireType(descriptor.FieldType);
                if (tagWireType != wireType && (!descriptor.IsRepeated || tagWireType != WireFormat.WireType.LengthDelimited || (wireType != WireFormat.WireType.Varint && wireType != WireFormat.WireType.Fixed32 && wireType != WireFormat.WireType.Fixed64)))
                {
                    return(input.SkipField());
                }
            }
            if (!descriptor.IsRepeated && tagWireType != WireFormat.GetWireType(descriptor.FieldType))
            {
                return(input.SkipField());
            }
            FieldType fieldType = descriptor.FieldType;

            switch (fieldType)
            {
            case FieldType.Group:
            case FieldType.Message:
            {
                if (descriptor.IsRepeated)
                {
                    List <IMessageLite> list = new List <IMessageLite>();
                    if (descriptor.FieldType == FieldType.Group)
                    {
                        input.ReadGroupArray <IMessageLite>(tag, fieldName, list, generatedExtensionLite.MessageDefaultInstance, extensionRegistry);
                    }
                    else
                    {
                        input.ReadMessageArray <IMessageLite>(tag, fieldName, list, generatedExtensionLite.MessageDefaultInstance, extensionRegistry);
                    }
                    using (List <IMessageLite> .Enumerator enumerator = list.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            IMessageLite current = enumerator.Current;
                            extensions.AddRepeatedField(descriptor, current);
                        }
                    }
                    return(true);
                }
                IMessageLite messageLite = extensions[generatedExtensionLite.Descriptor] as IMessageLite;
                IBuilderLite builderLite = (messageLite ?? generatedExtensionLite.MessageDefaultInstance).WeakToBuilder();
                if (descriptor.FieldType == FieldType.Group)
                {
                    input.ReadGroup(descriptor.FieldNumber, builderLite, extensionRegistry);
                }
                else
                {
                    input.ReadMessage(builderLite, extensionRegistry);
                }
                extensions[descriptor] = builderLite.WeakBuild();
                break;
            }

            default:
                if (fieldType == FieldType.Enum)
                {
                    if (!descriptor.IsRepeated)
                    {
                        IEnumLite value = null;
                        object    obj;
                        if (input.ReadEnum(ref value, out obj, descriptor.EnumType))
                        {
                            extensions[descriptor] = value;
                            break;
                        }
                        break;
                    }
                    else
                    {
                        List <IEnumLite>     list2 = new List <IEnumLite>();
                        ICollection <object> collection;
                        input.ReadEnumArray(tag, fieldName, list2, out collection, descriptor.EnumType);
                        using (List <IEnumLite> .Enumerator enumerator2 = list2.GetEnumerator())
                        {
                            while (enumerator2.MoveNext())
                            {
                                IEnumLite current2 = enumerator2.Current;
                                extensions.AddRepeatedField(descriptor, current2);
                            }
                            break;
                        }
                    }
                }
                if (!descriptor.IsRepeated)
                {
                    object value2 = null;
                    if (input.ReadPrimitiveField(descriptor.FieldType, ref value2))
                    {
                        extensions[descriptor] = value2;
                    }
                }
                else
                {
                    List <object> list3 = new List <object>();
                    input.ReadPrimitiveArray(descriptor.FieldType, tag, fieldName, list3);
                    using (List <object> .Enumerator enumerator3 = list3.GetEnumerator())
                    {
                        while (enumerator3.MoveNext())
                        {
                            object current3 = enumerator3.Current;
                            extensions.AddRepeatedField(descriptor, current3);
                        }
                    }
                }
                break;
            }
            return(true);
        }
        protected override bool ParseUnknownField(ICodedInputStream input,
                                                  ExtensionRegistry extensionRegistry, uint tag, string fieldName)
        {
            FieldSet extensions = MessageBeingBuilt.Extensions;

            WireFormat.WireType wireType = WireFormat.GetTagWireType(tag);
            int fieldNumber = WireFormat.GetTagFieldNumber(tag);
            IGeneratedExtensionLite extension = extensionRegistry[DefaultInstanceForType, fieldNumber];

            if (extension == null) //unknown field
            {
                return(input.SkipField());
            }

            IFieldDescriptorLite field = extension.Descriptor;


            // Unknown field or wrong wire type. Skip.
            if (field == null)
            {
                return(input.SkipField());
            }
            WireFormat.WireType expectedType = field.IsPacked
                                                   ? WireFormat.WireType.LengthDelimited
                                                   : WireFormat.GetWireType(field.FieldType);
            if (wireType != expectedType)
            {
                expectedType = WireFormat.GetWireType(field.FieldType);
                if (wireType == expectedType)
                {
                    //Allowed as of 2.3, this is unpacked data for a packed array
                }
                else if (field.IsRepeated && wireType == WireFormat.WireType.LengthDelimited &&
                         (expectedType == WireFormat.WireType.Varint || expectedType == WireFormat.WireType.Fixed32 ||
                          expectedType == WireFormat.WireType.Fixed64))
                {
                    //Allowed as of 2.3, this is packed data for an unpacked array
                }
                else
                {
                    return(input.SkipField());
                }
            }
            if (!field.IsRepeated && wireType != WireFormat.GetWireType(field.FieldType)) //invalid wire type
            {
                return(input.SkipField());
            }

            switch (field.FieldType)
            {
            case FieldType.Group:
            case FieldType.Message:
            {
                if (!field.IsRepeated)
                {
                    IMessageLite message    = extensions[extension.Descriptor] as IMessageLite;
                    IBuilderLite subBuilder = (message ?? extension.MessageDefaultInstance).WeakToBuilder();

                    if (field.FieldType == FieldType.Group)
                    {
                        input.ReadGroup(field.FieldNumber, subBuilder, extensionRegistry);
                    }
                    else
                    {
                        input.ReadMessage(subBuilder, extensionRegistry);
                    }

                    extensions[field] = subBuilder.WeakBuild();
                }
                else
                {
                    List <IMessageLite> list = new List <IMessageLite>();
                    if (field.FieldType == FieldType.Group)
                    {
                        input.ReadGroupArray(tag, fieldName, list, extension.MessageDefaultInstance,
                                             extensionRegistry);
                    }
                    else
                    {
                        input.ReadMessageArray(tag, fieldName, list, extension.MessageDefaultInstance,
                                               extensionRegistry);
                    }

                    foreach (IMessageLite m in list)
                    {
                        extensions.AddRepeatedField(field, m);
                    }
                    return(true);
                }
                break;
            }

            case FieldType.Enum:
            {
                if (!field.IsRepeated)
                {
                    object    unknown;
                    IEnumLite value = null;
                    if (input.ReadEnum(ref value, out unknown, field.EnumType))
                    {
                        extensions[field] = value;
                    }
                }
                else
                {
                    ICollection <object> unknown;
                    List <IEnumLite>     list = new List <IEnumLite>();
                    input.ReadEnumArray(tag, fieldName, list, out unknown, field.EnumType);

                    foreach (IEnumLite en in list)
                    {
                        extensions.AddRepeatedField(field, en);
                    }
                }
                break;
            }

            default:
            {
                if (!field.IsRepeated)
                {
                    object value = null;
                    if (input.ReadPrimitiveField(field.FieldType, ref value))
                    {
                        extensions[field] = value;
                    }
                }
                else
                {
                    List <object> list = new List <object>();
                    input.ReadPrimitiveArray(field.FieldType, tag, fieldName, list);
                    foreach (object oval in list)
                    {
                        extensions.AddRepeatedField(field, oval);
                    }
                }
                break;
            }
            }

            return(true);
        }
Exemple #19
0
            public override Avatar.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(ref num, ref str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(Avatar._avatarFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = Avatar._avatarFieldTags[index];
                        }
                        else
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        Vector.Builder builder2 = Vector.CreateBuilder();
                        if (this.result.hasPos)
                        {
                            builder2.MergeFrom(this.Pos);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.Pos = builder2.BuildPartial();
                        continue;
                    }

                    case 0x12:
                    {
                        Quaternion.Builder builder3 = Quaternion.CreateBuilder();
                        if (this.result.hasAng)
                        {
                            builder3.MergeFrom(this.Ang);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.Ang = builder3.BuildPartial();
                        continue;
                    }

                    case 0x1a:
                    {
                        RustProto.Vitals.Builder builder4 = RustProto.Vitals.CreateBuilder();
                        if (this.result.hasVitals)
                        {
                            builder4.MergeFrom(this.Vitals);
                        }
                        input.ReadMessage(builder4, extensionRegistry);
                        this.Vitals = builder4.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        input.ReadMessageArray <Blueprint>(num, str, this.result.blueprints_, Blueprint.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x2a:
                    {
                        input.ReadMessageArray <Item>(num, str, this.result.inventory_, Item.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 50:
                    {
                        input.ReadMessageArray <Item>(num, str, this.result.wearable_, Item.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x3a:
                    {
                        input.ReadMessageArray <Item>(num, str, this.result.belt_, Item.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x42:
                    {
                        RustProto.AwayEvent.Builder builder5 = RustProto.AwayEvent.CreateBuilder();
                        if (this.result.hasAwayEvent)
                        {
                            builder5.MergeFrom(this.AwayEvent);
                        }
                        input.ReadMessage(builder5, extensionRegistry);
                        this.AwayEvent = builder5.BuildPartial();
                        continue;
                    }
                    }
                    if (WireFormat.IsEndGroupTag(num))
                    {
                        if (builder != null)
                        {
                            this.set_UnknownFields(builder.Build());
                        }
                        return(this);
                    }
                    if (builder == null)
                    {
                        builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                    }
                    this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                }
                if (builder != null)
                {
                    this.set_UnknownFields(builder.Build());
                }
                return(this);
            }
Exemple #20
0
            // Token: 0x06000F3D RID: 3901 RVA: 0x0003A68C File Offset: 0x0003888C
            public override WorldSave.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                uint   num;
                string text;

                while (input.ReadTag(ref num, ref text))
                {
                    if (num == 0u && text != null)
                    {
                        int num2 = Array.BinarySearch <string>(WorldSave._worldSaveFieldNames, text, StringComparer.Ordinal);
                        if (num2 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                            continue;
                        }
                        num = WorldSave._worldSaveFieldTags[num2];
                    }
                    uint num3 = num;
                    if (num3 == 0u)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num3 != 10u)
                    {
                        if (num3 != 18u)
                        {
                            if (WireFormat.IsEndGroupTag(num))
                            {
                                if (builder != null)
                                {
                                    this.UnknownFields = builder.Build();
                                }
                                return(this);
                            }
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                        }
                        else
                        {
                            input.ReadMessageArray <SavedObject>(num, text, this.result.instanceObject_, SavedObject.DefaultInstance, extensionRegistry);
                        }
                    }
                    else
                    {
                        input.ReadMessageArray <SavedObject>(num, text, this.result.sceneObject_, SavedObject.DefaultInstance, extensionRegistry);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
Exemple #21
0
            public override RustProto.Avatar.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(out num, out str))
                {
                    if (num == 0 && str != null)
                    {
                        int num1 = Array.BinarySearch <string>(RustProto.Avatar._avatarFieldNames, str, StringComparer.Ordinal);
                        if (num1 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                        else
                        {
                            num = RustProto.Avatar._avatarFieldTags[num1];
                        }
                    }
                    uint num2 = num;
                    if (num2 == 0)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num2 == 10)
                    {
                        Vector.Builder builder1 = Vector.CreateBuilder();
                        if (this.result.hasPos)
                        {
                            builder1.MergeFrom(this.Pos);
                        }
                        input.ReadMessage(builder1, extensionRegistry);
                        this.Pos = builder1.BuildPartial();
                    }
                    else if (num2 == 18)
                    {
                        Quaternion.Builder builder2 = Quaternion.CreateBuilder();
                        if (this.result.hasAng)
                        {
                            builder2.MergeFrom(this.Ang);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.Ang = builder2.BuildPartial();
                    }
                    else if (num2 == 26)
                    {
                        RustProto.Vitals.Builder builder3 = RustProto.Vitals.CreateBuilder();
                        if (this.result.hasVitals)
                        {
                            builder3.MergeFrom(this.Vitals);
                        }
                        input.ReadMessage(builder3, extensionRegistry);
                        this.Vitals = builder3.BuildPartial();
                    }
                    else if (num2 == 34)
                    {
                        input.ReadMessageArray <RustProto.Blueprint>(num, str, this.result.blueprints_, RustProto.Blueprint.DefaultInstance, extensionRegistry);
                    }
                    else if (num2 == 42)
                    {
                        input.ReadMessageArray <RustProto.Item>(num, str, this.result.inventory_, RustProto.Item.DefaultInstance, extensionRegistry);
                    }
                    else if (num2 == 50)
                    {
                        input.ReadMessageArray <RustProto.Item>(num, str, this.result.wearable_, RustProto.Item.DefaultInstance, extensionRegistry);
                    }
                    else if (num2 == 58)
                    {
                        input.ReadMessageArray <RustProto.Item>(num, str, this.result.belt_, RustProto.Item.DefaultInstance, extensionRegistry);
                    }
                    else if (num2 == 66)
                    {
                        RustProto.AwayEvent.Builder builder4 = RustProto.AwayEvent.CreateBuilder();
                        if (this.result.hasAwayEvent)
                        {
                            builder4.MergeFrom(this.AwayEvent);
                        }
                        input.ReadMessage(builder4, extensionRegistry);
                        this.AwayEvent = builder4.BuildPartial();
                    }
                    else
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.UnknownFields = builder.Build();
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
            public override SnsUserPageResponse.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(SnsUserPageResponse._snsUserPageResponseFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = SnsUserPageResponse._snsUserPageResponseFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0x12:
                    {
                        this.result.hasFirstPageMd5 = input.ReadString(ref this.result.firstPageMd5_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasObjectCount = input.ReadUInt32(ref this.result.objectCount_);
                        continue;
                    }

                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseResponse.Builder builder = micromsg.BaseResponse.CreateBuilder();
                        if (this.result.hasBaseResponse)
                        {
                            builder.MergeFrom(this.BaseResponse);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseResponse = builder.BuildPartial();
                        continue;
                    }

                    case 0x22:
                    {
                        input.ReadMessageArray <SnsObject>(num, str, this.result.objectList_, SnsObject.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 40:
                    {
                        this.result.hasObjectTotalCount = input.ReadUInt32(ref this.result.objectTotalCount_);
                        continue;
                    }

                    case 50:
                    {
                        micromsg.SnsUserInfo.Builder builder2 = micromsg.SnsUserInfo.CreateBuilder();
                        if (this.result.hasSnsUserInfo)
                        {
                            builder2.MergeFrom(this.SnsUserInfo);
                        }
                        input.ReadMessage(builder2, extensionRegistry);
                        this.SnsUserInfo = builder2.BuildPartial();
                        continue;
                    }

                    case 0x38:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasNewRequestTime = input.ReadUInt32(ref this.result.newRequestTime_);
                }
                return(this);
            }
Exemple #23
0
 // Token: 0x06000C2F RID: 3119 RVA: 0x0001CD0C File Offset: 0x0001AF0C
 public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
 {
     PrepareBuilder();
     UnknownFieldSet.Builder builder = null;
     while (input.ReadTag(out uint num, out string text))
     {
         if (num == 0U && text != null)
         {
             int num2 = Array.BinarySearch(_smsInfoFieldNames, text, StringComparer.Ordinal);
             if (num2 < 0)
             {
                 if (builder == null)
                 {
                     builder = UnknownFieldSet.CreateBuilder(UnknownFields);
                 }
                 ParseUnknownField(input, builder, extensionRegistry, num, text);
                 continue;
             }
             num = _smsInfoFieldTags[num2];
         }
         if (num <= 18U)
         {
             if (num == 0U)
             {
                 throw InvalidProtocolBufferException.InvalidTag();
             }
             if (num == 10U)
             {
                 result.HasSmsTemplateId = input.ReadString(ref result.smsTemplateId_);
                 continue;
             }
             if (num == 18U)
             {
                 input.ReadMessageArray(num, text, result.smsContent_, SmsContentEntry.DefaultInstance, extensionRegistry);
                 continue;
             }
         }
         else if (num <= 32U)
         {
             if (num == 24U)
             {
                 result.HasOfflineSendtime = input.ReadInt64(ref result.offlineSendtime_);
                 continue;
             }
             if (num == 32U)
             {
                 result.HasSmsSendDuration = input.ReadInt64(ref result.smsSendDuration_);
                 continue;
             }
         }
         else
         {
             if (num == 40U)
             {
                 result.HasSmsChecked = input.ReadBool(ref result.smsChecked_);
                 continue;
             }
             if (num == 50U)
             {
                 result.HasSmsCheckedErrorMsg = input.ReadString(ref result.smsCheckedErrorMsg_);
                 continue;
             }
         }
         if (WireFormat.IsEndGroupTag(num))
         {
             if (builder != null)
             {
                 UnknownFields = builder.Build();
             }
             return(this);
         }
         if (builder == null)
         {
             builder = UnknownFieldSet.CreateBuilder(UnknownFields);
         }
         ParseUnknownField(input, builder, extensionRegistry, num, text);
     }
     if (builder != null)
     {
         UnknownFields = builder.Build();
     }
     return(this);
 }
 // Token: 0x060009D0 RID: 2512 RVA: 0x0001762C File Offset: 0x0001582C
 public override Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
 {
     PrepareBuilder();
     UnknownFieldSet.Builder builder = null;
     while (input.ReadTag(out uint num, out string text))
     {
         if (num == 0U && text != null)
         {
             int num2 = Array.BinarySearch(_transparentFieldNames, text, StringComparer.Ordinal);
             if (num2 < 0)
             {
                 if (builder == null)
                 {
                     builder = UnknownFieldSet.CreateBuilder(UnknownFields);
                 }
                 ParseUnknownField(input, builder, extensionRegistry, num, text);
                 continue;
             }
             num = _transparentFieldTags[num2];
         }
         if (num <= 42U)
         {
             if (num <= 18U)
             {
                 if (num == 0U)
                 {
                     throw InvalidProtocolBufferException.InvalidTag();
                 }
                 if (num == 10U)
                 {
                     result.HasId = input.ReadString(ref result.id_);
                     continue;
                 }
                 if (num == 18U)
                 {
                     result.HasAction = input.ReadString(ref result.action_);
                     continue;
                 }
             }
             else
             {
                 if (num == 26U)
                 {
                     result.HasTaskId = input.ReadString(ref result.taskId_);
                     continue;
                 }
                 if (num == 34U)
                 {
                     result.HasAppKey = input.ReadString(ref result.appKey_);
                     continue;
                 }
                 if (num == 42U)
                 {
                     result.HasAppId = input.ReadString(ref result.appId_);
                     continue;
                 }
             }
         }
         else if (num <= 66U)
         {
             if (num == 50U)
             {
                 result.HasMessageId = input.ReadString(ref result.messageId_);
                 continue;
             }
             if (num == 58U)
             {
                 PushInfo.Builder builder2 = PushInfo.CreateBuilder();
                 if (result.HasPushInfo)
                 {
                     builder2.MergeFrom(PushInfo);
                 }
                 input.ReadMessage(builder2, extensionRegistry);
                 PushInfo = builder2.BuildPartial();
                 continue;
             }
             if (num == 66U)
             {
                 input.ReadMessageArray(num, text, result.actionChain_, ActionChain.DefaultInstance, extensionRegistry);
                 continue;
             }
         }
         else if (num <= 80U)
         {
             if (num == 74U)
             {
                 input.ReadStringArray(num, text, result.condition_);
                 continue;
             }
             if (num == 80U)
             {
                 result.HasTemplateId = input.ReadInt32(ref result.templateId_);
                 continue;
             }
         }
         else
         {
             if (num == 90U)
             {
                 result.HasTaskGroupId = input.ReadString(ref result.taskGroupId_);
                 continue;
             }
             if (num == 98U)
             {
                 SmsInfo.Builder builder3 = SmsInfo.CreateBuilder();
                 if (result.HasSmsInfo)
                 {
                     builder3.MergeFrom(SmsInfo);
                 }
                 input.ReadMessage(builder3, extensionRegistry);
                 SmsInfo = builder3.BuildPartial();
                 continue;
             }
         }
         if (WireFormat.IsEndGroupTag(num))
         {
             if (builder != null)
             {
                 UnknownFields = builder.Build();
             }
             return(this);
         }
         if (builder == null)
         {
             builder = UnknownFieldSet.CreateBuilder(UnknownFields);
         }
         ParseUnknownField(input, builder, extensionRegistry, num, text);
     }
     if (builder != null)
     {
         UnknownFields = builder.Build();
     }
     return(this);
 }
Exemple #25
0
            // Token: 0x06001075 RID: 4213 RVA: 0x0003D83C File Offset: 0x0003BA3C
            public override RustProto.Item.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                uint   num;
                string text;

                while (input.ReadTag(ref num, ref text))
                {
                    if (num == 0u && text != null)
                    {
                        int num2 = Array.BinarySearch <string>(RustProto.Item._itemFieldNames, text, StringComparer.Ordinal);
                        if (num2 < 0)
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                            continue;
                        }
                        num = RustProto.Item._itemFieldTags[num2];
                    }
                    uint num3 = num;
                    if (num3 == 0u)
                    {
                        throw InvalidProtocolBufferException.InvalidTag();
                    }
                    if (num3 != 8u)
                    {
                        if (num3 != 18u)
                        {
                            if (num3 != 24u)
                            {
                                if (num3 != 32u)
                                {
                                    if (num3 != 42u)
                                    {
                                        if (num3 != 48u)
                                        {
                                            if (num3 != 61u)
                                            {
                                                if (num3 != 69u)
                                                {
                                                    if (WireFormat.IsEndGroupTag(num))
                                                    {
                                                        if (builder != null)
                                                        {
                                                            this.UnknownFields = builder.Build();
                                                        }
                                                        return(this);
                                                    }
                                                    if (builder == null)
                                                    {
                                                        builder = UnknownFieldSet.CreateBuilder(this.UnknownFields);
                                                    }
                                                    this.ParseUnknownField(input, builder, extensionRegistry, num, text);
                                                }
                                                else
                                                {
                                                    this.result.hasMaxcondition = input.ReadFloat(ref this.result.maxcondition_);
                                                }
                                            }
                                            else
                                            {
                                                this.result.hasCondition = input.ReadFloat(ref this.result.condition_);
                                            }
                                        }
                                        else
                                        {
                                            this.result.hasSubslots = input.ReadInt32(ref this.result.subslots_);
                                        }
                                    }
                                    else
                                    {
                                        input.ReadMessageArray <RustProto.Item>(num, text, this.result.subitem_, RustProto.Item.DefaultInstance, extensionRegistry);
                                    }
                                }
                                else
                                {
                                    this.result.hasCount = input.ReadInt32(ref this.result.count_);
                                }
                            }
                            else
                            {
                                this.result.hasSlot = input.ReadInt32(ref this.result.slot_);
                            }
                        }
                        else
                        {
                            this.result.hasName = input.ReadString(ref this.result.name_);
                        }
                    }
                    else
                    {
                        this.result.hasId = input.ReadInt32(ref this.result.id_);
                    }
                }
                if (builder != null)
                {
                    this.UnknownFields = builder.Build();
                }
                return(this);
            }
Exemple #26
0
            public override Item.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                UnknownFieldSet.Builder builder = null;
                while (input.ReadTag(ref num, ref str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(Item._itemFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = Item._itemFieldTags[index];
                        }
                        else
                        {
                            if (builder == null)
                            {
                                builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                            }
                            this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 8:
                    {
                        this.result.hasId = input.ReadInt32(ref this.result.id_);
                        continue;
                    }

                    case 0x12:
                    {
                        this.result.hasName = input.ReadString(ref this.result.name_);
                        continue;
                    }

                    case 0x18:
                    {
                        this.result.hasSlot = input.ReadInt32(ref this.result.slot_);
                        continue;
                    }

                    case 0x20:
                    {
                        this.result.hasCount = input.ReadInt32(ref this.result.count_);
                        continue;
                    }

                    case 0x2a:
                    {
                        input.ReadMessageArray <Item>(num, str, this.result.subitem_, Item.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 0x30:
                    {
                        this.result.hasSubslots = input.ReadInt32(ref this.result.subslots_);
                        continue;
                    }

                    case 0x3d:
                    {
                        this.result.hasCondition = input.ReadFloat(ref this.result.condition_);
                        continue;
                    }

                    case 0x45:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            if (builder != null)
                            {
                                this.set_UnknownFields(builder.Build());
                            }
                            return(this);
                        }
                        if (builder == null)
                        {
                            builder = UnknownFieldSet.CreateBuilder(this.get_UnknownFields());
                        }
                        this.ParseUnknownField(input, builder, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasMaxcondition = input.ReadFloat(ref this.result.maxcondition_);
                }
                if (builder != null)
                {
                    this.set_UnknownFields(builder.Build());
                }
                return(this);
            }
Exemple #27
0
            public override GroupCardRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
            {
                uint   num;
                string str;

                this.PrepareBuilder();
                while (input.ReadTag(out num, out str))
                {
                    if ((num == 0) && (str != null))
                    {
                        int index = Array.BinarySearch <string>(GroupCardRequest._groupCardRequestFieldNames, str, StringComparer.Ordinal);
                        if (index >= 0)
                        {
                            num = GroupCardRequest._groupCardRequestFieldTags[index];
                        }
                        else
                        {
                            this.ParseUnknownField(input, extensionRegistry, num, str);
                            continue;
                        }
                    }
                    switch (num)
                    {
                    case 0:
                        throw InvalidProtocolBufferException.InvalidTag();

                    case 10:
                    {
                        micromsg.BaseRequest.Builder builder = micromsg.BaseRequest.CreateBuilder();
                        if (this.result.hasBaseRequest)
                        {
                            builder.MergeFrom(this.BaseRequest);
                        }
                        input.ReadMessage(builder, extensionRegistry);
                        this.BaseRequest = builder.BuildPartial();
                        continue;
                    }

                    case 0x10:
                    {
                        this.result.hasOpCode = input.ReadUInt32(ref this.result.opCode_);
                        continue;
                    }

                    case 0x1a:
                    {
                        this.result.hasGroupNickName = input.ReadString(ref this.result.groupNickName_);
                        continue;
                    }

                    case 0x20:
                    {
                        this.result.hasMemberCount = input.ReadUInt32(ref this.result.memberCount_);
                        continue;
                    }

                    case 0x2a:
                    {
                        input.ReadMessageArray <RoomInfo>(num, str, this.result.memberList_, RoomInfo.DefaultInstance, extensionRegistry);
                        continue;
                    }

                    case 50:
                        break;

                    default:
                    {
                        if (WireFormat.IsEndGroupTag(num))
                        {
                            return(this);
                        }
                        this.ParseUnknownField(input, extensionRegistry, num, str);
                        continue;
                    }
                    }
                    this.result.hasGroupUserName = input.ReadString(ref this.result.groupUserName_);
                }
                return(this);
            }