// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// Internal details about a session, found on both active sessions and within search results /// public class SessionDetailsInfo : ISettable { /// /// Session ID assigned by the backend service /// public string SessionId { get; set; } /// /// IP address of this session as visible by the backend service /// public string HostAddress { get; set; } /// /// Number of remaining open spaces on the session (NumPublicConnections - RegisteredPlayers /// public uint NumOpenPublicConnections { get; set; } /// /// Reference to the additional settings associated with this session /// public SessionDetailsSettings Settings { get; set; } internal void Set(SessionDetailsInfoInternal? other) { if (other != null) { SessionId = other.Value.SessionId; HostAddress = other.Value.HostAddress; NumOpenPublicConnections = other.Value.NumOpenPublicConnections; Settings = other.Value.Settings; } } public void Set(object other) { Set(other as SessionDetailsInfoInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SessionDetailsInfoInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_SessionId; private System.IntPtr m_HostAddress; private uint m_NumOpenPublicConnections; private System.IntPtr m_Settings; public string SessionId { get { string value; Helper.TryMarshalGet(m_SessionId, out value); return value; } set { Helper.TryMarshalSet(ref m_SessionId, value); } } public string HostAddress { get { string value; Helper.TryMarshalGet(m_HostAddress, out value); return value; } set { Helper.TryMarshalSet(ref m_HostAddress, value); } } public uint NumOpenPublicConnections { get { return m_NumOpenPublicConnections; } set { m_NumOpenPublicConnections = value; } } public SessionDetailsSettings Settings { get { SessionDetailsSettings value; Helper.TryMarshalGet(m_Settings, out value); return value; } set { Helper.TryMarshalSet(ref m_Settings, value); } } public void Set(SessionDetailsInfo other) { if (other != null) { m_ApiVersion = SessionDetails.SessiondetailsInfoApiLatest; SessionId = other.SessionId; HostAddress = other.HostAddress; NumOpenPublicConnections = other.NumOpenPublicConnections; Settings = other.Settings; } } public void Set(object other) { Set(other as SessionDetailsInfo); } public void Dispose() { Helper.TryMarshalDispose(ref m_SessionId); Helper.TryMarshalDispose(ref m_HostAddress); Helper.TryMarshalDispose(ref m_Settings); } } }