public static void Serialize(Stream stream, InvitationParams instance) { if (instance.HasInvitationMessage) { stream.WriteByte(10); ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.InvitationMessage)); } if (instance.HasExpirationTime) { stream.WriteByte(16); ProtocolParser.WriteUInt64(stream, instance.ExpirationTime); } if (instance.HasChannelParams) { stream.WriteByte(202); stream.WriteByte(6); ProtocolParser.WriteUInt32(stream, instance.ChannelParams.GetSerializedSize()); ChannelInvitationParams.Serialize(stream, instance.ChannelParams); } if (instance.HasFriendParams) { stream.WriteByte(186); stream.WriteByte(6); ProtocolParser.WriteUInt32(stream, instance.FriendParams.GetSerializedSize()); FriendInvitationParams.Serialize(stream, instance.FriendParams); } }
public void SendInvitation(EntityId channelId, EntityId entityId, ChannelAPI.InvitationServiceType serviceType, RPCContextDelegate callback) { SendInvitationRequest sendInvitationRequest = new SendInvitationRequest(); sendInvitationRequest.SetTargetId(entityId); InvitationParams invitationParams = new InvitationParams(); ChannelInvitationParams channelInvitationParams = new ChannelInvitationParams(); channelInvitationParams.SetChannelId(channelId); channelInvitationParams.SetServiceType((uint)serviceType); invitationParams.SetChannelParams(channelInvitationParams); sendInvitationRequest.SetParams(invitationParams); this.m_rpcConnection.QueueRequest(ChannelAPI.m_channelInvitationService.Id, 3u, sendInvitationRequest, callback, 0u); }
public void SetChannelParams(ChannelInvitationParams val) { this.ChannelParams = val; }
public static InvitationParams Deserialize(Stream stream, InvitationParams instance, long limit) { instance.ExpirationTime = 0UL; while (limit < 0L || stream.Position < limit) { int num = stream.ReadByte(); if (num == -1) { if (limit >= 0L) { throw new EndOfStreamException(); } return(instance); } else if (num != 10) { if (num != 16) { Key key = ProtocolParser.ReadKey((byte)num, stream); uint field = key.Field; switch (field) { case 103u: if (key.WireType == Wire.LengthDelimited) { if (instance.FriendParams == null) { instance.FriendParams = FriendInvitationParams.DeserializeLengthDelimited(stream); } else { FriendInvitationParams.DeserializeLengthDelimited(stream, instance.FriendParams); } } break; default: if (field == 0u) { throw new ProtocolBufferException("Invalid field id: 0, something went wrong in the stream"); } ProtocolParser.SkipKey(stream, key); break; case 105u: if (key.WireType == Wire.LengthDelimited) { if (instance.ChannelParams == null) { instance.ChannelParams = ChannelInvitationParams.DeserializeLengthDelimited(stream); } else { ChannelInvitationParams.DeserializeLengthDelimited(stream, instance.ChannelParams); } } break; } } else { instance.ExpirationTime = ProtocolParser.ReadUInt64(stream); } } else { instance.InvitationMessage = ProtocolParser.ReadString(stream); } } if (stream.Position == limit) { return(instance); } throw new ProtocolBufferException("Read past max limit"); }