// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { public sealed partial class SessionDetails : Handle { public SessionDetails() { } public SessionDetails(System.IntPtr innerHandle) : base(innerHandle) { } /// /// The most recent version of the struct. /// public const int SessiondetailsAttributeApiLatest = 1; /// /// The most recent version of the API. /// public const int SessiondetailsCopyinfoApiLatest = 1; /// /// The most recent version of the API. /// public const int SessiondetailsCopysessionattributebyindexApiLatest = 1; /// /// The most recent version of the API. /// public const int SessiondetailsCopysessionattributebykeyApiLatest = 1; /// /// The most recent version of the API. /// public const int SessiondetailsGetsessionattributecountApiLatest = 1; /// /// The most recent version of the struct. /// public const int SessiondetailsInfoApiLatest = 1; /// /// The most recent version of the struct. /// public const int SessiondetailsSettingsApiLatest = 3; /// /// is used to immediately retrieve a copy of session information from a given source such as a active session or a search result. /// If the call returns an result, the out parameter, OutSessionInfo, must be passed to to release the memory associated with it. /// /// /// /// /// Structure containing the input parameters /// Out parameter used to receive the structure. /// /// if the information is available and passed out in OutSessionInfo /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopyInfo(ref SessionDetailsCopyInfoOptions options, out SessionDetailsInfo? outSessionInfo) { SessionDetailsCopyInfoOptionsInternal optionsInternal = new SessionDetailsCopyInfoOptionsInternal(); optionsInternal.Set(ref options); var outSessionInfoAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_SessionDetails_CopyInfo(InnerHandle, ref optionsInternal, ref outSessionInfoAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outSessionInfoAddress, out outSessionInfo); if (outSessionInfo != null) { Bindings.EOS_SessionDetails_Info_Release(outSessionInfoAddress); } return funcResult; } /// /// is used to immediately retrieve a copy of session attribution from a given source such as a active session or a search result. /// If the call returns an result, the out parameter, OutSessionAttribute, must be passed to to release the memory associated with it. /// /// /// /// /// Structure containing the input parameters /// Out parameter used to receive the structure. /// /// if the information is available and passed out in OutSessionAttribute /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopySessionAttributeByIndex(ref SessionDetailsCopySessionAttributeByIndexOptions options, out SessionDetailsAttribute? outSessionAttribute) { SessionDetailsCopySessionAttributeByIndexOptionsInternal optionsInternal = new SessionDetailsCopySessionAttributeByIndexOptionsInternal(); optionsInternal.Set(ref options); var outSessionAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_SessionDetails_CopySessionAttributeByIndex(InnerHandle, ref optionsInternal, ref outSessionAttributeAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outSessionAttributeAddress, out outSessionAttribute); if (outSessionAttribute != null) { Bindings.EOS_SessionDetails_Attribute_Release(outSessionAttributeAddress); } return funcResult; } /// /// is used to immediately retrieve a copy of session attribution from a given source such as a active session or a search result. /// If the call returns an result, the out parameter, OutSessionAttribute, must be passed to to release the memory associated with it. /// /// /// /// /// Structure containing the input parameters /// Out parameter used to receive the structure. /// /// if the information is available and passed out in OutSessionAttribute /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopySessionAttributeByKey(ref SessionDetailsCopySessionAttributeByKeyOptions options, out SessionDetailsAttribute? outSessionAttribute) { SessionDetailsCopySessionAttributeByKeyOptionsInternal optionsInternal = new SessionDetailsCopySessionAttributeByKeyOptionsInternal(); optionsInternal.Set(ref options); var outSessionAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_SessionDetails_CopySessionAttributeByKey(InnerHandle, ref optionsInternal, ref outSessionAttributeAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outSessionAttributeAddress, out outSessionAttribute); if (outSessionAttribute != null) { Bindings.EOS_SessionDetails_Attribute_Release(outSessionAttributeAddress); } return funcResult; } /// /// Get the number of attributes associated with this session /// /// the Options associated with retrieving the attribute count /// /// number of attributes on the session or 0 if there is an error /// public uint GetSessionAttributeCount(ref SessionDetailsGetSessionAttributeCountOptions options) { SessionDetailsGetSessionAttributeCountOptionsInternal optionsInternal = new SessionDetailsGetSessionAttributeCountOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_SessionDetails_GetSessionAttributeCount(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Release the memory associated with a single session. This must be called on data retrieved from . /// /// /// - The session handle to release public void Release() { Bindings.EOS_SessionDetails_Release(InnerHandle); } } }