// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// Top level details about an active session /// public struct ActiveSessionInfo { /// /// Name of the session /// public Utf8String SessionName { get; set; } /// /// The Product User ID of the local user who created or joined the session /// public ProductUserId LocalUserId { get; set; } /// /// Current state of the session /// public OnlineSessionState State { get; set; } /// /// Session details /// public SessionDetailsInfo? SessionDetails { get; set; } internal void Set(ref ActiveSessionInfoInternal other) { SessionName = other.SessionName; LocalUserId = other.LocalUserId; State = other.State; SessionDetails = other.SessionDetails; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct ActiveSessionInfoInternal : IGettable, ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_SessionName; private System.IntPtr m_LocalUserId; private OnlineSessionState m_State; private System.IntPtr m_SessionDetails; public Utf8String SessionName { get { Utf8String value; Helper.Get(m_SessionName, out value); return value; } set { Helper.Set(value, ref m_SessionName); } } public ProductUserId LocalUserId { get { ProductUserId value; Helper.Get(m_LocalUserId, out value); return value; } set { Helper.Set(value, ref m_LocalUserId); } } public OnlineSessionState State { get { return m_State; } set { m_State = value; } } public SessionDetailsInfo? SessionDetails { get { SessionDetailsInfo? value; Helper.Get(m_SessionDetails, out value); return value; } set { Helper.Set(ref value, ref m_SessionDetails); } } public void Set(ref ActiveSessionInfo other) { m_ApiVersion = ActiveSession.ActivesessionCopyinfoApiLatest; SessionName = other.SessionName; LocalUserId = other.LocalUserId; State = other.State; SessionDetails = other.SessionDetails; } public void Set(ref ActiveSessionInfo? other) { if (other.HasValue) { m_ApiVersion = ActiveSession.ActivesessionCopyinfoApiLatest; SessionName = other.Value.SessionName; LocalUserId = other.Value.LocalUserId; State = other.Value.State; SessionDetails = other.Value.SessionDetails; } } public void Dispose() { Helper.Dispose(ref m_SessionName); Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_SessionDetails); } public void Get(out ActiveSessionInfo output) { output = new ActiveSessionInfo(); output.Set(ref this); } } }