// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.RTCAdmin { /// /// Contains information about a collection of user tokens for joining a room. /// public struct UserToken { /// /// The Product User ID for the user who owns this user token. /// public ProductUserId ProductUserId { get; set; } /// /// Access token to enable a user to join a room /// public Utf8String Token { get; set; } internal void Set(ref UserTokenInternal other) { ProductUserId = other.ProductUserId; Token = other.Token; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct UserTokenInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_ProductUserId; private System.IntPtr m_Token; public ProductUserId ProductUserId { get { ProductUserId value; Helper.Get(m_ProductUserId, out value); return value; } set { Helper.Set(value, ref m_ProductUserId); } } public Utf8String Token { get { Utf8String value; Helper.Get(m_Token, out value); return value; } set { Helper.Set(value, ref m_Token); } } public void Set(ref UserToken other) { m_ApiVersion = RTCAdminInterface.UsertokenApiLatest; ProductUserId = other.ProductUserId; Token = other.Token; } public void Set(ref UserToken? other) { if (other.HasValue) { m_ApiVersion = RTCAdminInterface.UsertokenApiLatest; ProductUserId = other.Value.ProductUserId; Token = other.Value.Token; } } public void Dispose() { Helper.Dispose(ref m_ProductUserId); Helper.Dispose(ref m_Token); } public void Get(out UserToken output) { output = new UserToken(); output.Set(ref this); } } }