// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// Input parameters for the function. /// public struct JoinSessionOptions { /// /// Name of the session to create after joining session /// public Utf8String SessionName { get; set; } /// /// Session handle to join /// public SessionDetails SessionHandle { get; set; } /// /// The Product User ID of the local user who is joining the session /// public ProductUserId LocalUserId { get; set; } /// /// If true, this session will be associated with presence. Only one session at a time can have this flag true. /// This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. /// The Social Overlay can handle only one of the following three options at a time: /// using the bPresenceEnabled flags within the Sessions interface /// using the bPresenceEnabled flags within the Lobby interface /// using EOS_PresenceModification_SetJoinInfo /// /// /// /// /// public bool PresenceEnabled { get; set; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct JoinSessionOptionsInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_SessionName; private System.IntPtr m_SessionHandle; private System.IntPtr m_LocalUserId; private int m_PresenceEnabled; public Utf8String SessionName { set { Helper.Set(value, ref m_SessionName); } } public SessionDetails SessionHandle { set { Helper.Set(value, ref m_SessionHandle); } } public ProductUserId LocalUserId { set { Helper.Set(value, ref m_LocalUserId); } } public bool PresenceEnabled { set { Helper.Set(value, ref m_PresenceEnabled); } } public void Set(ref JoinSessionOptions other) { m_ApiVersion = SessionsInterface.JoinsessionApiLatest; SessionName = other.SessionName; SessionHandle = other.SessionHandle; LocalUserId = other.LocalUserId; PresenceEnabled = other.PresenceEnabled; } public void Set(ref JoinSessionOptions? other) { if (other.HasValue) { m_ApiVersion = SessionsInterface.JoinsessionApiLatest; SessionName = other.Value.SessionName; SessionHandle = other.Value.SessionHandle; LocalUserId = other.Value.LocalUserId; PresenceEnabled = other.Value.PresenceEnabled; } } public void Dispose() { Helper.Dispose(ref m_SessionName); Helper.Dispose(ref m_SessionHandle); Helper.Dispose(ref m_LocalUserId); } } }