// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Lobby { public sealed partial class LobbyDetails : Handle { public LobbyDetails() { } public LobbyDetails(System.IntPtr innerHandle) : base(innerHandle) { } /// /// The most recent version of the API. /// public const int LobbydetailsCopyattributebyindexApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsCopyattributebykeyApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsCopyinfoApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsCopymemberattributebyindexApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsCopymemberattributebykeyApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsGetattributecountApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsGetlobbyownerApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsGetmemberattributecountApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsGetmemberbyindexApiLatest = 1; /// /// The most recent version of the API. /// public const int LobbydetailsGetmembercountApiLatest = 1; public const int LobbydetailsInfoApiLatest = 2; /// /// is used to immediately retrieve a copy of a lobby attribute from a given source such as a existing lobby or a search result. /// If the call returns an result, the out parameter, OutAttribute, 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 OutAttribute /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopyAttributeByIndex(ref LobbyDetailsCopyAttributeByIndexOptions options, out Attribute? outAttribute) { LobbyDetailsCopyAttributeByIndexOptionsInternal optionsInternal = new LobbyDetailsCopyAttributeByIndexOptionsInternal(); optionsInternal.Set(ref options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyAttributeByIndex(InnerHandle, ref optionsInternal, ref outAttributeAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outAttributeAddress, out outAttribute); if (outAttribute != null) { Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress); } return funcResult; } /// /// is used to immediately retrieve a copy of a lobby attribute from a given source such as a existing lobby or a search result. /// If the call returns an result, the out parameter, OutAttribute, 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 OutAttribute /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopyAttributeByKey(ref LobbyDetailsCopyAttributeByKeyOptions options, out Attribute? outAttribute) { LobbyDetailsCopyAttributeByKeyOptionsInternal optionsInternal = new LobbyDetailsCopyAttributeByKeyOptionsInternal(); optionsInternal.Set(ref options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyAttributeByKey(InnerHandle, ref optionsInternal, ref outAttributeAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outAttributeAddress, out outAttribute); if (outAttribute != null) { Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress); } return funcResult; } /// /// is used to immediately retrieve a copy of lobby information from a given source such as a existing lobby or a search result. /// If the call returns an result, the out parameter, OutLobbyDetailsInfo, 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 OutLobbyDetailsInfo /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopyInfo(ref LobbyDetailsCopyInfoOptions options, out LobbyDetailsInfo? outLobbyDetailsInfo) { LobbyDetailsCopyInfoOptionsInternal optionsInternal = new LobbyDetailsCopyInfoOptionsInternal(); optionsInternal.Set(ref options); var outLobbyDetailsInfoAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyInfo(InnerHandle, ref optionsInternal, ref outLobbyDetailsInfoAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outLobbyDetailsInfoAddress, out outLobbyDetailsInfo); if (outLobbyDetailsInfo != null) { Bindings.EOS_LobbyDetails_Info_Release(outLobbyDetailsInfoAddress); } return funcResult; } /// /// is used to immediately retrieve a copy of a lobby member attribute from an existing lobby. /// If the call returns an result, the out parameter, OutAttribute, 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 OutAttribute /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopyMemberAttributeByIndex(ref LobbyDetailsCopyMemberAttributeByIndexOptions options, out Attribute? outAttribute) { LobbyDetailsCopyMemberAttributeByIndexOptionsInternal optionsInternal = new LobbyDetailsCopyMemberAttributeByIndexOptionsInternal(); optionsInternal.Set(ref options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyMemberAttributeByIndex(InnerHandle, ref optionsInternal, ref outAttributeAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outAttributeAddress, out outAttribute); if (outAttribute != null) { Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress); } return funcResult; } /// /// is used to immediately retrieve a copy of a lobby member attribute from an existing lobby. /// If the call returns an result, the out parameter, OutAttribute, 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 OutAttribute /// if you pass a null pointer for the out parameter /// if the API version passed in is incorrect /// public Result CopyMemberAttributeByKey(ref LobbyDetailsCopyMemberAttributeByKeyOptions options, out Attribute? outAttribute) { LobbyDetailsCopyMemberAttributeByKeyOptionsInternal optionsInternal = new LobbyDetailsCopyMemberAttributeByKeyOptionsInternal(); optionsInternal.Set(ref options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyMemberAttributeByKey(InnerHandle, ref optionsInternal, ref outAttributeAddress); Helper.Dispose(ref optionsInternal); Helper.Get(outAttributeAddress, out outAttribute); if (outAttribute != null) { Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress); } return funcResult; } /// /// Get the number of attributes associated with this lobby /// /// the Options associated with retrieving the attribute count /// /// number of attributes on the lobby or 0 if there is an error /// public uint GetAttributeCount(ref LobbyDetailsGetAttributeCountOptions options) { LobbyDetailsGetAttributeCountOptionsInternal optionsInternal = new LobbyDetailsGetAttributeCountOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyDetails_GetAttributeCount(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Get the product user ID of the current owner for a given lobby /// /// Structure containing the input parameters /// /// the product user ID for the lobby owner or null if the input parameters are invalid /// public ProductUserId GetLobbyOwner(ref LobbyDetailsGetLobbyOwnerOptions options) { LobbyDetailsGetLobbyOwnerOptionsInternal optionsInternal = new LobbyDetailsGetLobbyOwnerOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyDetails_GetLobbyOwner(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); ProductUserId funcResultReturn; Helper.Get(funcResult, out funcResultReturn); return funcResultReturn; } /// /// is used to immediately retrieve the attribute count for members in a lobby. /// /// /// /// Structure containing the input parameters /// /// the number of attributes associated with a given lobby member or 0 if that member is invalid /// public uint GetMemberAttributeCount(ref LobbyDetailsGetMemberAttributeCountOptions options) { LobbyDetailsGetMemberAttributeCountOptionsInternal optionsInternal = new LobbyDetailsGetMemberAttributeCountOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyDetails_GetMemberAttributeCount(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// is used to immediately retrieve individual members registered with a lobby. /// /// /// /// Structure containing the input parameters /// /// the product user ID for the registered member at a given index or null if that index is invalid /// public ProductUserId GetMemberByIndex(ref LobbyDetailsGetMemberByIndexOptions options) { LobbyDetailsGetMemberByIndexOptionsInternal optionsInternal = new LobbyDetailsGetMemberByIndexOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyDetails_GetMemberByIndex(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); ProductUserId funcResultReturn; Helper.Get(funcResult, out funcResultReturn); return funcResultReturn; } /// /// Get the number of members associated with this lobby /// /// the Options associated with retrieving the member count /// /// number of members in the existing lobby or 0 if there is an error /// public uint GetMemberCount(ref LobbyDetailsGetMemberCountOptions options) { LobbyDetailsGetMemberCountOptionsInternal optionsInternal = new LobbyDetailsGetMemberCountOptionsInternal(); optionsInternal.Set(ref options); var funcResult = Bindings.EOS_LobbyDetails_GetMemberCount(InnerHandle, ref optionsInternal); Helper.Dispose(ref optionsInternal); return funcResult; } /// /// Release the memory associated with a single lobby. This must be called on data retrieved from . /// /// /// - The lobby handle to release public void Release() { Bindings.EOS_LobbyDetails_Release(InnerHandle); } } }