public static Friend DeserializeLengthDelimited(Stream stream)
        {
            Friend friend = new Friend();

            Friend.DeserializeLengthDelimited(stream, friend);
            return(friend);
        }
Exemple #2
0
 public static UpdateFriendStateNotification Deserialize(Stream stream, UpdateFriendStateNotification instance, long limit)
 {
     while (true)
     {
         if (limit < (long)0 || stream.Position < limit)
         {
             int num = stream.ReadByte();
             if (num == -1)
             {
                 if (limit >= (long)0)
                 {
                     throw new EndOfStreamException();
                 }
                 break;
             }
             else if (num == 10)
             {
                 if (instance.ChangedFriend != null)
                 {
                     Friend.DeserializeLengthDelimited(stream, instance.ChangedFriend);
                 }
                 else
                 {
                     instance.ChangedFriend = Friend.DeserializeLengthDelimited(stream);
                 }
             }
             else if (num != 18)
             {
                 Key key = ProtocolParser.ReadKey((byte)num, stream);
                 if (key.Field == 0)
                 {
                     throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                 }
                 ProtocolParser.SkipKey(stream, key);
             }
             else if (instance.GameAccountId != null)
             {
                 EntityId.DeserializeLengthDelimited(stream, instance.GameAccountId);
             }
             else
             {
                 instance.GameAccountId = EntityId.DeserializeLengthDelimited(stream);
             }
         }
         else
         {
             if (stream.Position != limit)
             {
                 throw new ProtocolBufferException("Read past max limit");
             }
             break;
         }
     }
     return(instance);
 }
Exemple #3
0
 public static FriendNotification Deserialize(Stream stream, FriendNotification instance, long limit)
 {
     while (limit < 0L || stream.get_Position() < limit)
     {
         int num = stream.ReadByte();
         if (num == -1)
         {
             if (limit >= 0L)
             {
                 throw new EndOfStreamException();
             }
             return(instance);
         }
         else
         {
             int num2 = num;
             if (num2 != 10)
             {
                 if (num2 != 18)
                 {
                     Key  key   = ProtocolParser.ReadKey((byte)num, stream);
                     uint field = key.Field;
                     if (field == 0u)
                     {
                         throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                     }
                     ProtocolParser.SkipKey(stream, key);
                 }
                 else if (instance.GameAccountId == null)
                 {
                     instance.GameAccountId = EntityId.DeserializeLengthDelimited(stream);
                 }
                 else
                 {
                     EntityId.DeserializeLengthDelimited(stream, instance.GameAccountId);
                 }
             }
             else if (instance.Target == null)
             {
                 instance.Target = Friend.DeserializeLengthDelimited(stream);
             }
             else
             {
                 Friend.DeserializeLengthDelimited(stream, instance.Target);
             }
         }
     }
     if (stream.get_Position() == limit)
     {
         return(instance);
     }
     throw new ProtocolBufferException("Read past max limit");
 }
Exemple #4
0
 public static GenericFriendResponse Deserialize(Stream stream, GenericFriendResponse instance, long limit)
 {
     while (true)
     {
         if (limit < (long)0 || stream.Position < limit)
         {
             int num = stream.ReadByte();
             if (num == -1)
             {
                 if (limit >= (long)0)
                 {
                     throw new EndOfStreamException();
                 }
                 break;
             }
             else if (num != 10)
             {
                 Key key = ProtocolParser.ReadKey((byte)num, stream);
                 if (key.Field == 0)
                 {
                     throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                 }
                 ProtocolParser.SkipKey(stream, key);
             }
             else if (instance.TargetFriend != null)
             {
                 Friend.DeserializeLengthDelimited(stream, instance.TargetFriend);
             }
             else
             {
                 instance.TargetFriend = Friend.DeserializeLengthDelimited(stream);
             }
         }
         else
         {
             if (stream.Position != limit)
             {
                 throw new ProtocolBufferException("Read past max limit");
             }
             break;
         }
     }
     return(instance);
 }
Exemple #5
0
 public static ViewFriendsResponse Deserialize(Stream stream, ViewFriendsResponse instance, long limit)
 {
     if (instance.Friends == null)
     {
         instance.Friends = new List <Friend>();
     }
     while (limit < 0L || stream.get_Position() < limit)
     {
         int num = stream.ReadByte();
         if (num == -1)
         {
             if (limit >= 0L)
             {
                 throw new EndOfStreamException();
             }
             return(instance);
         }
         else
         {
             int num2 = num;
             if (num2 != 10)
             {
                 Key  key   = ProtocolParser.ReadKey((byte)num, stream);
                 uint field = key.Field;
                 if (field == 0u)
                 {
                     throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                 }
                 ProtocolParser.SkipKey(stream, key);
             }
             else
             {
                 instance.Friends.Add(Friend.DeserializeLengthDelimited(stream));
             }
         }
     }
     if (stream.get_Position() == limit)
     {
         return(instance);
     }
     throw new ProtocolBufferException("Read past max limit");
 }
 public static SubscribeToFriendsResponse Deserialize(Stream stream, SubscribeToFriendsResponse instance, long limit)
 {
     if (instance.Role == null)
     {
         instance.Role = new List <bnet.protocol.Role>();
     }
     if (instance.Friends == null)
     {
         instance.Friends = new List <Friend>();
     }
     if (instance.SentInvitations == null)
     {
         instance.SentInvitations = new List <Invitation>();
     }
     if (instance.ReceivedInvitations == null)
     {
         instance.ReceivedInvitations = new List <Invitation>();
     }
     while (true)
     {
         if (limit < (long)0 || stream.Position < limit)
         {
             int num = stream.ReadByte();
             if (num == -1)
             {
                 if (limit >= (long)0)
                 {
                     throw new EndOfStreamException();
                 }
                 break;
             }
             else if (num == 8)
             {
                 instance.MaxFriends = ProtocolParser.ReadUInt32(stream);
             }
             else if (num == 16)
             {
                 instance.MaxReceivedInvitations = ProtocolParser.ReadUInt32(stream);
             }
             else if (num == 24)
             {
                 instance.MaxSentInvitations = ProtocolParser.ReadUInt32(stream);
             }
             else if (num == 34)
             {
                 instance.Role.Add(bnet.protocol.Role.DeserializeLengthDelimited(stream));
             }
             else if (num == 42)
             {
                 instance.Friends.Add(Friend.DeserializeLengthDelimited(stream));
             }
             else if (num == 50)
             {
                 instance.SentInvitations.Add(Invitation.DeserializeLengthDelimited(stream));
             }
             else if (num == 58)
             {
                 instance.ReceivedInvitations.Add(Invitation.DeserializeLengthDelimited(stream));
             }
             else
             {
                 Key key = ProtocolParser.ReadKey((byte)num, stream);
                 if (key.Field == 0)
                 {
                     throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream");
                 }
                 ProtocolParser.SkipKey(stream, key);
             }
         }
         else
         {
             if (stream.Position != limit)
             {
                 throw new ProtocolBufferException("Read past max limit");
             }
             break;
         }
     }
     return(instance);
 }