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 SendFriendInvite(string sender, string target, bool byEmail) { if (this.m_state == FriendsAPIState.INITIALIZED) { SendInvitationRequest request = new SendInvitationRequest(); EntityId val = new EntityId(); val.SetLow(0L); val.SetHigh(0L); request.SetTargetId(val); InvitationParams @params = new InvitationParams(); FriendInvitationParams params2 = new FriendInvitationParams(); if (byEmail) { params2.SetTargetEmail(target); params2.AddRole(2); } else { params2.SetTargetBattleTag(target); params2.AddRole(1); } @params.SetFriendParams(params2); request.SetParams(@params); SendInvitationRequest message = request; if (!message.IsInitialized) { base.ApiLog.LogWarning("Battle.net Friends API C#: Failed to SendFriendInvite."); } else { base.m_rpcConnection.QueueRequest(this.m_friendsService.Id, 2, message, new RPCContextDelegate(this.SendInvitationCallback), 0); } } }
public void SendFriendInvite(string sender, string target, bool byEmail) { if (this.m_state != FriendsAPI.FriendsAPIState.INITIALIZED) { return; } SendInvitationRequest sendInvitationRequest = new SendInvitationRequest(); bnet.protocol.EntityId entityId = new bnet.protocol.EntityId(); entityId.SetLow((ulong)0); entityId.SetHigh((ulong)0); sendInvitationRequest.SetTargetId(entityId); InvitationParams invitationParam = new InvitationParams(); FriendInvitationParams friendInvitationParam = new FriendInvitationParams(); if (!byEmail) { friendInvitationParam.SetTargetBattleTag(target); friendInvitationParam.AddRole(1); } else { friendInvitationParam.SetTargetEmail(target); friendInvitationParam.AddRole(2); } invitationParam.SetFriendParams(friendInvitationParam); sendInvitationRequest.SetParams(invitationParam); SendInvitationRequest sendInvitationRequest1 = sendInvitationRequest; if (!sendInvitationRequest1.IsInitialized) { base.ApiLog.LogWarning("Battle.net Friends API C#: Failed to SendFriendInvite."); return; } this.m_rpcConnection.QueueRequest(this.m_friendsService.Id, 2, sendInvitationRequest1, new RPCContextDelegate(this.SendInvitationCallback), 0); }
public void SetFriendParams(FriendInvitationParams val) { this.FriendParams = 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"); }