// 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 = 2; /// /// 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(SessionDetailsCopyInfoOptions options, out SessionDetailsInfo outSessionInfo) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outSessionInfoAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_SessionDetails_CopyInfo(InnerHandle, optionsAddress, ref outSessionInfoAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outSessionInfoAddress, out outSessionInfo)) { 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(SessionDetailsCopySessionAttributeByIndexOptions options, out SessionDetailsAttribute outSessionAttribute) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outSessionAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_SessionDetails_CopySessionAttributeByIndex(InnerHandle, optionsAddress, ref outSessionAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outSessionAttributeAddress, out outSessionAttribute)) { 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(SessionDetailsCopySessionAttributeByKeyOptions options, out SessionDetailsAttribute outSessionAttribute) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outSessionAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_SessionDetails_CopySessionAttributeByKey(InnerHandle, optionsAddress, ref outSessionAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outSessionAttributeAddress, out outSessionAttribute)) { 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(SessionDetailsGetSessionAttributeCountOptions options) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var funcResult = Bindings.EOS_SessionDetails_GetSessionAttributeCount(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); 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); } } }