// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.RTCAdmin { /// /// Input parameters for the function. /// public struct QueryJoinRoomTokenOptions { /// /// Product User ID for local user who is querying join room tokens. /// public ProductUserId LocalUserId { get; set; } /// /// Room name to request a token for. /// public Utf8String RoomName { get; set; } /// /// An array of Product User IDs indicating the users to retrieve a token for. /// public ProductUserId[] TargetUserIds { get; set; } /// /// Array of IP Addresses, one for each of the users we're querying tokens for. /// There should be TargetUserIdsCount Ip Addresses, you can set an entry to if not known. /// If TargetUserIpAddresses is set to IP Addresses will be ignored. /// IPv4 format: "0.0.0.0" /// IPv6 format: "0:0:0:0:0:0:0:0" /// public Utf8String TargetUserIpAddresses { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct QueryJoinRoomTokenOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_LocalUserId; private System.IntPtr m_RoomName; private System.IntPtr m_TargetUserIds; private uint m_TargetUserIdsCount; private System.IntPtr m_TargetUserIpAddresses; public ProductUserId LocalUserId { set { Helper.Set(value, ref m_LocalUserId); } } public Utf8String RoomName { set { Helper.Set(value, ref m_RoomName); } } public ProductUserId[] TargetUserIds { set { Helper.Set(value, ref m_TargetUserIds, out m_TargetUserIdsCount); } } public Utf8String TargetUserIpAddresses { set { Helper.Set(value, ref m_TargetUserIpAddresses); } } public void Set(ref QueryJoinRoomTokenOptions other) { m_ApiVersion = RTCAdminInterface.QueryjoinroomtokenApiLatest; LocalUserId = other.LocalUserId; RoomName = other.RoomName; TargetUserIds = other.TargetUserIds; TargetUserIpAddresses = other.TargetUserIpAddresses; } public void Set(ref QueryJoinRoomTokenOptions? other) { if (other.HasValue) { m_ApiVersion = RTCAdminInterface.QueryjoinroomtokenApiLatest; LocalUserId = other.Value.LocalUserId; RoomName = other.Value.RoomName; TargetUserIds = other.Value.TargetUserIds; TargetUserIpAddresses = other.Value.TargetUserIpAddresses; } } public void Dispose() { Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_RoomName); Helper.Dispose(ref m_TargetUserIds); Helper.Dispose(ref m_TargetUserIpAddresses); } } }