// 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 = 1; /// /// 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(LobbyDetailsCopyAttributeByIndexOptions options, out Attribute outAttribute) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyAttributeByIndex(InnerHandle, optionsAddress, ref outAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outAttributeAddress, out outAttribute)) { 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(LobbyDetailsCopyAttributeByKeyOptions options, out Attribute outAttribute) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyAttributeByKey(InnerHandle, optionsAddress, ref outAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outAttributeAddress, out outAttribute)) { 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(LobbyDetailsCopyInfoOptions options, out LobbyDetailsInfo outLobbyDetailsInfo) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outLobbyDetailsInfoAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyInfo(InnerHandle, optionsAddress, ref outLobbyDetailsInfoAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outLobbyDetailsInfoAddress, out outLobbyDetailsInfo)) { 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(LobbyDetailsCopyMemberAttributeByIndexOptions options, out Attribute outAttribute) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyMemberAttributeByIndex(InnerHandle, optionsAddress, ref outAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outAttributeAddress, out outAttribute)) { 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(LobbyDetailsCopyMemberAttributeByKeyOptions options, out Attribute outAttribute) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var outAttributeAddress = System.IntPtr.Zero; var funcResult = Bindings.EOS_LobbyDetails_CopyMemberAttributeByKey(InnerHandle, optionsAddress, ref outAttributeAddress); Helper.TryMarshalDispose(ref optionsAddress); if (Helper.TryMarshalGet(outAttributeAddress, out outAttribute)) { 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(LobbyDetailsGetAttributeCountOptions options) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var funcResult = Bindings.EOS_LobbyDetails_GetAttributeCount(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); 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(LobbyDetailsGetLobbyOwnerOptions options) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var funcResult = Bindings.EOS_LobbyDetails_GetLobbyOwner(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); ProductUserId funcResultReturn; Helper.TryMarshalGet(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(LobbyDetailsGetMemberAttributeCountOptions options) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var funcResult = Bindings.EOS_LobbyDetails_GetMemberAttributeCount(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); 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(LobbyDetailsGetMemberByIndexOptions options) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var funcResult = Bindings.EOS_LobbyDetails_GetMemberByIndex(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); ProductUserId funcResultReturn; Helper.TryMarshalGet(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(LobbyDetailsGetMemberCountOptions options) { var optionsAddress = System.IntPtr.Zero; Helper.TryMarshalSet(ref optionsAddress, options); var funcResult = Bindings.EOS_LobbyDetails_GetMemberCount(InnerHandle, optionsAddress); Helper.TryMarshalDispose(ref optionsAddress); 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); } } }