// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.UserInfo
{
public sealed partial class UserInfoInterface : Handle
{
public UserInfoInterface()
{
}
public UserInfoInterface(System.IntPtr innerHandle) : base(innerHandle)
{
}
///
/// The most recent version of the struct.
///
public const int CopyexternaluserinfobyaccountidApiLatest = 1;
///
/// The most recent version of the struct.
///
public const int CopyexternaluserinfobyaccounttypeApiLatest = 1;
///
/// The most recent version of the struct.
///
public const int CopyexternaluserinfobyindexApiLatest = 1;
///
/// The most recent version of the API.
///
public const int CopyuserinfoApiLatest = 2;
///
/// The most recent version of the struct.
///
public const int ExternaluserinfoApiLatest = 1;
///
/// The most recent version of the API.
///
public const int GetexternaluserinfocountApiLatest = 1;
///
/// The maximum length of display names, in displayable characters
///
public const int MaxDisplaynameCharacters = 16;
///
/// The maximum length of display names when encoded as UTF-8 as returned by . This length does not include the null terminator.
///
public const int MaxDisplaynameUtf8Length = 64;
///
/// The most recent version of the API.
///
public const int QueryuserinfoApiLatest = 1;
///
/// The most recent version of the API.
///
public const int QueryuserinfobydisplaynameApiLatest = 1;
///
/// The most recent version of the API.
///
public const int QueryuserinfobyexternalaccountApiLatest = 1;
///
/// Fetches an external user info for a given external account ID.
///
///
/// Structure containing the account ID being accessed
/// The external user info. If it exists and is valid, use when finished
///
/// if the information is available and passed out in OutExternalUserInfo
/// if you pass a null pointer for the out parameter
/// if the external user info is not found
///
public Result CopyExternalUserInfoByAccountId(CopyExternalUserInfoByAccountIdOptions options, out ExternalUserInfo outExternalUserInfo)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var outExternalUserInfoAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_UserInfo_CopyExternalUserInfoByAccountId(InnerHandle, optionsAddress, ref outExternalUserInfoAddress);
Helper.TryMarshalDispose(ref optionsAddress);
if (Helper.TryMarshalGet(outExternalUserInfoAddress, out outExternalUserInfo))
{
Bindings.EOS_UserInfo_ExternalUserInfo_Release(outExternalUserInfoAddress);
}
return funcResult;
}
///
/// Fetches an external user info for a given external account type.
///
///
/// Structure containing the account type being accessed
/// The external user info. If it exists and is valid, use when finished
///
/// if the information is available and passed out in OutExternalUserInfo
/// if you pass a null pointer for the out parameter
/// if the external user info is not found
///
public Result CopyExternalUserInfoByAccountType(CopyExternalUserInfoByAccountTypeOptions options, out ExternalUserInfo outExternalUserInfo)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var outExternalUserInfoAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_UserInfo_CopyExternalUserInfoByAccountType(InnerHandle, optionsAddress, ref outExternalUserInfoAddress);
Helper.TryMarshalDispose(ref optionsAddress);
if (Helper.TryMarshalGet(outExternalUserInfoAddress, out outExternalUserInfo))
{
Bindings.EOS_UserInfo_ExternalUserInfo_Release(outExternalUserInfoAddress);
}
return funcResult;
}
///
/// Fetches an external user info from a given index.
///
///
/// Structure containing the index being accessed
/// The external user info. If it exists and is valid, use when finished
///
/// if the information is available and passed out in OutExternalUserInfo
/// if you pass a null pointer for the out parameter
/// if the external user info is not found
///
public Result CopyExternalUserInfoByIndex(CopyExternalUserInfoByIndexOptions options, out ExternalUserInfo outExternalUserInfo)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var outExternalUserInfoAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_UserInfo_CopyExternalUserInfoByIndex(InnerHandle, optionsAddress, ref outExternalUserInfoAddress);
Helper.TryMarshalDispose(ref optionsAddress);
if (Helper.TryMarshalGet(outExternalUserInfoAddress, out outExternalUserInfo))
{
Bindings.EOS_UserInfo_ExternalUserInfo_Release(outExternalUserInfoAddress);
}
return funcResult;
}
///
/// is used to immediately retrieve a copy of user information based on an Epic Online Services Account ID, cached by a previous call to .
/// If the call returns an result, the out parameter, OutUserInfo, 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 OutUserInfo
/// if you pass a null pointer for the out parameter
/// if the API version passed in is incorrect
/// if the user info is not locally cached. The information must have been previously cached by a call to
///
public Result CopyUserInfo(CopyUserInfoOptions options, out UserInfoData outUserInfo)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var outUserInfoAddress = System.IntPtr.Zero;
var funcResult = Bindings.EOS_UserInfo_CopyUserInfo(InnerHandle, optionsAddress, ref outUserInfoAddress);
Helper.TryMarshalDispose(ref optionsAddress);
if (Helper.TryMarshalGet(outUserInfoAddress, out outUserInfo))
{
Bindings.EOS_UserInfo_Release(outUserInfoAddress);
}
return funcResult;
}
///
/// Fetch the number of external user infos that are cached locally.
///
///
/// The options associated with retrieving the external user info count
///
/// The number of external user infos, or 0 if there is an error
///
public uint GetExternalUserInfoCount(GetExternalUserInfoCountOptions options)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var funcResult = Bindings.EOS_UserInfo_GetExternalUserInfoCount(InnerHandle, optionsAddress);
Helper.TryMarshalDispose(ref optionsAddress);
return funcResult;
}
///
/// is used to start an asynchronous query to retrieve information, such as display name, about another account.
/// Once the callback has been fired with a successful ResultCode, it is possible to call to receive an containing the available information.
///
///
///
///
///
/// structure containing the input parameters
/// arbitrary data that is passed back to you in the CompletionDelegate
/// a callback that is fired when the async operation completes, either successfully or in error
public void QueryUserInfo(QueryUserInfoOptions options, object clientData, OnQueryUserInfoCallback completionDelegate)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnQueryUserInfoCallbackInternal(OnQueryUserInfoCallbackInternalImplementation);
Helper.AddCallback(ref clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_UserInfo_QueryUserInfo(InnerHandle, optionsAddress, clientDataAddress, completionDelegateInternal);
Helper.TryMarshalDispose(ref optionsAddress);
}
///
/// is used to start an asynchronous query to retrieve user information by display name. This can be useful for getting the for a display name.
/// Once the callback has been fired with a successful ResultCode, it is possible to call to receive an containing the available information.
///
///
///
///
///
/// structure containing the input parameters
/// arbitrary data that is passed back to you in the CompletionDelegate
/// a callback that is fired when the async operation completes, either successfully or in error
public void QueryUserInfoByDisplayName(QueryUserInfoByDisplayNameOptions options, object clientData, OnQueryUserInfoByDisplayNameCallback completionDelegate)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnQueryUserInfoByDisplayNameCallbackInternal(OnQueryUserInfoByDisplayNameCallbackInternalImplementation);
Helper.AddCallback(ref clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_UserInfo_QueryUserInfoByDisplayName(InnerHandle, optionsAddress, clientDataAddress, completionDelegateInternal);
Helper.TryMarshalDispose(ref optionsAddress);
}
///
/// is used to start an asynchronous query to retrieve user information by external accounts.
/// This can be useful for getting the for external accounts.
/// Once the callback has been fired with a successful ResultCode, it is possible to call CopyUserInfo to receive an containing the available information.
///
///
///
///
/// structure containing the input parameters
/// arbitrary data that is passed back to you in the CompletionDelegate
/// a callback that is fired when the async operation completes, either successfully or in error
public void QueryUserInfoByExternalAccount(QueryUserInfoByExternalAccountOptions options, object clientData, OnQueryUserInfoByExternalAccountCallback completionDelegate)
{
var optionsAddress = System.IntPtr.Zero;
Helper.TryMarshalSet(ref optionsAddress, options);
var clientDataAddress = System.IntPtr.Zero;
var completionDelegateInternal = new OnQueryUserInfoByExternalAccountCallbackInternal(OnQueryUserInfoByExternalAccountCallbackInternalImplementation);
Helper.AddCallback(ref clientDataAddress, clientData, completionDelegate, completionDelegateInternal);
Bindings.EOS_UserInfo_QueryUserInfoByExternalAccount(InnerHandle, optionsAddress, clientDataAddress, completionDelegateInternal);
Helper.TryMarshalDispose(ref optionsAddress);
}
[MonoPInvokeCallback(typeof(OnQueryUserInfoByDisplayNameCallbackInternal))]
internal static void OnQueryUserInfoByDisplayNameCallbackInternalImplementation(System.IntPtr data)
{
OnQueryUserInfoByDisplayNameCallback callback;
QueryUserInfoByDisplayNameCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(data, out callback, out callbackInfo))
{
callback(callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnQueryUserInfoByExternalAccountCallbackInternal))]
internal static void OnQueryUserInfoByExternalAccountCallbackInternalImplementation(System.IntPtr data)
{
OnQueryUserInfoByExternalAccountCallback callback;
QueryUserInfoByExternalAccountCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(data, out callback, out callbackInfo))
{
callback(callbackInfo);
}
}
[MonoPInvokeCallback(typeof(OnQueryUserInfoCallbackInternal))]
internal static void OnQueryUserInfoCallbackInternalImplementation(System.IntPtr data)
{
OnQueryUserInfoCallback callback;
QueryUserInfoCallbackInfo callbackInfo;
if (Helper.TryGetAndRemoveCallback(data, out callback, out callbackInfo))
{
callback(callbackInfo);
}
}
}
}