// 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);
}
}
}