You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
346 lines
15 KiB
346 lines
15 KiB
// 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)
|
|
{
|
|
}
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="CopyAttributeByIndex" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsCopyattributebyindexApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="CopyAttributeByKey" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsCopyattributebykeyApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="CopyInfo" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsCopyinfoApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="CopyMemberAttributeByIndex" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsCopymemberattributebyindexApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="CopyMemberAttributeByKey" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsCopymemberattributebykeyApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="GetAttributeCount" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsGetattributecountApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="GetLobbyOwner" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsGetlobbyownerApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="GetMemberAttributeCount" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsGetmemberattributecountApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="GetMemberByIndex" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsGetmemberbyindexApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// The most recent version of the <see cref="GetMemberCount" /> API.
|
|
/// </summary>
|
|
public const int LobbydetailsGetmembercountApiLatest = 1;
|
|
|
|
public const int LobbydetailsInfoApiLatest = 1;
|
|
|
|
/// <summary>
|
|
/// <see cref="CopyAttributeByIndex" /> 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 <see cref="Result.Success" /> result, the out parameter, OutAttribute, must be passed to <see cref="LobbyInterface.Release" /> to release the memory associated with it.
|
|
/// <seealso cref="Attribute" />
|
|
/// <seealso cref="LobbyDetailsCopyAttributeByIndexOptions" />
|
|
/// <seealso cref="LobbyInterface.Release" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <param name="outAttribute">Out parameter used to receive the <see cref="Attribute" /> structure.</param>
|
|
/// <returns>
|
|
/// <see cref="Result.Success" /> if the information is available and passed out in OutAttribute
|
|
/// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter
|
|
/// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect
|
|
/// </returns>
|
|
public Result CopyAttributeByIndex(LobbyDetailsCopyAttributeByIndexOptions options, out Attribute outAttribute)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsCopyAttributeByIndexOptionsInternal, LobbyDetailsCopyAttributeByIndexOptions>(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<AttributeInternal, Attribute>(outAttributeAddress, out outAttribute))
|
|
{
|
|
Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress);
|
|
}
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <see cref="CopyAttributeByKey" /> 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 <see cref="Result.Success" /> result, the out parameter, OutAttribute, must be passed to <see cref="LobbyInterface.Release" /> to release the memory associated with it.
|
|
/// <seealso cref="Attribute" />
|
|
/// <seealso cref="LobbyDetailsCopyAttributeByKeyOptions" />
|
|
/// <seealso cref="LobbyInterface.Release" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <param name="outAttribute">Out parameter used to receive the <see cref="Attribute" /> structure.</param>
|
|
/// <returns>
|
|
/// <see cref="Result.Success" /> if the information is available and passed out in OutAttribute
|
|
/// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter
|
|
/// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect
|
|
/// </returns>
|
|
public Result CopyAttributeByKey(LobbyDetailsCopyAttributeByKeyOptions options, out Attribute outAttribute)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsCopyAttributeByKeyOptionsInternal, LobbyDetailsCopyAttributeByKeyOptions>(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<AttributeInternal, Attribute>(outAttributeAddress, out outAttribute))
|
|
{
|
|
Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress);
|
|
}
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <see cref="CopyInfo" /> 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 <see cref="Result.Success" /> result, the out parameter, OutLobbyDetailsInfo, must be passed to <see cref="Release" /> to release the memory associated with it.
|
|
/// <seealso cref="LobbyDetailsInfo" />
|
|
/// <seealso cref="LobbyDetailsCopyInfoOptions" />
|
|
/// <seealso cref="Release" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <param name="outLobbyDetailsInfo">Out parameter used to receive the <see cref="LobbyDetailsInfo" /> structure.</param>
|
|
/// <returns>
|
|
/// <see cref="Result.Success" /> if the information is available and passed out in OutLobbyDetailsInfo
|
|
/// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter
|
|
/// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect
|
|
/// </returns>
|
|
public Result CopyInfo(LobbyDetailsCopyInfoOptions options, out LobbyDetailsInfo outLobbyDetailsInfo)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsCopyInfoOptionsInternal, LobbyDetailsCopyInfoOptions>(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<LobbyDetailsInfoInternal, LobbyDetailsInfo>(outLobbyDetailsInfoAddress, out outLobbyDetailsInfo))
|
|
{
|
|
Bindings.EOS_LobbyDetails_Info_Release(outLobbyDetailsInfoAddress);
|
|
}
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <see cref="CopyMemberAttributeByIndex" /> is used to immediately retrieve a copy of a lobby member attribute from an existing lobby.
|
|
/// If the call returns an <see cref="Result.Success" /> result, the out parameter, OutAttribute, must be passed to <see cref="LobbyInterface.Release" /> to release the memory associated with it.
|
|
/// <seealso cref="Attribute" />
|
|
/// <seealso cref="LobbyDetailsCopyMemberAttributeByIndexOptions" />
|
|
/// <seealso cref="LobbyInterface.Release" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <param name="outAttribute">Out parameter used to receive the <see cref="Attribute" /> structure.</param>
|
|
/// <returns>
|
|
/// <see cref="Result.Success" /> if the information is available and passed out in OutAttribute
|
|
/// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter
|
|
/// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect
|
|
/// </returns>
|
|
public Result CopyMemberAttributeByIndex(LobbyDetailsCopyMemberAttributeByIndexOptions options, out Attribute outAttribute)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsCopyMemberAttributeByIndexOptionsInternal, LobbyDetailsCopyMemberAttributeByIndexOptions>(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<AttributeInternal, Attribute>(outAttributeAddress, out outAttribute))
|
|
{
|
|
Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress);
|
|
}
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <see cref="CopyMemberAttributeByKey" /> is used to immediately retrieve a copy of a lobby member attribute from an existing lobby.
|
|
/// If the call returns an <see cref="Result.Success" /> result, the out parameter, OutAttribute, must be passed to <see cref="LobbyInterface.Release" /> to release the memory associated with it.
|
|
/// <seealso cref="Attribute" />
|
|
/// <seealso cref="LobbyDetailsCopyMemberAttributeByKeyOptions" />
|
|
/// <seealso cref="LobbyInterface.Release" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <param name="outAttribute">Out parameter used to receive the <see cref="Attribute" /> structure.</param>
|
|
/// <returns>
|
|
/// <see cref="Result.Success" /> if the information is available and passed out in OutAttribute
|
|
/// <see cref="Result.InvalidParameters" /> if you pass a null pointer for the out parameter
|
|
/// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect
|
|
/// </returns>
|
|
public Result CopyMemberAttributeByKey(LobbyDetailsCopyMemberAttributeByKeyOptions options, out Attribute outAttribute)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsCopyMemberAttributeByKeyOptionsInternal, LobbyDetailsCopyMemberAttributeByKeyOptions>(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<AttributeInternal, Attribute>(outAttributeAddress, out outAttribute))
|
|
{
|
|
Bindings.EOS_Lobby_Attribute_Release(outAttributeAddress);
|
|
}
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get the number of attributes associated with this lobby
|
|
/// </summary>
|
|
/// <param name="options">the Options associated with retrieving the attribute count</param>
|
|
/// <returns>
|
|
/// number of attributes on the lobby or 0 if there is an error
|
|
/// </returns>
|
|
public uint GetAttributeCount(LobbyDetailsGetAttributeCountOptions options)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsGetAttributeCountOptionsInternal, LobbyDetailsGetAttributeCountOptions>(ref optionsAddress, options);
|
|
|
|
var funcResult = Bindings.EOS_LobbyDetails_GetAttributeCount(InnerHandle, optionsAddress);
|
|
|
|
Helper.TryMarshalDispose(ref optionsAddress);
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get the product user ID of the current owner for a given lobby
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <returns>
|
|
/// the product user ID for the lobby owner or null if the input parameters are invalid
|
|
/// </returns>
|
|
public ProductUserId GetLobbyOwner(LobbyDetailsGetLobbyOwnerOptions options)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsGetLobbyOwnerOptionsInternal, LobbyDetailsGetLobbyOwnerOptions>(ref optionsAddress, options);
|
|
|
|
var funcResult = Bindings.EOS_LobbyDetails_GetLobbyOwner(InnerHandle, optionsAddress);
|
|
|
|
Helper.TryMarshalDispose(ref optionsAddress);
|
|
|
|
ProductUserId funcResultReturn;
|
|
Helper.TryMarshalGet(funcResult, out funcResultReturn);
|
|
return funcResultReturn;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <see cref="GetMemberAttributeCount" /> is used to immediately retrieve the attribute count for members in a lobby.
|
|
/// <seealso cref="GetMemberCount" />
|
|
/// <seealso cref="LobbyDetailsGetMemberAttributeCountOptions" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <returns>
|
|
/// the number of attributes associated with a given lobby member or 0 if that member is invalid
|
|
/// </returns>
|
|
public uint GetMemberAttributeCount(LobbyDetailsGetMemberAttributeCountOptions options)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsGetMemberAttributeCountOptionsInternal, LobbyDetailsGetMemberAttributeCountOptions>(ref optionsAddress, options);
|
|
|
|
var funcResult = Bindings.EOS_LobbyDetails_GetMemberAttributeCount(InnerHandle, optionsAddress);
|
|
|
|
Helper.TryMarshalDispose(ref optionsAddress);
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// <see cref="GetMemberByIndex" /> is used to immediately retrieve individual members registered with a lobby.
|
|
/// <seealso cref="GetMemberCount" />
|
|
/// <seealso cref="LobbyDetailsGetMemberByIndexOptions" />
|
|
/// </summary>
|
|
/// <param name="options">Structure containing the input parameters</param>
|
|
/// <returns>
|
|
/// the product user ID for the registered member at a given index or null if that index is invalid
|
|
/// </returns>
|
|
public ProductUserId GetMemberByIndex(LobbyDetailsGetMemberByIndexOptions options)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsGetMemberByIndexOptionsInternal, LobbyDetailsGetMemberByIndexOptions>(ref optionsAddress, options);
|
|
|
|
var funcResult = Bindings.EOS_LobbyDetails_GetMemberByIndex(InnerHandle, optionsAddress);
|
|
|
|
Helper.TryMarshalDispose(ref optionsAddress);
|
|
|
|
ProductUserId funcResultReturn;
|
|
Helper.TryMarshalGet(funcResult, out funcResultReturn);
|
|
return funcResultReturn;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Get the number of members associated with this lobby
|
|
/// </summary>
|
|
/// <param name="options">the Options associated with retrieving the member count</param>
|
|
/// <returns>
|
|
/// number of members in the existing lobby or 0 if there is an error
|
|
/// </returns>
|
|
public uint GetMemberCount(LobbyDetailsGetMemberCountOptions options)
|
|
{
|
|
var optionsAddress = System.IntPtr.Zero;
|
|
Helper.TryMarshalSet<LobbyDetailsGetMemberCountOptionsInternal, LobbyDetailsGetMemberCountOptions>(ref optionsAddress, options);
|
|
|
|
var funcResult = Bindings.EOS_LobbyDetails_GetMemberCount(InnerHandle, optionsAddress);
|
|
|
|
Helper.TryMarshalDispose(ref optionsAddress);
|
|
|
|
return funcResult;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Release the memory associated with a single lobby. This must be called on data retrieved from <see cref="LobbySearch.CopySearchResultByIndex" />.
|
|
/// <seealso cref="LobbySearch.CopySearchResultByIndex" />
|
|
/// </summary>
|
|
/// <param name="lobbyHandle">- The lobby handle to release</param>
|
|
public void Release()
|
|
{
|
|
Bindings.EOS_LobbyDetails_Release(InnerHandle);
|
|
}
|
|
}
|
|
}
|