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