diff --git a/FLB_API.slnx b/FLB_API.slnx index 3fefe3d..468873e 100644 --- a/FLB_API.slnx +++ b/FLB_API.slnx @@ -1,4 +1,13 @@ - - + + + + + + + + + + + diff --git a/FLB_API/Controllers/LobbyListController.cs b/FLB_API/Controllers/LobbyListController.cs index f35c512..a9d78a3 100644 --- a/FLB_API/Controllers/LobbyListController.cs +++ b/FLB_API/Controllers/LobbyListController.cs @@ -7,7 +7,7 @@ namespace FLB_API.Controllers public class LobbyListController : ControllerBase { [HttpGet(Name = "GetServers")] - public IActionResult Get() + public IActionResult Get([FromQuery(Name = "service")] string service = "Steam") { if (Program.FusionClient?.Handler.IsInitialized != true) return StatusCode(500, "Server is not connected to Steam."); @@ -15,7 +15,12 @@ public IActionResult Get() Response.Headers.AccessControlExposeHeaders = new Microsoft.Extensions.Primitives.StringValues("Server-Uptime"); Response.Headers.Append("Server-Uptime", ((DateTimeOffset)Program.Uptime).ToUnixTimeSeconds().ToString() ?? "-1"); - return Ok(new LobbyListResponse(Program.Lobbies ?? [], Program.Date, Program.PlayerCount ?? new(0, 0))); + if (service.Equals("Steam", StringComparison.OrdinalIgnoreCase)) + return Ok(new LobbyListResponse(Program.SteamLobbies ?? [], Program.Date)); + else if (service.Equals("Epic", StringComparison.OrdinalIgnoreCase)) + return Ok(new LobbyListResponse(Program.EOSLobbies ?? [], Program.Date)); + else + return NotFound("The provided service does not exist. Choose from the following: Steam, Epic"); } } -} +} \ No newline at end of file diff --git a/FLB_API/FLB_API.csproj b/FLB_API/FLB_API.csproj index daf7adc..6edfb13 100644 --- a/FLB_API/FLB_API.csproj +++ b/FLB_API/FLB_API.csproj @@ -4,6 +4,7 @@ net10.0 enable enable + Debug;Release diff --git a/FLB_API/LobbyListResponse.cs b/FLB_API/LobbyListResponse.cs index a7e3536..bc33f06 100644 --- a/FLB_API/LobbyListResponse.cs +++ b/FLB_API/LobbyListResponse.cs @@ -5,21 +5,12 @@ namespace FLB_API { [JsonSourceGenerationOptions(WriteIndented = true)] - public class LobbyListResponse(LobbyInfo[] lobbies, DateTime date, PlayerCount count) + public class LobbyListResponse(LobbyInfo[] lobbies, DateTime date) { public LobbyInfo[] Lobbies { get; set; } = lobbies; public long Date { get; set; } = ((DateTimeOffset)date).ToUnixTimeSeconds(); - public PlayerCount PlayerCount { get; set; } = count; - public int Interval { get; set; } = Program.Settings?.Interval ?? 30; } - - public class PlayerCount(int players, int lobbies) - { - public int Players { get; set; } = players; - - public int Lobbies { get; set; } = lobbies; - } } \ No newline at end of file diff --git a/FLB_API/Program.cs b/FLB_API/Program.cs index f3d2fd5..50a102b 100644 --- a/FLB_API/Program.cs +++ b/FLB_API/Program.cs @@ -16,13 +16,15 @@ public static class Program { public static Fusion? FusionClient { get; private set; } + public static Fusion? EOSClient { get; private set; } + internal static Serilog.Core.Logger? Logger { get; private set; } - internal static LobbyInfo[]? Lobbies { get; private set; } + internal static LobbyInfo[]? SteamLobbies { get; private set; } - internal static DateTime Date { get; private set; } = DateTime.UtcNow; + internal static LobbyInfo[]? EOSLobbies { get; private set; } - internal static PlayerCount? PlayerCount { get; private set; } + internal static DateTime Date { get; private set; } = DateTime.UtcNow; internal static DateTime Uptime { get; private set; } @@ -107,7 +109,10 @@ public static async Task Main(string[] args) var logger = new Logger(level); await FusionClient.Initialize(logger, metadata); - Logger?.Information("Successfully initialized Fusion API"); + Logger?.Information("Successfully initialized Steam Fusion API! Initializing EOS (Epic Online Services)..."); + EOSClient = new Fusion(new EOSHandler()); + await EOSClient.Initialize(logger, []); + Logger?.Information("Successfully initialized EOS API"); Uptime = DateTime.UtcNow; } catch (Exception e) @@ -250,15 +255,24 @@ private static async Task GetLobbies(CancellationToken token) { try { - Logger?.Information("Fetching lobbies..."); + Logger?.Information("Fetching Steam lobbies..."); var lobbies = await FusionClient.GetLobbies(includeFull: true, includePrivate: false, includeSelf: true); int players = 0; foreach (var lobby in lobbies) players += lobby.PlayerCount; - PlayerCount = new(players, lobbies.Length); Date = DateTime.UtcNow; - Lobbies = lobbies; - Logger?.Information($"Successfully fetched lobbies ({lobbies.Length})..."); + SteamLobbies = lobbies; + + Logger?.Information($"Successfully fetched Steam lobbies ({lobbies.Length})..."); + + Logger?.Information("Fetching EOS lobbies..."); + var eLobbies = await EOSClient.GetLobbies(includeFull: true, includePrivate: false, includeSelf: true); + int ePlayers = 0; + foreach (var lobby in eLobbies) + ePlayers += lobby.PlayerCount; + EOSLobbies = eLobbies; + + Logger?.Information($"Successfully fetched EOS lobbies ({eLobbies.Length})..."); LoadSettings(); } catch (Exception e) diff --git a/FusionAPI/CoRoutine.cs b/FusionAPI/CoRoutine.cs new file mode 100644 index 0000000..d7dfeb1 --- /dev/null +++ b/FusionAPI/CoRoutine.cs @@ -0,0 +1,198 @@ +using System.Collections; +using System.Reflection; +using System.Text; + +namespace FusionAPI; + +// Wrapper class for IEnumerator objects +// This class is nice because it allows IEnumerator's to return other IEnumerator's just like Unity +// We call it CoRoutine instead of Coroutine to differentiate it from UnityEngine.CoRoutine +public class CoRoutine +{ + readonly Stack _processStack; + readonly List _finished = new List(); + + object _returnValue; + + public CoRoutine(IEnumerator enumerator) + { + _processStack = new Stack(); + _processStack.Push(enumerator); + } + + public object ReturnValue + { + get + { + Assert(!_processStack.Any()); + return _returnValue; + } + } + + public bool IsDone + { + get + { + return !_processStack.Any(); + } + } + + // Returns true if it needs to be called again + public bool Pump() + { + Assert(_processStack.Any()); + Assert(_returnValue == null); + + var topWorker = _processStack.Peek(); + + bool isFinished; + + try + { + isFinished = !topWorker.MoveNext(); + } + catch (CoRoutineException e) + { + var objectTrace = GenerateObjectTrace(_finished.Concat(_processStack)); + + if (!objectTrace.Any()) + { + throw e; + } + + throw new CoRoutineException(objectTrace.Concat(e.ObjectTrace).ToList(), e.InnerException); + } + catch (Exception e) + { + var objectTrace = GenerateObjectTrace(_finished.Concat(_processStack)); + + if (!objectTrace.Any()) + { + throw e; + } + + throw new CoRoutineException(objectTrace, e); + } + + if (isFinished) + { + _finished.Add(_processStack.Pop()); + } + + if (topWorker.Current != null && typeof(IEnumerator).IsAssignableFrom(topWorker.Current.GetType())) + { + _processStack.Push((IEnumerator)topWorker.Current); + } + + if (!_processStack.Any()) + { + _returnValue = topWorker.Current; + } + + return _processStack.Any(); + } + + static List GenerateObjectTrace(IEnumerable enumerators) + { + var objTrace = new List(); + + foreach (var enumerator in enumerators) + { + var field = enumerator.GetType().GetField("<>4__this", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); + + if (field == null) + { + // Mono seems to use a different name + field = enumerator.GetType().GetField("<>f__this", BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance); + + if (field == null) + { + continue; + } + } + + var obj = field.GetValue(enumerator); + + if (obj == null) + { + continue; + } + + var objType = obj.GetType(); + + if (!objTrace.Any() || objType != objTrace.Last()) + { + objTrace.Add(objType); + } + } + + objTrace.Reverse(); + return objTrace; + } + + static void Assert(bool condition) + { + if (!condition) + { + throw new AssertException("Assert hit in CoRoutine!"); + } + } + + static void Assert(bool condition, string message) + { + if (!condition) + { + throw new AssertException( + "Assert hit in CoRoutine! " + message); + } + } + + public class TimeoutException : Exception + { + } + + public class AssertException : Exception + { + public AssertException(string message) + : base(message) + { + } + } + + public class CoRoutineException : Exception + { + readonly List _objTrace; + + public CoRoutineException(List objTrace, Exception innerException) + : base(CreateMessage(objTrace), innerException) + { + _objTrace = objTrace; + } + + static string CreateMessage(List objTrace) + { + var result = new StringBuilder(); + + foreach (var objType in objTrace) + { + if (result.Length != 0) + { + result.Append(" -> "); + } + + result.Append(objType.Name); + } + + result.AppendLine(); + return "Coroutine Object Trace: " + result.ToString(); + } + + public List ObjectTrace + { + get + { + return _objTrace; + } + } + } +} \ No newline at end of file diff --git a/FusionAPI/Data/Containers/LobbyInfo.cs b/FusionAPI/Data/Containers/LobbyInfo.cs index ba664e3..b7d7ef0 100644 --- a/FusionAPI/Data/Containers/LobbyInfo.cs +++ b/FusionAPI/Data/Containers/LobbyInfo.cs @@ -11,7 +11,7 @@ public class LobbyInfo // Info [JsonPropertyName("lobbyID")] - public ulong LobbyID { get; set; } = 0; + public string LobbyID { get; set; } = "0"; [JsonPropertyName("lobbyCode")] public string? LobbyCode { get; set; } = null; diff --git a/FusionAPI/Data/Containers/PlayerInfo.cs b/FusionAPI/Data/Containers/PlayerInfo.cs index 811be7c..7ef818d 100644 --- a/FusionAPI/Data/Containers/PlayerInfo.cs +++ b/FusionAPI/Data/Containers/PlayerInfo.cs @@ -8,7 +8,7 @@ namespace FusionAPI.Data.Containers; public class PlayerInfo() { [JsonPropertyName("platformID")] - public ulong PlatformID { get; set; } + public string PlatformID { get; set; } [JsonPropertyName("username")] public string? Username { get; set; } diff --git a/FusionAPI/Dependencies/EOSSDK/Core/CallbackHelper.cs b/FusionAPI/Dependencies/EOSSDK/Core/CallbackHelper.cs new file mode 100644 index 0000000..32c650d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/CallbackHelper.cs @@ -0,0 +1,301 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Linq; + +namespace Epic.OnlineServices +{ + public sealed partial class Helper + { + /// + /// Adds a callback to the wrapper. + /// + /// The generated client data pointer. + /// The client data of the callback. + /// The delegates to add. + internal static void AddCallback(out IntPtr clientDataPointer, object clientData, params Delegate[] delegates) + { + clientDataPointer = AddClientData(clientData); + + lock (s_Callbacks) + { + s_Callbacks.Add(clientDataPointer, new DelegateHolder(delegates)); + } + } + + /// + /// Adds a callback to the wrapper with an existing client data pointer. + /// + /// The client data pointer. + /// The delegates to add. + internal static void AddCallback(IntPtr clientDataPointer, params Delegate[] delegates) + { + lock (s_Callbacks) + { + DelegateHolder delegateHolder; + if (s_Callbacks.TryGetValue(clientDataPointer, out delegateHolder)) + { + delegateHolder.Delegates.AddRange(delegates.Where(d => d != null)); + } + } + } + + /// + /// Removes a callback from the wrapper. + /// + /// The client data pointer of the callback. + internal static void RemoveCallback(IntPtr clientDataPointer) + { + lock (s_Callbacks) + { + s_Callbacks.Remove(clientDataPointer); + } + + RemoveClientData(clientDataPointer); + } + + /// + /// Tries to get the callback associated with the given internal callback info. + /// + /// The internal callback info type. + /// The callback type. + /// The callback info type. + /// The internal callback info. + /// The callback associated with the internal callback info. + /// The callback info. + /// Whether the callback was successfully retrieved. + internal static bool TryGetCallback(ref TCallbackInfoInternal callbackInfoInternal, out TCallback callback, out TCallbackInfo callbackInfo) + where TCallbackInfoInternal : struct, ICallbackInfoInternal, IGettable + where TCallback : class + where TCallbackInfo : struct, ICallbackInfo + { + IntPtr clientDataPointer; + Get(ref callbackInfoInternal, out callbackInfo, out clientDataPointer); + + callback = null; + + lock (s_Callbacks) + { + DelegateHolder delegateHolder; + if (s_Callbacks.TryGetValue(clientDataPointer, out delegateHolder)) + { + callback = delegateHolder.Delegates.FirstOrDefault(d => d.GetType() == typeof(TCallback)) as TCallback; + return callback != null; + } + } + + return false; + } + + /// + /// Tries to get the callback associated with the given internal callback info, and then removes it from the wrapper if applicable. + /// Single-use callbacks will be cleaned up by this function. + /// + /// The internal callback info type. + /// The callback type. + /// The callback info type. + /// The internal callback info. + /// The callback associated with the internal callback info. + /// The callback info. + /// Whether the callback was successfully retrieved. + internal static bool TryGetAndRemoveCallback(ref TCallbackInfoInternal callbackInfoInternal, out TCallback callback, out TCallbackInfo callbackInfo) + where TCallbackInfoInternal : struct, ICallbackInfoInternal, IGettable + where TCallback : class + where TCallbackInfo : struct, ICallbackInfo + { + IntPtr clientDataPointer; + Get(ref callbackInfoInternal, out callbackInfo, out clientDataPointer); + + callback = null; + ulong? notificationId = null; + + lock (s_Callbacks) + { + DelegateHolder delegateHolder; + if (s_Callbacks.TryGetValue(clientDataPointer, out delegateHolder)) + { + callback = delegateHolder.Delegates.FirstOrDefault(d => d.GetType() == typeof(TCallback)) as TCallback; + notificationId = delegateHolder.NotificationId; + } + } + + if (callback != null) + { + // If this delegate was added with an AddNotify, we should only ever remove it on RemoveNotify. + if (notificationId.HasValue) + { + } + + // If the operation is complete, it's safe to remove. + else if (callbackInfo.GetResultCode().HasValue && Common.IsOperationComplete(callbackInfo.GetResultCode().Value)) + { + RemoveCallback(clientDataPointer); + } + + return true; + } + + return false; + } + + /// + /// Tries to get the struct callback associated with the given internal callback info. + /// + /// The internal callback info type. + /// The callback type. + /// The callback info type. + /// The internal callback info. + /// The callback associated with the internal callback info. + /// The callback info. + /// Whether the callback was successfully retrieved. + internal static bool TryGetStructCallback(ref TCallbackInfoInternal callbackInfoInternal, out TCallback callback, out TCallbackInfo callbackInfo) + where TCallbackInfoInternal : struct, ICallbackInfoInternal, IGettable + where TCallback : class + where TCallbackInfo : struct + { + IntPtr clientDataPointer; + Get(ref callbackInfoInternal, out callbackInfo, out clientDataPointer); + + callback = null; + lock (s_Callbacks) + { + DelegateHolder delegateHolder; + if (s_Callbacks.TryGetValue(clientDataPointer, out delegateHolder)) + { + callback = delegateHolder.Delegates.FirstOrDefault(d => d.GetType() == typeof(TCallback)) as TCallback; + if (callback != null) + { + return true; + } + } + } + + return false; + } + + /// + /// Removes a callback from the wrapper by an associated notification id. + /// + /// The notification id associated with the callback. + internal static void RemoveCallbackByNotificationId(ulong notificationId) + { + IntPtr clientDataPointer = IntPtr.Zero; + + lock (s_Callbacks) + { + clientDataPointer = s_Callbacks.SingleOrDefault(pair => pair.Value.NotificationId.HasValue && pair.Value.NotificationId == notificationId).Key; + } + + RemoveCallback(clientDataPointer); + } + + /// + /// Adds a static callback to the wrapper. + /// + /// The key of the callback. + /// The public delegate of the callback. + /// The private delegate of the callback + internal static void AddStaticCallback(string key, params Delegate[] delegates) + { + lock (s_StaticCallbacks) + { + s_StaticCallbacks.Remove(key); + s_StaticCallbacks.Add(key, new DelegateHolder(delegates)); + } + } + + /// + /// Tries to get the static callback associated with the given key. + /// + /// The callback type. + /// The key of the callback. + /// The callback associated with the key. + /// Whether the callback was successfully retrieved. + internal static bool TryGetStaticCallback(string key, out TCallback callback) + where TCallback : class + { + callback = null; + + lock (s_StaticCallbacks) + { + DelegateHolder delegateHolder; + if (s_StaticCallbacks.TryGetValue(key, out delegateHolder)) + { + callback = delegateHolder.Delegates.FirstOrDefault(d => d.GetType() == typeof(TCallback)) as TCallback; + if (callback != null) + { + return true; + } + } + } + + return false; + } + + /// + /// Assigns a notification id to a callback by client data pointer associated with the callback. + /// + /// The client data address associated with the callback. + /// The notification id to assign. + internal static void AssignNotificationIdToCallback(IntPtr clientDataPointer, ulong notificationId) + { + if (notificationId == 0) + { + RemoveCallback(clientDataPointer); + return; + } + + lock (s_Callbacks) + { + DelegateHolder delegateHolder; + if (s_Callbacks.TryGetValue(clientDataPointer, out delegateHolder)) + { + delegateHolder.NotificationId = notificationId; + } + } + } + + /// + /// Adds client data to the wrapper. + /// + /// The client data to add. + /// The pointer of the added client data. + private static IntPtr AddClientData(object clientData) + { + lock (s_ClientDatas) + { + long clientDataId = ++s_LastClientDataId; + IntPtr clientDataPointer = new IntPtr(clientDataId); + s_ClientDatas.Add(clientDataPointer, clientData); + return clientDataPointer; + } + } + + /// + /// Removes a client data from the wrapper. + /// + /// The pointer of the client data to remove. + private static void RemoveClientData(IntPtr clientDataPointer) + { + lock (s_ClientDatas) + { + s_ClientDatas.Remove(clientDataPointer); + } + } + + /// + /// Gets client data by its pointer. + /// + /// The pointer of the client data. + /// Th client data associated with the pointer. + private static object GetClientData(IntPtr clientDataPointer) + { + lock (s_ClientDatas) + { + object clientData; + s_ClientDatas.TryGetValue(clientDataPointer, out clientData); + return clientData; + } + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/Common.cs b/FusionAPI/Dependencies/EOSSDK/Core/Common.cs new file mode 100644 index 0000000..5501dc6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/Common.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#if DEBUG + #define EOS_DEBUG +#endif + +#if UNITY_EDITOR + #define EOS_EDITOR +#endif + +#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_IOS || UNITY_ANDROID + #define EOS_UNITY +#endif + +#if UNITY_EDITOR_WIN + #define EOS_PLATFORM_WINDOWS_64 +#elif UNITY_STANDALONE_WIN + #if UNITY_64 + #define EOS_PLATFORM_WINDOWS_64 + #else + #define EOS_PLATFORM_WINDOWS_32 + #endif + +#elif UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX + #define EOS_PLATFORM_OSX + +#elif UNITY_EDITOR_LINUX || UNITY_STANDALONE_LINUX + #define EOS_PLATFORM_LINUX + +#elif UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS + +#elif UNITY_ANDROID || __ANDROID__ + #define EOS_PLATFORM_ANDROID + +#endif + +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + public sealed partial class Common + { + public const string LIBRARY_NAME = + #if EOS_PLATFORM_WINDOWS_32 && EOS_UNITY + "EOSSDK-Win32-Shipping" + #elif EOS_PLATFORM_WINDOWS_32 + "EOSSDK-Win32-Shipping.dll" + + #elif EOS_PLATFORM_WINDOWS_64 && EOS_UNITY + "EOSSDK-Win64-Shipping" + #elif EOS_PLATFORM_WINDOWS_64 + "EOSSDK-Win64-Shipping.dll" + + #elif EOS_PLATFORM_OSX && EOS_UNITY + "libEOSSDK-Mac-Shipping" + #elif EOS_PLATFORM_OSX + "libEOSSDK-Mac-Shipping.dylib" + + #elif EOS_PLATFORM_LINUX && EOS_UNITY + "libEOSSDK-Linux-Shipping" + #elif EOS_PLATFORM_LINUX + "libEOSSDK-Linux-Shipping.so" + + #elif EOS_PLATFORM_IOS && EOS_UNITY && EOS_EDITOR + "EOSSDK" + #elif EOS_PLATFORM_IOS + "EOSSDK.framework/EOSSDK" + + #elif EOS_PLATFORM_ANDROID + "EOSSDK" + + #else + #error Unable to determine name of the EOSSDK library. Ensure your project defines the correct EOS symbol for your platform, such as EOS_PLATFORM_WINDOWS_64, or define it here if it hasn't been already. + "EOSSDK-UnknownPlatform-Shipping" + + #endif + ; + + public const CallingConvention LIBRARY_CALLING_CONVENTION = + #if EOS_PLATFORM_WINDOWS_32 + CallingConvention.StdCall + #else + CallingConvention.Cdecl + #endif + ; + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/ConvertHelper.cs b/FusionAPI/Dependencies/EOSSDK/Core/ConvertHelper.cs new file mode 100644 index 0000000..e431f11 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/ConvertHelper.cs @@ -0,0 +1,194 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Linq; +using System.Text; + +namespace Epic.OnlineServices +{ + public sealed partial class Helper + { + /// + /// Converts an to a of the specified . + /// + /// The type of to convert to. + /// The value to convert from. + /// The converted value. + private static void Convert(IntPtr from, out THandle to) + where THandle : Handle, new() + { + to = null; + + if (from != IntPtr.Zero) + { + to = new THandle(); + to.InnerHandle = from; + } + } + + /// + /// Converts a to an . + /// + /// The value to convert from. + /// The converted value. + private static void Convert(Handle from, out IntPtr to) + { + to = IntPtr.Zero; + + if (from != null) + { + to = from.InnerHandle; + } + } + + /// + /// Converts from a [] to a . + /// + /// The value to convert from. + /// The converted value. + private static void Convert(byte[] from, out Utf8String to) + { + to = null; + + if (from == null) + { + return; + } + + to = Encoding.ASCII.GetString(from, 0, GetAnsiStringLength(from)); + } + + /// + /// Converts from a of the specified length to a []. + /// + /// The value to convert from. + /// The length to convert from. + /// The converted value. + private static void Convert(string from, out byte[] to, int fromLength) + { + if (from == null) + { + from = ""; + } + + to = new byte[fromLength]; + ASCIIEncoding.ASCII.GetBytes(from, 0, from.Length, to, 0); + to[from.Length] = 0; // Null terminator at the end'\0' + } + + /// + /// Converts from a [] to an . + /// Outputs the length of the []. + /// + /// The type of to convert from. + /// The value to convert from. + /// The converted value; the length of the []. + private static void Convert(TArray[] from, out int to) + { + to = 0; + + if (from != null) + { + to = from.Length; + } + } + + /// + /// Converts from a [] to an . + /// Outputs the length of the []. + /// + /// The type of to convert from. + /// The value to convert from. + /// The converted value; the length of the []. + private static void Convert(TArray[] from, out uint to) + { + to = 0; + + if (from != null) + { + to = (uint)from.Length; + } + } + + /// + /// Converts from an to an . + /// Outputs the length of the . + /// + /// The type of the . + /// The value to convert from. + /// The converted value; the length of the . + private static void Convert(ArraySegment from, out int to) + { + to = from.Count; + } + + /// + /// Converts from an to an . + /// Outputs the length of the . + /// + /// The type of the . + /// The value to convert from. + /// The converted value; the length of the . + private static void Convert(ArraySegment from, out uint to) + { + to = (uint)from.Count; + } + + /// + /// Converts from an to a . + /// + /// The value to convert from. + /// The converted value. + private static void Convert(int from, out bool to) + { + to = from != 0; + } + + /// + /// Converts from an to an . + /// + /// The value to convert from. + /// The converted value. + private static void Convert(bool from, out int to) + { + to = from ? 1 : 0; + } + + /// + /// Converts from a ? to a . + /// Outputs the number of seconds represented by the ? as a unix timestamp. + /// A ? equates to a value of -1, which means unset in the SDK. + /// + /// The value to convert from. + /// The converted value. + private static void Convert(DateTimeOffset? from, out long to) + { + to = -1; + + if (from.HasValue) + { + DateTime unixStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); + long unixTimestampTicks = (from.Value.UtcDateTime - unixStart).Ticks; + long unixTimestampSeconds = unixTimestampTicks / TimeSpan.TicksPerSecond; + to = unixTimestampSeconds; + } + } + + /// + /// Converts from a to a ?. + /// + /// The value to convert from. + /// The converted value. + private static void Convert(long from, out DateTimeOffset? to) + { + to = null; + + if (from >= 0) + { + DateTime unixStart = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); + long unixTimeStampTicks = from * TimeSpan.TicksPerSecond; + to = new DateTimeOffset(unixStart.Ticks + unixTimeStampTicks, TimeSpan.Zero); + } + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/Extensions.cs b/FusionAPI/Dependencies/EOSSDK/Core/Extensions.cs new file mode 100644 index 0000000..5418864 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/Extensions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices +{ + public static class Extensions + { + /// + /// Checks whether the given result indicates that the operation has completed. Some operations may callback with a result indicating that they will callback again. + /// + /// The result to check. + /// Whether the operation has completed or not. + public static bool IsOperationComplete(this Result result) + { + return Common.IsOperationComplete(result); + } + + /// + /// Converts a byte array into a hex string, e.g. "A56904FF". + /// + /// The byte array to convert. + /// A hex string, e.g. "A56904FF". + public static Utf8String ToHexString(this byte[] byteArray) + { + var arraySegment = new ArraySegment(byteArray); + return Common.ToString(arraySegment); + } + + /// + /// Converts an array segment into a hex string, e.g. "A56904FF". + /// + /// The array segment to convert. + /// A hex string, e.g. "A56904FF". + public static Utf8String ToHexString(this ArraySegment arraySegment) + { + return Common.ToString(arraySegment); + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/GetHelper.cs b/FusionAPI/Dependencies/EOSSDK/Core/GetHelper.cs new file mode 100644 index 0000000..6c6a31d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/GetHelper.cs @@ -0,0 +1,214 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + public sealed partial class Helper + { + internal static void Get(TArray[] from, out int to) + { + Convert(from, out to); + } + + internal static void Get(TArray[] from, out uint to) + { + Convert(from, out to); + } + + internal static void Get(ArraySegment from, out uint to) + { + Convert(from, out to); + } + + internal static void Get(ref TInternal from, out TPublic to) + where TInternal : struct, IGettable + where TPublic : struct + { + from.Get(out to); + } + + internal static void Get(ref TInternal from, out TPublic? to) + where TInternal : struct, IGettable + where TPublic : struct + { + TPublic toPublic = default; + from.Get(out toPublic); + to = toPublic; + } + + internal static void Get(T from, out T? to) + where T : struct + { + to = from; + } + + internal static void Get(int from, out bool to) + { + Convert(from, out to); + } + + internal static void Get(int from, out bool? to) + { + bool intermediate; + Convert(from, out intermediate); + to = intermediate; + } + + internal static void Get(bool from, out int to) + { + Convert(from, out to); + } + + internal static void Get(long from, out DateTimeOffset? to) + { + Convert(from, out to); + } + + internal static void Get(IntPtr from, out ArraySegment to, uint arrayLength) + { + to = new ArraySegment(); + if (arrayLength != 0) + { + byte[] bytes = new byte[arrayLength]; + Marshal.Copy(from, bytes, 0, (int)arrayLength); + to = new ArraySegment(bytes); + } + } + + internal static void Get(IntPtr from, out Utf8String[] to, int arrayLength, bool isArrayItemAllocated) + { + GetAllocation(from, out to, arrayLength, isArrayItemAllocated); + } + + internal static void Get(IntPtr from, out Utf8String[] to, uint arrayLength, bool isArrayItemAllocated) + { + GetAllocation(from, out to, (int)arrayLength, isArrayItemAllocated); + } + + internal static void Get(IntPtr from, out T[] to, uint arrayLength, bool isArrayItemAllocated) + where T : struct + { + GetAllocation(from, out to, (int)arrayLength, isArrayItemAllocated); + } + + internal static void Get(IntPtr from, out T[] to, int arrayLength, bool isArrayItemAllocated) + where T : struct + { + GetAllocation(from, out to, arrayLength, isArrayItemAllocated); + } + + internal static void Get(IntPtr from, out THandle to) + where THandle : Handle, new() + { + Convert(from, out to); + } + + internal static void Get(IntPtr from, out THandle[] to, uint arrayLength) + where THandle : Handle, new() + { + GetAllocation(from, out to, (int)arrayLength); + } + + internal static void Get(IntPtr from, out IntPtr[] to, uint arrayLength) + { + GetAllocation(from, out to, (int)arrayLength, false); + } + + internal static void Get(TInternal[] from, out TPublic[] to) + where TInternal : struct, IGettable + where TPublic : struct + { + to = default; + + if (from != null) + { + to = new TPublic[from.Length]; + + for (int index = 0; index < from.Length; ++index) + { + from[index].Get(out to[index]); + } + } + } + + internal static void Get(IntPtr from, out TPublic[] to, int arrayLength, bool isArrayItemAllocated) + where TInternal : struct, IGettable + where TPublic : struct + { + TInternal[] fromInternal; + Get(from, out fromInternal, arrayLength, isArrayItemAllocated); + Get(fromInternal, out to); + } + + internal static void Get(IntPtr from, out TPublic[] to, uint arrayLength, bool isArrayItemAllocated) + where TInternal : struct, IGettable + where TPublic : struct + { + Get(from, out to, (int)arrayLength, isArrayItemAllocated); + } + + internal static void Get(IntPtr from, out T? to) + where T : struct + { + GetAllocation(from, out to); + } + + internal static void Get(byte[] from, out Utf8String to) + { + Convert(from, out to); + } + + internal static void Get(IntPtr from, out object to) + { + to = GetClientData(from); + } + + internal static void Get(IntPtr from, out Utf8String to) + { + GetAllocation(from, out to); + } + + internal static void Get(IntPtr from, out TPublic to) + where TInternal : struct, IGettable + where TPublic : struct + { + to = default; + + TInternal? fromInternal; + Get(from, out fromInternal); + + if (fromInternal.HasValue) + { + fromInternal.Value.Get(out to); + } + } + + internal static void Get(IntPtr from, out TPublic? to) + where TInternal : struct, IGettable + where TPublic : struct + { + to = default; + + TInternal? fromInternal; + Get(from, out fromInternal); + + if (fromInternal.HasValue) + { + TPublic toPublic; + fromInternal.Value.Get(out toPublic); + + to = toPublic; + } + } + + internal static void Get(ref TInternal from, out TPublic to, out IntPtr clientDataPointer) + where TInternal : struct, ICallbackInfoInternal, IGettable + where TPublic : struct + { + from.Get(out to); + clientDataPointer = from.ClientDataPointer; + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/Handle.cs b/FusionAPI/Dependencies/EOSSDK/Core/Handle.cs new file mode 100644 index 0000000..5df4744 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/Handle.cs @@ -0,0 +1,94 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices +{ + /// + /// Represents an SDK handle. + /// + public abstract class Handle : IEquatable, IFormattable + { + public IntPtr InnerHandle { get; internal set; } + + /// + /// Initializes a new instance of the class. + /// + public Handle() + { + } + + /// + /// Initializes a new instance of the class with the given inner handle. + /// + public Handle(IntPtr innerHandle) + { + InnerHandle = innerHandle; + } + + public static bool operator ==(Handle left, Handle right) + { + if (ReferenceEquals(left, null)) + { + if (ReferenceEquals(right, null)) + { + return true; + } + + return false; + } + + return left.Equals(right); + } + + public static bool operator !=(Handle left, Handle right) + { + return !(left == right); + } + + public override bool Equals(object obj) + { + return Equals(obj as Handle); + } + + public override int GetHashCode() + { + return (int)(0x00010000 + InnerHandle.ToInt64()); + } + + public bool Equals(Handle other) + { + if (ReferenceEquals(other, null)) + { + return false; + } + + if (ReferenceEquals(this, other)) + { + return true; + } + + if (GetType() != other.GetType()) + { + return false; + } + + return InnerHandle == other.InnerHandle; + } + + public override string ToString() + { + return InnerHandle.ToString(); + } + + public virtual string ToString(string format, IFormatProvider formatProvider) + { + if (format != null) + { + return InnerHandle.ToString(format); + } + + return InnerHandle.ToString(); + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/Helper.cs b/FusionAPI/Dependencies/EOSSDK/Core/Helper.cs new file mode 100644 index 0000000..a40a29e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/Helper.cs @@ -0,0 +1,683 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + // In earlier versions of .NET and some versions of unity, IntPtr is not equatable and therefore cannot be used as a key + // for dictionaries without causing memory allocations when comparing two IntPtr. + // We therefore have to fall back on using an long int representation of pointers. + using PointerType = UInt64; + + internal class AllocationException : Exception + { + public AllocationException(string message) + : base(message) + { + } + } + + internal class ExternalAllocationException : AllocationException + { + public ExternalAllocationException(IntPtr pointer, Type type) + : base(string.Format("Attempting to allocate '{0}' over externally allocated memory at {1}", type, pointer.ToString("X"))) + { + } + } + + internal class CachedTypeAllocationException : AllocationException + { + public CachedTypeAllocationException(IntPtr pointer, Type foundType, Type expectedType) + : base(string.Format("Cached allocation is '{0}' but expected '{1}' at {2}", foundType, expectedType, pointer.ToString("X"))) + { + } + } + + internal class CachedArrayAllocationException : AllocationException + { + public CachedArrayAllocationException(IntPtr pointer, int foundLength, int expectedLength) + : base(string.Format("Cached array allocation has length {0} but expected {1} at {2}", foundLength, expectedLength, pointer.ToString("X"))) + { + } + } + + internal class DynamicBindingException : Exception + { + public DynamicBindingException(string bindingName) + : base(string.Format("Failed to hook dynamic binding for '{0}'", bindingName)) + { + } + } + + /// + /// A helper class that manages memory in the wrapper. + /// + public sealed partial class Helper + { + private struct Allocation + { + public int Size { get; private set; } + + public object Cache { get; private set; } + + public bool? IsArrayItemAllocated { get; private set; } + + public Allocation(int size, object cache, bool? isArrayItemAllocated = null) + { + Size = size; + Cache = cache; + IsArrayItemAllocated = isArrayItemAllocated; + } + } + private struct PinnedBuffer + { + public GCHandle Handle { get; private set; } + + public int RefCount { get; set; } + + public PinnedBuffer(GCHandle handle) + { + Handle = handle; + RefCount = 1; + } + } + + private class DelegateHolder + { + public List Delegates { get; private set; } = new List(); + public ulong? NotificationId { get; set; } + + public DelegateHolder(params Delegate[] delegates) + { + Delegates.AddRange(delegates.Where(d => d != null)); + } + } + + private static Dictionary s_Allocations = new Dictionary(); + private static Dictionary s_PinnedBuffers = new Dictionary(); + private static Dictionary s_Callbacks = new Dictionary(); + private static Dictionary s_StaticCallbacks = new Dictionary(); + private static long s_LastClientDataId = 0; + private static Dictionary s_ClientDatas = new Dictionary(); + + /// + /// Gets the number of unmanaged allocations and other stored values in the wrapper. Use this to find leaks related to the usage of wrapper code. + /// + /// The number of unmanaged allocations currently active within the wrapper. + public static int GetAllocationCount() + { + return s_Allocations.Count + s_PinnedBuffers.Aggregate(0, (acc, x) => acc + x.Value.RefCount) + s_Callbacks.Count + s_ClientDatas.Count; + } + + internal static void Copy(byte[] from, IntPtr to) + { + if (from != null && to != IntPtr.Zero) + { + Marshal.Copy(from, 0, to, from.Length); + } + } + + internal static void Copy(ArraySegment from, IntPtr to) + { + if (from.Count != 0 && to != IntPtr.Zero) + { + Marshal.Copy(from.Array, from.Offset, to, from.Count); + } + } + + internal static void Dispose(ref IntPtr value) + { + RemoveAllocation(ref value); + RemovePinnedBuffer(ref value); + value = default; + } + + internal static void Dispose(ref IDisposable disposable) + { + disposable?.Dispose(); + } + + internal static void Dispose(ref TDisposable disposable) + where TDisposable : struct, IDisposable + { + disposable.Dispose(); + } + + private static int GetAnsiStringLength(byte[] bytes) + { + int length = 0; + foreach (byte currentByte in bytes) + { + if (currentByte == 0) + { + break; + } + + ++length; + } + + return length; + } + + private static int GetAnsiStringLength(IntPtr pointer) + { + int length = 0; + while (Marshal.ReadByte(pointer, length) != 0) + { + ++length; + } + + return length; + } + private static void GetAllocation(IntPtr source, out T target) + { + target = default; + + if (source == IntPtr.Zero) + { + return; + } + + object allocationCache; + if (TryGetAllocationCache(source, out allocationCache)) + { + if (allocationCache != null) + { + if (allocationCache.GetType() == typeof(T)) + { + target = (T)allocationCache; + return; + } + else + { + throw new CachedTypeAllocationException(source, allocationCache.GetType(), typeof(T)); + } + } + } + + target = (T)Marshal.PtrToStructure(source, typeof(T)); + } + + private static void GetAllocation(IntPtr source, out T? target) + where T : struct + { + target = default; + + if (source == IntPtr.Zero) + { + return; + } + + // If this is an allocation containing cached data, we should be able to fetch it from the cache + object allocationCache; + if (TryGetAllocationCache(source, out allocationCache)) + { + if (allocationCache != null) + { + if (allocationCache.GetType() == typeof(T)) + { + target = (T?)allocationCache; + return; + } + else + { + throw new CachedTypeAllocationException(source, allocationCache.GetType(), typeof(T)); + } + } + } + + if (typeof(T).IsEnum) + { + target = (T)Marshal.PtrToStructure(source, Enum.GetUnderlyingType(typeof(T))); + } + else + { + target = (T?)Marshal.PtrToStructure(source, typeof(T)); + } + } + + private static void GetAllocation(IntPtr source, out THandle[] target, int arrayLength) + where THandle : Handle, new() + { + target = null; + + if (source == IntPtr.Zero) + { + return; + } + + // If this is an allocation containing cached data, we should be able to fetch it from the cache + object allocationCache; + + if (TryGetAllocationCache(source, out allocationCache)) + { + if (allocationCache != null) + { + if (allocationCache.GetType() == typeof(THandle[])) + { + var cachedArray = (Array)allocationCache; + if (cachedArray.Length == arrayLength) + { + target = cachedArray as THandle[]; + return; + } + else + { + throw new CachedArrayAllocationException(source, cachedArray.Length, arrayLength); + } + } + else + { + throw new CachedTypeAllocationException(source, allocationCache.GetType(), typeof(THandle[])); + } + } + } + + var itemSize = Marshal.SizeOf(typeof(IntPtr)); + + List items = new List(); + for (int itemIndex = 0; itemIndex < arrayLength; ++itemIndex) + { + IntPtr itemPointer = new IntPtr(source.ToInt64() + itemIndex * itemSize); + itemPointer = Marshal.ReadIntPtr(itemPointer); + THandle item; + Convert(itemPointer, out item); + items.Add(item); + } + + target = items.ToArray(); + } + + private static void GetAllocation(IntPtr from, out T[] to, int arrayLength, bool isArrayItemAllocated) + { + to = null; + + if (from == IntPtr.Zero) + { + return; + } + + // If this is an allocation containing cached data, we should be able to fetch it from the cache + object allocationCache; + if (TryGetAllocationCache(from, out allocationCache)) + { + if (allocationCache != null) + { + if (allocationCache.GetType() == typeof(T[])) + { + var cachedArray = (Array)allocationCache; + if (cachedArray.Length == arrayLength) + { + to = cachedArray as T[]; + return; + } + else + { + throw new CachedArrayAllocationException(from, cachedArray.Length, arrayLength); + } + } + else + { + throw new CachedTypeAllocationException(from, allocationCache.GetType(), typeof(T[])); + } + } + } + + int itemSize; + if (isArrayItemAllocated) + { + itemSize = Marshal.SizeOf(typeof(IntPtr)); + } + else + { + itemSize = Marshal.SizeOf(typeof(T)); + } + + List items = new List(); + for (int itemIndex = 0; itemIndex < arrayLength; ++itemIndex) + { + IntPtr itemPointer = new IntPtr(from.ToInt64() + itemIndex * itemSize); + + if (isArrayItemAllocated) + { + itemPointer = Marshal.ReadIntPtr(itemPointer); + } + + T item; + if (typeof(T) == typeof(Utf8String)) + { + Utf8String str; + GetAllocation(itemPointer, out str); + item = (T)(object)(str); + } + else + { + GetAllocation(itemPointer, out item); + } + items.Add(item); + } + + to = items.ToArray(); + } + + private static void GetAllocation(IntPtr source, out Utf8String target) + { + target = null; + + if (source == IntPtr.Zero) + { + return; + } + + // C style strlen + int length = GetAnsiStringLength(source); + + // +1 byte for the null terminator. + byte[] bytes = new byte[length + 1]; + Marshal.Copy(source, bytes, 0, length + 1); + + target = new Utf8String(bytes); + } + + internal static IntPtr AddAllocation(int size) + { + if (size == 0) + { + return IntPtr.Zero; + } + + IntPtr pointer = Marshal.AllocHGlobal(size); + Marshal.WriteByte(pointer, 0, 0); + + lock (s_Allocations) + { + s_Allocations.Add((PointerType)pointer, new Allocation(size, null)); + } + + return pointer; + } + + internal static IntPtr AddAllocation(uint size) + { + return AddAllocation((int)size); + } + + private static IntPtr AddAllocation(int size, T cache) + { + if (size == 0 || cache == null) + { + return IntPtr.Zero; + } + + IntPtr pointer = Marshal.AllocHGlobal(size); + Marshal.StructureToPtr(cache, pointer, false); + + lock (s_Allocations) + { + s_Allocations.Add((PointerType)pointer, new Allocation(size, cache)); + } + + return pointer; + } + + private static IntPtr AddAllocation(int size, T[] cache, bool? isArrayItemAllocated) + { + if (size == 0 || cache == null) + { + return IntPtr.Zero; + } + + IntPtr pointer = Marshal.AllocHGlobal(size); + Marshal.WriteByte(pointer, 0, 0); + + lock (s_Allocations) + { + s_Allocations.Add((PointerType)pointer, new Allocation(size, cache, isArrayItemAllocated)); + } + + return pointer; + } + + private static IntPtr AddAllocation(T[] array, bool isArrayItemAllocated) + { + if (array == null) + { + return IntPtr.Zero; + } + + int itemSize; + if (isArrayItemAllocated || typeof(T).BaseType == typeof(Handle)) + { + itemSize = Marshal.SizeOf(typeof(IntPtr)); + } + else + { + itemSize = Marshal.SizeOf(typeof(T)); + } + + IntPtr newArrayPointer = AddAllocation(array.Length * itemSize, array, isArrayItemAllocated); + + for (int itemIndex = 0; itemIndex < array.Length; ++itemIndex) + { + var item = (T)array.GetValue(itemIndex); + + if (isArrayItemAllocated) + { + IntPtr newItemPointer; + if (typeof(T) == typeof(Utf8String)) + { + newItemPointer = AddPinnedBuffer((Utf8String)(object)item); + } + else + { + newItemPointer = AddAllocation(Marshal.SizeOf(typeof(T)), item); + } + + // Copy the item's pointer into the array + IntPtr itemPointer = new IntPtr(newArrayPointer.ToInt64() + itemIndex * itemSize); + Marshal.StructureToPtr(newItemPointer, itemPointer, false); + } + else + { + // Copy the data straight into memory + IntPtr itemPointer = new IntPtr(newArrayPointer.ToInt64() + itemIndex * itemSize); + if (typeof(T).BaseType == typeof(Handle)) + { + IntPtr newItemPointer; + Convert((Handle)(object)item, out newItemPointer); + Marshal.StructureToPtr(newItemPointer, itemPointer, false); + } + else + { + Marshal.StructureToPtr(item, itemPointer, false); + } + } + } + + return newArrayPointer; + } + + private static void RemoveAllocation(ref IntPtr pointer) + { + if (pointer == IntPtr.Zero) + { + return; + } + + Allocation allocation; + lock (s_Allocations) + { + if (!s_Allocations.TryGetValue((PointerType)pointer, out allocation)) + { + return; + } + + s_Allocations.Remove((PointerType)pointer); + } + + // If the allocation is an array, dispose and release its items as needbe. + if (allocation.IsArrayItemAllocated.HasValue) + { + int itemSize; + if (allocation.IsArrayItemAllocated.Value || allocation.Cache.GetType().GetElementType().BaseType == typeof(Handle)) + { + itemSize = Marshal.SizeOf(typeof(IntPtr)); + } + else + { + itemSize = Marshal.SizeOf(allocation.Cache.GetType().GetElementType()); + } + + var array = allocation.Cache as Array; + for (int itemIndex = 0; itemIndex < array.Length; ++itemIndex) + { + if (allocation.IsArrayItemAllocated.Value) + { + var itemPointer = new IntPtr(pointer.ToInt64() + itemIndex * itemSize); + itemPointer = Marshal.ReadIntPtr(itemPointer); + Dispose(ref itemPointer); + } + else + { + var item = array.GetValue(itemIndex); + if (item is IDisposable) + { + var disposable = item as IDisposable; + if (disposable != null) + { + disposable.Dispose(); + } + } + } + } + } + + if (allocation.Cache is IDisposable) + { + var disposable = allocation.Cache as IDisposable; + if (disposable != null) + { + disposable.Dispose(); + } + } + + Marshal.FreeHGlobal(pointer); + pointer = IntPtr.Zero; + } + + private static bool TryGetAllocationCache(IntPtr pointer, out object cache) + { + cache = null; + + lock (s_Allocations) + { + Allocation allocation; + if (s_Allocations.TryGetValue((PointerType)pointer, out allocation)) + { + cache = allocation.Cache; + return true; + } + } + + return false; + } + + private static IntPtr AddPinnedBuffer(byte[] buffer, int offset) + { + if (buffer == null) + { + return IntPtr.Zero; + } + + GCHandle handle = GCHandle.Alloc(buffer, GCHandleType.Pinned); + PointerType pointer = (PointerType) Marshal.UnsafeAddrOfPinnedArrayElement(buffer, offset); + + lock (s_PinnedBuffers) + { + // If the item is already pinned, increase the reference count. + if (s_PinnedBuffers.ContainsKey(pointer)) + { + // Since this is a structure, need to copy to modify the element. + PinnedBuffer pinned = s_PinnedBuffers[pointer]; + pinned.RefCount++; + s_PinnedBuffers[pointer] = pinned; + } + else + { + s_PinnedBuffers.Add(pointer, new PinnedBuffer(handle)); + } + + return (IntPtr)pointer; + } + } + + private static IntPtr AddPinnedBuffer(Utf8String str) + { + if (str == null || str.Bytes == null) + { + return IntPtr.Zero; + } + + return AddPinnedBuffer(str.Bytes, 0); + } + + internal static IntPtr AddPinnedBuffer(ArraySegment array) + { + if (array == null) + { + return IntPtr.Zero; + } + + return AddPinnedBuffer(array.Array, array.Offset); + } + + internal static IntPtr AddPinnedBuffer(byte[] array) + { + if (array == null) + { + return IntPtr.Zero; + } + + return AddPinnedBuffer(array, 0); + } + + private static void RemovePinnedBuffer(ref IntPtr pointer) + { + if (pointer == IntPtr.Zero) + { + return; + } + + lock (s_PinnedBuffers) + { + PinnedBuffer pinnedBuffer; + PointerType pointerKey = (PointerType)pointer; + if (s_PinnedBuffers.TryGetValue(pointerKey, out pinnedBuffer)) + { + // Deref the allocation. + pinnedBuffer.RefCount--; + + // If the reference count is zero, remove the allocation from the list of tracked allocations. + if (pinnedBuffer.RefCount == 0) + { + s_PinnedBuffers.Remove(pointerKey); + + // We only call free on the handle when the last reference has been dropped. + // Otherwise, the buffer is immediately unpinned despite the fact that there are still references to it. + pinnedBuffer.Handle.Free(); + } + else + { + // Copy back the structure with the decreased reference count. + s_PinnedBuffers[pointerKey] = pinnedBuffer; + } + } + } + + pointer = IntPtr.Zero; + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/ICallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Core/ICallbackInfo.cs new file mode 100644 index 0000000..fa63273 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/ICallbackInfo.cs @@ -0,0 +1,17 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices +{ + internal interface ICallbackInfo + { + object GetClientData(); + Result? GetResultCode(); + } + + internal interface ICallbackInfoInternal + { + IntPtr ClientDataPointer { get; } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Core/IGettable.cs b/FusionAPI/Dependencies/EOSSDK/Core/IGettable.cs new file mode 100644 index 0000000..721f30f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/IGettable.cs @@ -0,0 +1,16 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +namespace Epic.OnlineServices +{ + internal interface IGettable + where T : struct + { + void Get(out T other); + } + + internal interface IGettable + where T : struct + { + void Get(out T other, TEnum enumValue, int? arrayLength); + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/ISettable.cs b/FusionAPI/Dependencies/EOSSDK/Core/ISettable.cs new file mode 100644 index 0000000..4e01bb1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/ISettable.cs @@ -0,0 +1,12 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices +{ + internal interface ISettable : IDisposable + where T : struct + { + void Set(ref T other); + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/MonoPInvokeCallbackAttribute.cs b/FusionAPI/Dependencies/EOSSDK/Core/MonoPInvokeCallbackAttribute.cs new file mode 100644 index 0000000..c58daf7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/MonoPInvokeCallbackAttribute.cs @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices +{ + [AttributeUsage(AttributeTargets.Method)] + internal sealed class MonoPInvokeCallbackAttribute : Attribute + { + public MonoPInvokeCallbackAttribute(Type type) + { + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/P2P/GetNextReceivedPacketSizeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Core/P2P/GetNextReceivedPacketSizeOptions.cs new file mode 100644 index 0000000..099373d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/P2P/GetNextReceivedPacketSizeOptions.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like to receive a packet. + /// + public struct GetNextReceivedPacketSizeOptions + { + internal byte[] m_RequestedChannel; + /// + /// The Product User ID of the local user who is receiving the packet + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// An optional channel to request the data for. If , we're retrieving the size of the next packet on any channel. + /// + public byte? RequestedChannel + { + get + { + if (m_RequestedChannel == null) + { + return null; + } + + return m_RequestedChannel[0]; + } + set + { + if (value != null) + { + if (m_RequestedChannel == null) + { + m_RequestedChannel = new byte[1]; + } + m_RequestedChannel[0] = value.Value; + } + else + { + m_RequestedChannel = null; + } + } + } + } + + [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] + internal struct GetNextReceivedPacketSizeOptionsInternal : ISettable, System.IDisposable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RequestedChannel; + + public void Set(ref GetNextReceivedPacketSizeOptions other) + { + m_ApiVersion = P2PInterface.GETNEXTRECEIVEDPACKETSIZE_API_LATEST; + m_LocalUserId = other.LocalUserId.InnerHandle; + m_RequestedChannel = IntPtr.Zero; + if (other.RequestedChannel.HasValue) + { + m_RequestedChannel = Helper.AddPinnedBuffer(other.m_RequestedChannel); + } + } + + public void Set(ref GetNextReceivedPacketSizeOptions? other) + { + if (other.HasValue) + { + m_ApiVersion = P2PInterface.GETNEXTRECEIVEDPACKETSIZE_API_LATEST; + m_LocalUserId = other.Value.LocalUserId.InnerHandle; + m_RequestedChannel = IntPtr.Zero; + if (other.Value.RequestedChannel.HasValue) + { + m_RequestedChannel = Helper.AddPinnedBuffer(other.Value.m_RequestedChannel); + } + } + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RequestedChannel); + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/P2P/P2PInterface.cs b/FusionAPI/Dependencies/EOSSDK/Core/P2P/P2PInterface.cs new file mode 100644 index 0000000..fa9b17d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/P2P/P2PInterface.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices.P2P +{ + public sealed partial class P2PInterface : Handle + { + /// + /// Receive the next packet for the local user, and information associated with this packet, if it exists. + /// + /// + /// Information about who is requesting the size of their next packet, and how much data can be stored safely + /// The Remote User who sent data. Only set if there was a packet to receive. + /// The Socket ID of the data that was sent. Only set if there was a packet to receive. + /// The channel the data was sent on. Only set if there was a packet to receive. + /// Buffer to store the data being received. Must be at least in length or data will be truncated + /// The amount of bytes written to OutData. Only set if there was a packet to receive. + /// + /// - If the packet was received successfully + /// - If input was invalid + /// - If there are no packets available for the requesting user + /// + public Result ReceivePacket(ref ReceivePacketOptions options, ref ProductUserId outPeerId, ref SocketId outSocketId, out byte outChannel, System.ArraySegment outData, out uint outBytesWritten) + { + bool wasCacheValid = outSocketId.PrepareForUpdate(); + IntPtr outSocketIdAddr = Helper.AddPinnedBuffer(outSocketId.m_AllBytes); + IntPtr outDataAddress = Helper.AddPinnedBuffer(outData); + var optionsInternal = new ReceivePacketOptionsInternal(ref options); + try + { + var outPeerIdAddress = IntPtr.Zero; + outChannel = default; + outBytesWritten = 0; + var funcResult = Bindings.EOS_P2P_ReceivePacket(InnerHandle, ref optionsInternal, out outPeerIdAddress, outSocketIdAddr, out outChannel, outDataAddress, out outBytesWritten); + + if (outPeerId == null) + { + // Note: Will allocate a new ProductUserId(), to avoid continual allocation of a peer id object, pass a non null reference. + Helper.Get(outPeerIdAddress, out outPeerId); + } + else if (outPeerId.InnerHandle != outPeerIdAddress) + { + // Optimization Note: clients can pass the same ProductUserId object to avoid continually allocating a new object but will need to pay attention to InnerHandler changes + outPeerId.InnerHandle = outPeerIdAddress; + } + + // Optimization Note: this will check if socket ID bytes were unchanged to allow using previous cached string and avoid a new allocation. + outSocketId.CheckIfChanged(wasCacheValid); + + return funcResult; + } + finally + { + Helper.Dispose(ref outSocketIdAddr); + Helper.Dispose(ref outDataAddress); + optionsInternal.Dispose(); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Core/P2P/ReceivePacketOptions.cs b/FusionAPI/Dependencies/EOSSDK/Core/P2P/ReceivePacketOptions.cs new file mode 100644 index 0000000..26e3ab8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/P2P/ReceivePacketOptions.cs @@ -0,0 +1,82 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like to receive a packet, and how much data can be stored safely. + /// + [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] + public struct ReceivePacketOptions + { + internal byte[] m_RequestedChannel; + /// + /// The Product User ID of the user who is receiving the packet + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The maximum amount of data in bytes that can be safely copied to OutData in the function call + /// + public uint MaxDataSizeBytes { get; set; } + + /// + /// An optional channel to request the data for. If , we're retrieving the next packet on any channel + /// + public byte? RequestedChannel + { + get + { + if (m_RequestedChannel == null) + { + return null; + } + + return m_RequestedChannel[0]; + } + set + { + if (value != null) + { + if (m_RequestedChannel == null) + { + m_RequestedChannel = new byte[1]; + } + m_RequestedChannel[0] = value.Value; + } + else + { + m_RequestedChannel = null; + } + } + } + } + + [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] + internal struct ReceivePacketOptionsInternal : IDisposable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_MaxDataSizeBytes; + public IntPtr m_RequestedChannel; + + public ReceivePacketOptionsInternal(ref ReceivePacketOptions other) + { + m_ApiVersion = P2PInterface.RECEIVEPACKET_API_LATEST; + m_RequestedChannel = IntPtr.Zero; + if (other.RequestedChannel.HasValue) + { + m_RequestedChannel = Helper.AddPinnedBuffer(other.m_RequestedChannel); + } + m_LocalUserId = other.LocalUserId.InnerHandle; + m_MaxDataSizeBytes = other.MaxDataSizeBytes; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RequestedChannel); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Core/P2P/SendPacketOptions.cs b/FusionAPI/Dependencies/EOSSDK/Core/P2P/SendPacketOptions.cs new file mode 100644 index 0000000..58a24a4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/P2P/SendPacketOptions.cs @@ -0,0 +1,128 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + [StructLayout(LayoutKind.Sequential, Pack = 8)] + internal struct SendPacketOptionsInternal : ISettable, IDisposable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + internal IntPtr m_SocketId; + private byte m_Channel; + private uint m_DataLengthBytes; + private IntPtr m_Data; + private int m_AllowDelayedDelivery; + private PacketReliability m_Reliability; + private int m_DisableAutoAcceptConnection; + + public ProductUserId LocalUserId + { + set + { + Helper.Set(value, ref m_LocalUserId); + } + } + + public ProductUserId RemoteUserId + { + set + { + Helper.Set(value, ref m_RemoteUserId); + } + } + + + public byte Channel + { + set + { + m_Channel = value; + } + } + + public ArraySegment Data + { + set + { + Helper.Set(value, ref m_Data, out m_DataLengthBytes); + } + } + + public bool AllowDelayedDelivery + { + set + { + Helper.Set(value, ref m_AllowDelayedDelivery); + } + } + + public PacketReliability Reliability + { + set + { + m_Reliability = value; + } + } + + public bool DisableAutoAcceptConnection + { + set + { + Helper.Set(value, ref m_DisableAutoAcceptConnection); + } + } + + public void Set(ref SendPacketOptions other) + { + m_ApiVersion = P2PInterface.SENDPACKET_API_LATEST; + LocalUserId = other.LocalUserId; + RemoteUserId = other.RemoteUserId; + + m_SocketId = IntPtr.Zero; + if(other.SocketId.HasValue) + { + m_SocketId = Helper.AddPinnedBuffer(other.SocketId.Value.m_AllBytes); + } + + Channel = other.Channel; + Data = other.Data; + AllowDelayedDelivery = other.AllowDelayedDelivery; + Reliability = other.Reliability; + DisableAutoAcceptConnection = other.DisableAutoAcceptConnection; + } + + public void Set(ref SendPacketOptions? other) + { + if (other.HasValue) + { + m_ApiVersion = P2PInterface.SENDPACKET_API_LATEST; + LocalUserId = other.Value.LocalUserId; + RemoteUserId = other.Value.RemoteUserId; + + m_SocketId = IntPtr.Zero; + if (other.Value.SocketId.HasValue) + { + m_SocketId = Helper.AddPinnedBuffer(other.Value.SocketId.Value.m_AllBytes); + } + + Channel = other.Value.Channel; + Data = other.Value.Data; + AllowDelayedDelivery = other.Value.AllowDelayedDelivery; + Reliability = other.Value.Reliability; + DisableAutoAcceptConnection = other.Value.DisableAutoAcceptConnection; + } + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RemoteUserId); + Helper.Dispose(ref m_SocketId); + Helper.Dispose(ref m_Data); + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/P2P/SocketId.cs b/FusionAPI/Dependencies/EOSSDK/Core/P2P/SocketId.cs new file mode 100644 index 0000000..ab6fb2a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/P2P/SocketId.cs @@ -0,0 +1,130 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Text; + +namespace Epic.OnlineServices.P2P +{ + /// + /// P2P Socket ID + /// + /// The Socket ID contains an application-defined name for the connection between a local person and another peer. + /// + /// When a remote user receives a connection request from you, they will receive this information. It can be important + /// to only accept connections with a known socket-name and/or from a known user, to prevent leaking of private + /// information, such as a user's IP address. Using the socket name as a secret key can help prevent such leaks. Shared + /// private data, like a private match's Session ID are good candidates for a socket name. + /// + public struct SocketId + { + public static readonly SocketId Empty = new SocketId(); + private const int MaxSocketNameLength = 32; + private const int ApiVersionLength = sizeof(int); + private const int NullTerminatorSpace = 1; + private const int TotalSizeInBytes = MaxSocketNameLength + ApiVersionLength + NullTerminatorSpace; + + private bool m_CacheValid; + private string m_CachedSocketName; + + internal byte[] m_AllBytes; + internal byte[] m_SwapBuffer; + + public string SocketName + { + get + { + if (m_CacheValid) + { + return m_CachedSocketName; + } + + if (m_AllBytes == null) + { + return null; + } + + RebuildStringFromBuffer(); + + return m_CachedSocketName; + } + set + { + m_CachedSocketName = value; + if(value == null) + { + m_CacheValid = true; + return; + } + + EnsureStorage(); + + int stringEndIndex = Math.Min(MaxSocketNameLength, value.Length); + ASCIIEncoding.ASCII.GetBytes(value, 0, stringEndIndex, m_AllBytes, ApiVersionLength); + // Add ascii null to end of string + m_AllBytes[stringEndIndex + ApiVersionLength] = 0; + m_CacheValid = true; + } + } + + internal bool PrepareForUpdate() + { + bool wasCacheValid = m_CacheValid; + m_CacheValid = false; + EnsureStorage(); + CopyIdToSwapBuffer(); + return wasCacheValid; + } + + internal void CheckIfChanged(bool wasCacheValid) + { + if (!wasCacheValid || m_SwapBuffer == null || m_AllBytes == null) + { + return; + } + + bool identical = true; + for (int i = 0; i < m_SwapBuffer.Length; i++) + { + if (m_AllBytes[ApiVersionLength + i] != m_SwapBuffer[i]) + { + identical = false; + break; + } + } + + if (identical) + { + // No need to recompute the value of cached string + m_CacheValid = true; + } + } + + private void RebuildStringFromBuffer() + { + EnsureStorage(); + + int stringEndIndex; + for (stringEndIndex = ApiVersionLength; stringEndIndex < m_AllBytes.Length && m_AllBytes[stringEndIndex] != '\0'; stringEndIndex++) + { + } + + m_CachedSocketName = ASCIIEncoding.ASCII.GetString(m_AllBytes, ApiVersionLength, stringEndIndex - ApiVersionLength); + m_CacheValid = true; + } + + private void EnsureStorage() + { + if (m_AllBytes == null || m_AllBytes.Length < TotalSizeInBytes) + { + m_AllBytes = new byte[TotalSizeInBytes]; + m_SwapBuffer = new byte[TotalSizeInBytes - ApiVersionLength]; + Array.Copy(BitConverter.GetBytes(P2PInterface.SOCKETID_API_LATEST), 0, m_AllBytes, 0, sizeof(int)); + } + } + + private void CopyIdToSwapBuffer() + { + Array.Copy(m_AllBytes, ApiVersionLength, m_SwapBuffer, 0, m_SwapBuffer.Length); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Core/SetHelper.cs b/FusionAPI/Dependencies/EOSSDK/Core/SetHelper.cs new file mode 100644 index 0000000..afe23d6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/SetHelper.cs @@ -0,0 +1,216 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using Epic.OnlineServices.UI; +using System; +using System.Reflection; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + public sealed partial class Helper + { + internal static void Set(T from, ref T? to) + where T : struct + { + to = from; + } + + internal static void Set(T? from, ref T to) + where T : struct + { + to = default; + + if (from.HasValue) + { + to = from.Value; + } + } + + internal static void Set(T? from, ref T? to) + where T : struct + { + to = from; + } + + internal static void Set(bool? from, ref int to) + { + to = default; + + if (from.HasValue) + { + Convert(from.Value, out to); + } + } + + internal static void Set(T from, ref IntPtr to) + where T : struct + { + Dispose(ref to); + + to = AddAllocation(Marshal.SizeOf(typeof(T)), from); + Marshal.StructureToPtr(from, to, false); + } + + internal static void Set(T? from, ref IntPtr to) + where T : struct + { + Dispose(ref to); + + if (from.HasValue) + { + to = AddAllocation(Marshal.SizeOf(typeof(T)), from); + Marshal.StructureToPtr(from.Value, to, false); + } + } + + internal static void Set(object from, ref IntPtr to) + { + Dispose(ref to); + AddCallback(out to, from); + } + + internal static void Set(Utf8String from, ref IntPtr to) + { + Dispose(ref to); + to = AddPinnedBuffer(from); + } + + internal static void Set(Handle from, ref IntPtr to) + { + Convert(from, out to); + } + + internal static void Set(T[] from, ref IntPtr to, bool isArrayItemAllocated) + { + Dispose(ref to); + to = AddAllocation(from, isArrayItemAllocated); + } + + internal static void Set(ArraySegment from, ref IntPtr to, out uint arrayLength) + { + Dispose(ref to); + to = AddPinnedBuffer(from); + Get(from, out arrayLength); + } + + internal static void Set(T[] from, ref IntPtr to, out int arrayLength, bool isArrayItemAllocated) + { + Set(from, ref to, isArrayItemAllocated); + Get(from, out arrayLength); + } + + internal static void Set(T[] from, ref IntPtr to, out uint arrayLength, bool isArrayItemAllocated) + { + Set(from, ref to, isArrayItemAllocated); + Get(from, out arrayLength); + } + + internal static void Set(DateTimeOffset? from, ref long to) + { + Convert(from, out to); + } + + internal static void Set(bool from, ref int to) + { + Convert(from, out to); + } + + internal static void Set(Utf8String from, ref byte[] to, int stringLength) + { + Convert(from, out to, stringLength); + } + + internal static void Set(ref TPublic from, ref TInternal to) + where TPublic : struct + where TInternal : struct, ISettable + { + to.Set(ref from); + } + + internal static void Set(TPublic? from, ref IntPtr to) + where TPublic : struct + where TInternal : struct, ISettable + { + Dispose(ref to); + to = default; + + if (from.HasValue) + { + TInternal toInternal = default; + var fromValue = from.Value; + toInternal.Set(ref fromValue); + to = AddAllocation(Marshal.SizeOf(typeof(TInternal)), toInternal); + } + } + + internal static void Set(TPublic? from, ref TInternal to) + where TPublic : struct + where TInternal : struct, ISettable + { + Dispose(ref to); + to = default; + + if (from.HasValue) + { + var fromValue = from.Value; + to.Set(ref fromValue); + } + } + + internal static void Set(Utf8String[] from, ref IntPtr to, out int arrayLength, bool isArrayItemAllocated) + { + Dispose(ref to); + + to = AddAllocation(from, isArrayItemAllocated); + Get(from, out arrayLength); + } + + internal static void Set(Utf8String[] from, ref IntPtr to, out uint arrayLength, bool isArrayItemAllocated) + { + int arrayLengthIntermediate; + Set(from, ref to, out arrayLengthIntermediate, isArrayItemAllocated); + arrayLength = (uint)arrayLengthIntermediate; + } + + internal static void Set(TPublic from, ref IntPtr to) + where TPublic : struct + where TInternal : struct, ISettable + { + Dispose(ref to); + + TInternal toInternal = default; + toInternal.Set(ref from); + + to = AddAllocation(Marshal.SizeOf(typeof(TInternal)), toInternal); + } + + internal static void Set(TPublic[] from, ref IntPtr to, out int arrayLength, bool isArrayItemAllocated) + where TPublic : struct + where TInternal : struct, ISettable + { + Dispose(ref to); + arrayLength = 0; + + if (from != null) + { + TInternal[] toInternal = new TInternal[from.Length]; + for (int index = 0; index < from.Length; ++index) + { + toInternal[index].Set(ref from[index]); + } + + Set(toInternal, ref to, isArrayItemAllocated); + Get(from, out arrayLength); + } + } + + internal static void Set(TPublic[] from, ref IntPtr to, out uint arrayLength, bool isArrayItemAllocated) + where TPublic : struct + where TInternal : struct, ISettable + { + int arrayLengthIntermediate; + Set(from, ref to, out arrayLengthIntermediate, isArrayItemAllocated); + arrayLength = (uint)arrayLengthIntermediate; + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Core/Utf8String.cs b/FusionAPI/Dependencies/EOSSDK/Core/Utf8String.cs new file mode 100644 index 0000000..4308a0c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Core/Utf8String.cs @@ -0,0 +1,214 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using System; +using System.Text; + +namespace Epic.OnlineServices +{ + /// + /// Represents text as a series of UTF-8 code units. + /// + [System.Diagnostics.DebuggerDisplay("{ToString()}")] + public sealed class Utf8String + { + static public Utf8String EmptyString = new Utf8String(); + + /// + /// The length of the . + /// + public int Length { get; private set; } + + /// + /// The UTF-8 bytes of the . + /// + public byte[] Bytes { get; private set; } + + /// + /// The as a . + /// + private string Utf16 + { + get + { + if (Length > 0) + { + return Encoding.UTF8.GetString(Bytes, 0, Length); + } + + if (Bytes == null) + { + throw new Exception("Bytes array is null."); + } + else if (Bytes.Length == 0 || Bytes[Bytes.Length - 1] != 0) + { + throw new Exception("Bytes array is not null terminated."); + } + + return ""; + } + set + { + if (value != null) + { + // Null terminate the bytes + Bytes = new byte[Encoding.UTF8.GetMaxByteCount(value.Length) + 1]; + Length = Encoding.UTF8.GetBytes(value, 0, value.Length, Bytes, 0); + } + else + { + Length = 0; + } + } + } + + /// + /// Initializes a new instance of the class. + /// + public Utf8String() + { + Length = 0; + } + + /// + /// Initializes a new instance of the class with the given UTF-8 bytes. + /// + /// The UTF-8 bytes. + public Utf8String(byte[] bytes) + { + if (bytes == null) + { + throw new ArgumentNullException("bytes"); + } + else if (bytes.Length == 0 || bytes[bytes.Length - 1] != 0) + { + throw new ArgumentException("Argument is not null terminated.", "bytes"); + } + + Bytes = bytes; + Length = Bytes.Length - 1; + } + + /// + /// Initializes a new instance of the class by converting from the given . + /// + /// The string to convert to UTF-8. + public Utf8String(string value) + { + Utf16 = value; + } + + public byte this[int index] + { + get { return Bytes[index]; } + set { Bytes[index] = value; } + } + + public static explicit operator Utf8String(byte[] other) + { + if (other == null) + { + return null; + } + + return new Utf8String(other); + } + + public static explicit operator byte[](Utf8String other) + { + if (other == null) + { + return null; + } + + return other.Bytes; + } + + public static implicit operator Utf8String(string other) + { + if (other == null) + { + return null; + } + + return new Utf8String(other); + } + + public static implicit operator string(Utf8String other) + { + if (other == null) + { + return null; + } + + return other.ToString(); + } + + public static Utf8String operator +(Utf8String left, Utf8String right) + { + byte[] Result = new byte[left.Length + right.Length + 1]; + Buffer.BlockCopy(left.Bytes, 0, Result, 0, left.Length); + Buffer.BlockCopy(right.Bytes, 0, Result, left.Length, right.Length + 1); + return new Utf8String(Result); + } + + public static bool operator ==(Utf8String left, Utf8String right) + { + if (ReferenceEquals(left, null)) + { + if (ReferenceEquals(right, null)) + { + return true; + } + + return false; + } + + return left.Equals(right); + } + + public static bool operator !=(Utf8String left, Utf8String right) + { + return !(left == right); + } + + public override bool Equals(object obj) + { + Utf8String other = obj as Utf8String; + + if (ReferenceEquals(other, null)) + { + return false; + } + + if (ReferenceEquals(this, other)) + { + return true; + } + + if (Length != other.Length) + { + return false; + } + + for (int index = 0; index < Length; index++) + { + if (this[index] != other[index]) + { + return false; + } + } + + return true; + } + + public override string ToString() + { + return Utf16; + } + + public override int GetHashCode() + { + return ToString().GetHashCode(); + } + } +} \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AchievementsInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AchievementsInterface.cs new file mode 100644 index 0000000..429bf28 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AchievementsInterface.cs @@ -0,0 +1,722 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Achievements +{ + public sealed partial class AchievementsInterface : Handle + { + public AchievementsInterface() + { + } + + public AchievementsInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// Timestamp value representing an undefined UnlockTime for and + /// + public const int ACHIEVEMENT_UNLOCKTIME_UNDEFINED = -1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYACHIEVEMENTSUNLOCKEDV2_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYACHIEVEMENTSUNLOCKED_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int COPYACHIEVEMENTDEFINITIONV2BYACHIEVEMENTID_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int COPYACHIEVEMENTDEFINITIONV2BYINDEX_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int COPYDEFINITIONBYACHIEVEMENTID_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int COPYDEFINITIONBYINDEX_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int COPYDEFINITIONV2BYACHIEVEMENTID_API_LATEST = COPYACHIEVEMENTDEFINITIONV2BYACHIEVEMENTID_API_LATEST; + /// + /// DEPRECATED! Use instead. + /// + public const int COPYDEFINITIONV2BYINDEX_API_LATEST = COPYACHIEVEMENTDEFINITIONV2BYINDEX_API_LATEST; + /// + /// The most recent version of the struct. + /// + public const int COPYPLAYERACHIEVEMENTBYACHIEVEMENTID_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int COPYPLAYERACHIEVEMENTBYINDEX_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int COPYUNLOCKEDACHIEVEMENTBYACHIEVEMENTID_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int COPYUNLOCKEDACHIEVEMENTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int DEFINITIONV2_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int DEFINITION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETACHIEVEMENTDEFINITIONCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPLAYERACHIEVEMENTCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETUNLOCKEDACHIEVEMENTCOUNT_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int PLAYERACHIEVEMENT_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int PLAYERSTATINFO_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int QUERYDEFINITIONS_API_LATEST = 3; + /// + /// The most recent version of the struct. + /// + public const int QUERYPLAYERACHIEVEMENTS_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int STATTHRESHOLDS_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int STATTHRESHOLD_API_LATEST = STATTHRESHOLDS_API_LATEST; + /// + /// The most recent version of the struct. + /// + public const int UNLOCKACHIEVEMENTS_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int UNLOCKEDACHIEVEMENT_API_LATEST = 1; + + /// + /// DEPRECATED! Use instead. + /// + /// Register to receive achievement unlocked notifications. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// + /// Structure containing information about the achievement unlocked notification + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when an achievement unlocked notification for a user has been received + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyAchievementsUnlocked(ref AddNotifyAchievementsUnlockedOptions options, object clientData, OnAchievementsUnlockedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyAchievementsUnlockedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Achievements_AddNotifyAchievementsUnlocked(InnerHandle, ref optionsInternal, clientDataPointer, OnAchievementsUnlockedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive achievement unlocked notifications. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// + /// Structure containing information about the achievement unlocked notification + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when an achievement unlocked notification for a user has been received + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyAchievementsUnlockedV2(ref AddNotifyAchievementsUnlockedV2Options options, object clientData, OnAchievementsUnlockedCallbackV2 notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyAchievementsUnlockedV2OptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Achievements_AddNotifyAchievementsUnlockedV2(InnerHandle, ref optionsInternal, clientDataPointer, OnAchievementsUnlockedCallbackV2InternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// DEPRECATED! Use instead. + /// + /// Fetches an achievement definition from a given achievement ID. + /// + /// + /// + /// + /// + /// + /// Structure containing the achievement ID being accessed + /// + /// + /// The achievement definition for the given achievement ID, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutDefinition + /// - if you pass a for the out parameter + /// - if the achievement definition is not found + /// + public Result CopyAchievementDefinitionByAchievementId(ref CopyAchievementDefinitionByAchievementIdOptions options, out Definition? outDefinition) + { + var optionsInternal = default(CopyAchievementDefinitionByAchievementIdOptionsInternal); + optionsInternal.Set(ref options); + + var outDefinitionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyAchievementDefinitionByAchievementId(InnerHandle, ref optionsInternal, out outDefinitionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outDefinitionPointer, out outDefinition); + if (outDefinitionPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_Definition_Release(outDefinitionPointer); + } + + return callResult; + } + + /// + /// DEPRECATED! Use instead. + /// + /// Fetches an achievement definition from a given index. + /// + /// + /// + /// + /// + /// + /// Structure containing the index being accessed + /// + /// + /// The achievement definition for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutDefinition + /// - if you pass a for the out parameter + /// - if the achievement definition is not found + /// + public Result CopyAchievementDefinitionByIndex(ref CopyAchievementDefinitionByIndexOptions options, out Definition? outDefinition) + { + var optionsInternal = default(CopyAchievementDefinitionByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outDefinitionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyAchievementDefinitionByIndex(InnerHandle, ref optionsInternal, out outDefinitionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outDefinitionPointer, out outDefinition); + if (outDefinitionPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_Definition_Release(outDefinitionPointer); + } + + return callResult; + } + + /// + /// Fetches an achievement definition from a given achievement ID. + /// + /// + /// + /// + /// + /// Structure containing the achievement ID being accessed + /// + /// + /// The achievement definition for the given achievement ID, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutDefinition + /// - if you pass a for the out parameter + /// - if the achievement definition is not found + /// - if any of the userid options are incorrect + /// + public Result CopyAchievementDefinitionV2ByAchievementId(ref CopyAchievementDefinitionV2ByAchievementIdOptions options, out DefinitionV2? outDefinition) + { + var optionsInternal = default(CopyAchievementDefinitionV2ByAchievementIdOptionsInternal); + optionsInternal.Set(ref options); + + var outDefinitionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId(InnerHandle, ref optionsInternal, out outDefinitionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outDefinitionPointer, out outDefinition); + if (outDefinitionPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_DefinitionV2_Release(outDefinitionPointer); + } + + return callResult; + } + + /// + /// Fetches an achievement definition from a given index. + /// + /// + /// + /// + /// + /// Structure containing the index being accessed + /// + /// + /// The achievement definition for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutDefinition + /// - if you pass a for the out parameter + /// - if the achievement definition is not found + /// - if any of the userid options are incorrect + /// + public Result CopyAchievementDefinitionV2ByIndex(ref CopyAchievementDefinitionV2ByIndexOptions options, out DefinitionV2? outDefinition) + { + var optionsInternal = default(CopyAchievementDefinitionV2ByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outDefinitionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyAchievementDefinitionV2ByIndex(InnerHandle, ref optionsInternal, out outDefinitionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outDefinitionPointer, out outDefinition); + if (outDefinitionPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_DefinitionV2_Release(outDefinitionPointer); + } + + return callResult; + } + + /// + /// Fetches a player achievement from a given achievement ID. + /// + /// + /// + /// + /// + /// Structure containing the Product User ID and achievement ID being accessed + /// + /// + /// The player achievement data for the given achievement ID, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAchievement + /// - if you pass a for the out parameter + /// - if the player achievement is not found + /// - if you pass an invalid user ID + /// + public Result CopyPlayerAchievementByAchievementId(ref CopyPlayerAchievementByAchievementIdOptions options, out PlayerAchievement? outAchievement) + { + var optionsInternal = default(CopyPlayerAchievementByAchievementIdOptionsInternal); + optionsInternal.Set(ref options); + + var outAchievementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyPlayerAchievementByAchievementId(InnerHandle, ref optionsInternal, out outAchievementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAchievementPointer, out outAchievement); + if (outAchievementPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_PlayerAchievement_Release(outAchievementPointer); + } + + return callResult; + } + + /// + /// Fetches a player achievement from a given index. + /// + /// + /// + /// + /// + /// Structure containing the Product User ID and index being accessed + /// + /// + /// The player achievement data for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAchievement + /// - if you pass a for the out parameter + /// - if the player achievement is not found + /// - if you pass an invalid user ID + /// + public Result CopyPlayerAchievementByIndex(ref CopyPlayerAchievementByIndexOptions options, out PlayerAchievement? outAchievement) + { + var optionsInternal = default(CopyPlayerAchievementByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outAchievementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyPlayerAchievementByIndex(InnerHandle, ref optionsInternal, out outAchievementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAchievementPointer, out outAchievement); + if (outAchievementPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_PlayerAchievement_Release(outAchievementPointer); + } + + return callResult; + } + + /// + /// DEPRECATED! Use instead. + /// + /// Fetches an unlocked achievement from a given achievement ID. + /// + /// + /// + /// + /// + /// Structure containing the Product User ID and achievement ID being accessed + /// + /// + /// The unlocked achievement data for the given achievement ID, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAchievement + /// - if you pass a for the out parameter + /// - if the unlocked achievement is not found + /// + public Result CopyUnlockedAchievementByAchievementId(ref CopyUnlockedAchievementByAchievementIdOptions options, out UnlockedAchievement? outAchievement) + { + var optionsInternal = default(CopyUnlockedAchievementByAchievementIdOptionsInternal); + optionsInternal.Set(ref options); + + var outAchievementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyUnlockedAchievementByAchievementId(InnerHandle, ref optionsInternal, out outAchievementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAchievementPointer, out outAchievement); + if (outAchievementPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_UnlockedAchievement_Release(outAchievementPointer); + } + + return callResult; + } + + /// + /// DEPRECATED! Use instead. + /// + /// Fetches an unlocked achievement from a given index. + /// + /// + /// + /// + /// + /// Structure containing the Product User ID and index being accessed + /// + /// + /// The unlocked achievement data for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAchievement + /// - if you pass a for the out parameter + /// - if the unlocked achievement is not found + /// + public Result CopyUnlockedAchievementByIndex(ref CopyUnlockedAchievementByIndexOptions options, out UnlockedAchievement? outAchievement) + { + var optionsInternal = default(CopyUnlockedAchievementByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outAchievementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Achievements_CopyUnlockedAchievementByIndex(InnerHandle, ref optionsInternal, out outAchievementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAchievementPointer, out outAchievement); + if (outAchievementPointer != IntPtr.Zero) + { + Bindings.EOS_Achievements_UnlockedAchievement_Release(outAchievementPointer); + } + + return callResult; + } + + /// + /// Fetch the number of achievement definitions that are cached locally. + /// + /// + /// + /// + /// The Options associated with retrieving the achievement definition count + /// + /// + /// Number of achievement definitions or 0 if there is an error + /// + public uint GetAchievementDefinitionCount(ref GetAchievementDefinitionCountOptions options) + { + var optionsInternal = default(GetAchievementDefinitionCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Achievements_GetAchievementDefinitionCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of player achievements that are cached locally. + /// + /// + /// + /// + /// The Options associated with retrieving the player achievement count + /// + /// + /// Number of player achievements or 0 if there is an error + /// + public uint GetPlayerAchievementCount(ref GetPlayerAchievementCountOptions options) + { + var optionsInternal = default(GetPlayerAchievementCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Achievements_GetPlayerAchievementCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// DEPRECATED! Use , and filter for unlocked instead. + /// + /// Fetch the number of unlocked achievements that are cached locally. + /// + /// + /// + /// + /// The Options associated with retrieving the unlocked achievement count + /// + /// + /// Number of unlocked achievements or 0 if there is an error + /// + public uint GetUnlockedAchievementCount(ref GetUnlockedAchievementCountOptions options) + { + var optionsInternal = default(GetUnlockedAchievementCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Achievements_GetUnlockedAchievementCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Query for a list of definitions for all existing achievements, including localized text, icon IDs and whether an achievement is hidden. + /// When the Social Overlay is enabled then this will be called automatically. The Social Overlay is enabled by default (see ). + /// + /// + /// + /// + /// Structure containing information about the application whose achievement definitions we're retrieving. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// This function is called when the query definitions operation completes. + /// + public void QueryDefinitions(ref QueryDefinitionsOptions options, object clientData, OnQueryDefinitionsCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryDefinitionsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Achievements_QueryDefinitions(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryDefinitionsCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query for a list of achievements for a specific player, including progress towards completion for each achievement. + /// Note: By default, this query will not return locked hidden achievements. To return all achievements, call first. + /// When the Social Overlay is enabled then this will be called automatically. The Social Overlay is enabled by default (see ). + /// + /// + /// + /// + /// Structure containing information about the player whose achievements we're retrieving. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// This function is called when the query player achievements operation completes. + /// + public void QueryPlayerAchievements(ref QueryPlayerAchievementsOptions options, object clientData, OnQueryPlayerAchievementsCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryPlayerAchievementsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Achievements_QueryPlayerAchievements(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryPlayerAchievementsCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unregister from receiving achievement unlocked notifications. + /// + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyAchievementsUnlocked(ulong inId) + { + Bindings.EOS_Achievements_RemoveNotifyAchievementsUnlocked(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unlocks a number of achievements for a specific player. + /// + /// + /// + /// + /// Structure containing information about the achievements and the player whose achievements we're unlocking. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// This function is called when the unlock achievements operation completes. + /// + public void UnlockAchievements(ref UnlockAchievementsOptions options, object clientData, OnUnlockAchievementsCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(UnlockAchievementsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Achievements_UnlockAchievements(InnerHandle, ref optionsInternal, clientDataPointer, OnUnlockAchievementsCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AddNotifyAchievementsUnlockedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AddNotifyAchievementsUnlockedOptions.cs new file mode 100644 index 0000000..fa436e4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AddNotifyAchievementsUnlockedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyAchievementsUnlockedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyAchievementsUnlockedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyAchievementsUnlockedOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.ADDNOTIFYACHIEVEMENTSUNLOCKED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AddNotifyAchievementsUnlockedV2Options.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AddNotifyAchievementsUnlockedV2Options.cs new file mode 100644 index 0000000..e0ab642 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/AddNotifyAchievementsUnlockedV2Options.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyAchievementsUnlockedV2Options + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyAchievementsUnlockedV2OptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyAchievementsUnlockedV2Options other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.ADDNOTIFYACHIEVEMENTSUNLOCKEDV2_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionByAchievementIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionByAchievementIdOptions.cs new file mode 100644 index 0000000..83ff853 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionByAchievementIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyAchievementDefinitionByAchievementIdOptions + { + /// + /// Achievement ID to look for when copying definition from the cache + /// + public Utf8String AchievementId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyAchievementDefinitionByAchievementIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AchievementId; + + public void Set(ref CopyAchievementDefinitionByAchievementIdOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYDEFINITIONBYACHIEVEMENTID_API_LATEST; + Helper.Set(other.AchievementId, ref m_AchievementId); + } + + public void Dispose() + { + Helper.Dispose(ref m_AchievementId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionByIndexOptions.cs new file mode 100644 index 0000000..46fe9da --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionByIndexOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyAchievementDefinitionByIndexOptions + { + /// + /// Index of the achievement definition to retrieve from the cache + /// + public uint AchievementIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyAchievementDefinitionByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_AchievementIndex; + + public void Set(ref CopyAchievementDefinitionByIndexOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYDEFINITIONBYINDEX_API_LATEST; + m_AchievementIndex = other.AchievementIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionV2ByAchievementIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionV2ByAchievementIdOptions.cs new file mode 100644 index 0000000..df451b4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionV2ByAchievementIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyAchievementDefinitionV2ByAchievementIdOptions + { + /// + /// Achievement ID to look for when copying the definition from the cache. + /// + public Utf8String AchievementId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyAchievementDefinitionV2ByAchievementIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AchievementId; + + public void Set(ref CopyAchievementDefinitionV2ByAchievementIdOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYACHIEVEMENTDEFINITIONV2BYACHIEVEMENTID_API_LATEST; + Helper.Set(other.AchievementId, ref m_AchievementId); + } + + public void Dispose() + { + Helper.Dispose(ref m_AchievementId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionV2ByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionV2ByIndexOptions.cs new file mode 100644 index 0000000..f403037 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyAchievementDefinitionV2ByIndexOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyAchievementDefinitionV2ByIndexOptions + { + /// + /// Index of the achievement definition to retrieve from the cache. + /// + public uint AchievementIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyAchievementDefinitionV2ByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_AchievementIndex; + + public void Set(ref CopyAchievementDefinitionV2ByIndexOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYACHIEVEMENTDEFINITIONV2BYINDEX_API_LATEST; + m_AchievementIndex = other.AchievementIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyPlayerAchievementByAchievementIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyPlayerAchievementByAchievementIdOptions.cs new file mode 100644 index 0000000..7a87a75 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyPlayerAchievementByAchievementIdOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyPlayerAchievementByAchievementIdOptions + { + /// + /// The Product User ID for the user whose achievement is to be retrieved. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Achievement ID to search for when retrieving player achievement data from the cache. + /// + public Utf8String AchievementId { get; set; } + + /// + /// The Product User ID for the user who is querying for a player achievement. For a Dedicated Server this should be . + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyPlayerAchievementByAchievementIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private IntPtr m_AchievementId; + private IntPtr m_LocalUserId; + + public void Set(ref CopyPlayerAchievementByAchievementIdOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYPLAYERACHIEVEMENTBYACHIEVEMENTID_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + Helper.Set(other.AchievementId, ref m_AchievementId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + Helper.Dispose(ref m_AchievementId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyPlayerAchievementByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyPlayerAchievementByIndexOptions.cs new file mode 100644 index 0000000..d6f22d7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyPlayerAchievementByIndexOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyPlayerAchievementByIndexOptions + { + /// + /// The Product User ID for the user whose achievement is to be retrieved. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// The index of the player achievement data to retrieve from the cache. + /// + public uint AchievementIndex { get; set; } + + /// + /// The Product User ID for the user who is querying for a player achievement. For a Dedicated Server this should be . + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyPlayerAchievementByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private uint m_AchievementIndex; + private IntPtr m_LocalUserId; + + public void Set(ref CopyPlayerAchievementByIndexOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYPLAYERACHIEVEMENTBYINDEX_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + m_AchievementIndex = other.AchievementIndex; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyUnlockedAchievementByAchievementIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyUnlockedAchievementByAchievementIdOptions.cs new file mode 100644 index 0000000..975a86b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyUnlockedAchievementByAchievementIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyUnlockedAchievementByAchievementIdOptions + { + /// + /// The Product User ID for the user who is copying the unlocked achievement + /// + public ProductUserId UserId { get; set; } + + /// + /// AchievementId of the unlocked achievement to retrieve from the cache + /// + public Utf8String AchievementId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyUnlockedAchievementByAchievementIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private IntPtr m_AchievementId; + + public void Set(ref CopyUnlockedAchievementByAchievementIdOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYUNLOCKEDACHIEVEMENTBYACHIEVEMENTID_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + Helper.Set(other.AchievementId, ref m_AchievementId); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + Helper.Dispose(ref m_AchievementId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyUnlockedAchievementByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyUnlockedAchievementByIndexOptions.cs new file mode 100644 index 0000000..210021b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/CopyUnlockedAchievementByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct CopyUnlockedAchievementByIndexOptions + { + /// + /// The Product User ID for the user who is copying the unlocked achievement + /// + public ProductUserId UserId { get; set; } + + /// + /// Index of the unlocked achievement to retrieve from the cache + /// + public uint AchievementIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyUnlockedAchievementByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private uint m_AchievementIndex; + + public void Set(ref CopyUnlockedAchievementByIndexOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.COPYUNLOCKEDACHIEVEMENTBYINDEX_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + m_AchievementIndex = other.AchievementIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/Definition.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/Definition.cs new file mode 100644 index 0000000..36a6288 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/Definition.cs @@ -0,0 +1,126 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Contains information about a single achievement definition with localized text. + /// + public struct Definition + { + /// + /// Achievement ID that can be used to uniquely identify the achievement. + /// + public Utf8String AchievementId { get; set; } + + /// + /// Text representing the Name to display in-game when achievement has been unlocked. + /// + public Utf8String DisplayName { get; set; } + + /// + /// Text representing the description to display in-game when achievement has been unlocked. + /// + public Utf8String Description { get; set; } + + /// + /// Text representing the name to display in-game when achievement is locked. + /// + public Utf8String LockedDisplayName { get; set; } + + /// + /// Text representing the description of what needs to be done to trigger the unlock of this achievement. + /// + public Utf8String LockedDescription { get; set; } + + /// + /// Text representing the description to display in-game when achievement is hidden. + /// + public Utf8String HiddenDescription { get; set; } + + /// + /// Text representing the description of what happens when the achievement is unlocked. + /// + public Utf8String CompletionDescription { get; set; } + + /// + /// Text representing the icon to display in-game when achievement is unlocked. + /// + public Utf8String UnlockedIconId { get; set; } + + /// + /// Text representing the icon to display in-game when achievement is locked. + /// + public Utf8String LockedIconId { get; set; } + + /// + /// True if achievement is hidden, otherwise. + /// + public bool IsHidden { get; set; } + + /// + /// Array of stat thresholds that need to be satisfied to unlock the achievement. + /// + public StatThresholds[] StatThresholds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DefinitionInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_AchievementId; + private IntPtr m_DisplayName; + private IntPtr m_Description; + private IntPtr m_LockedDisplayName; + private IntPtr m_LockedDescription; + private IntPtr m_HiddenDescription; + private IntPtr m_CompletionDescription; + private IntPtr m_UnlockedIconId; + private IntPtr m_LockedIconId; + private int m_IsHidden; + private int m_StatThresholdsCount; + private IntPtr m_StatThresholds; + + public void Get(out Definition other) + { + other = default; + + Utf8String AchievementIdPublic; + Helper.Get(m_AchievementId, out AchievementIdPublic); + other.AchievementId = AchievementIdPublic; + Utf8String DisplayNamePublic; + Helper.Get(m_DisplayName, out DisplayNamePublic); + other.DisplayName = DisplayNamePublic; + Utf8String DescriptionPublic; + Helper.Get(m_Description, out DescriptionPublic); + other.Description = DescriptionPublic; + Utf8String LockedDisplayNamePublic; + Helper.Get(m_LockedDisplayName, out LockedDisplayNamePublic); + other.LockedDisplayName = LockedDisplayNamePublic; + Utf8String LockedDescriptionPublic; + Helper.Get(m_LockedDescription, out LockedDescriptionPublic); + other.LockedDescription = LockedDescriptionPublic; + Utf8String HiddenDescriptionPublic; + Helper.Get(m_HiddenDescription, out HiddenDescriptionPublic); + other.HiddenDescription = HiddenDescriptionPublic; + Utf8String CompletionDescriptionPublic; + Helper.Get(m_CompletionDescription, out CompletionDescriptionPublic); + other.CompletionDescription = CompletionDescriptionPublic; + Utf8String UnlockedIconIdPublic; + Helper.Get(m_UnlockedIconId, out UnlockedIconIdPublic); + other.UnlockedIconId = UnlockedIconIdPublic; + Utf8String LockedIconIdPublic; + Helper.Get(m_LockedIconId, out LockedIconIdPublic); + other.LockedIconId = LockedIconIdPublic; + bool IsHiddenPublic; + Helper.Get(m_IsHidden, out IsHiddenPublic); + other.IsHidden = IsHiddenPublic; + StatThresholds[] StatThresholdsPublic; + Helper.Get(m_StatThresholds, out StatThresholdsPublic, m_StatThresholdsCount, false); + other.StatThresholds = StatThresholdsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/DefinitionV2.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/DefinitionV2.cs new file mode 100644 index 0000000..55e0c16 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/DefinitionV2.cs @@ -0,0 +1,117 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Contains information about a single achievement definition with localized text. + /// + public struct DefinitionV2 + { + /// + /// Achievement ID that can be used to uniquely identify the achievement. + /// + public Utf8String AchievementId { get; set; } + + /// + /// Localized display name for the achievement when it has been unlocked. + /// + public Utf8String UnlockedDisplayName { get; set; } + + /// + /// Localized description for the achievement when it has been unlocked. + /// + public Utf8String UnlockedDescription { get; set; } + + /// + /// Localized display name for the achievement when it is locked or hidden. + /// + public Utf8String LockedDisplayName { get; set; } + + /// + /// Localized description for the achievement when it is locked or hidden. + /// + public Utf8String LockedDescription { get; set; } + + /// + /// Localized flavor text that can be used by the game in an arbitrary manner. This may be if there is no data configured in the dev portal. + /// + public Utf8String FlavorText { get; set; } + + /// + /// URL of an icon to display for the achievement when it is unlocked. This may be if there is no data configured in the dev portal. + /// + public Utf8String UnlockedIconURL { get; set; } + + /// + /// URL of an icon to display for the achievement when it is locked or hidden. This may be if there is no data configured in the dev portal. + /// + public Utf8String LockedIconURL { get; set; } + + /// + /// if the achievement is hidden; otherwise. + /// + public bool IsHidden { get; set; } + + /// + /// Array of `` that need to be satisfied to unlock this achievement. Consists of Name and Threshold Value. + /// + public StatThresholds[] StatThresholds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DefinitionV2Internal : IGettable + { + private int m_ApiVersion; + private IntPtr m_AchievementId; + private IntPtr m_UnlockedDisplayName; + private IntPtr m_UnlockedDescription; + private IntPtr m_LockedDisplayName; + private IntPtr m_LockedDescription; + private IntPtr m_FlavorText; + private IntPtr m_UnlockedIconURL; + private IntPtr m_LockedIconURL; + private int m_IsHidden; + private uint m_StatThresholdsCount; + private IntPtr m_StatThresholds; + + public void Get(out DefinitionV2 other) + { + other = default; + + Utf8String AchievementIdPublic; + Helper.Get(m_AchievementId, out AchievementIdPublic); + other.AchievementId = AchievementIdPublic; + Utf8String UnlockedDisplayNamePublic; + Helper.Get(m_UnlockedDisplayName, out UnlockedDisplayNamePublic); + other.UnlockedDisplayName = UnlockedDisplayNamePublic; + Utf8String UnlockedDescriptionPublic; + Helper.Get(m_UnlockedDescription, out UnlockedDescriptionPublic); + other.UnlockedDescription = UnlockedDescriptionPublic; + Utf8String LockedDisplayNamePublic; + Helper.Get(m_LockedDisplayName, out LockedDisplayNamePublic); + other.LockedDisplayName = LockedDisplayNamePublic; + Utf8String LockedDescriptionPublic; + Helper.Get(m_LockedDescription, out LockedDescriptionPublic); + other.LockedDescription = LockedDescriptionPublic; + Utf8String FlavorTextPublic; + Helper.Get(m_FlavorText, out FlavorTextPublic); + other.FlavorText = FlavorTextPublic; + Utf8String UnlockedIconURLPublic; + Helper.Get(m_UnlockedIconURL, out UnlockedIconURLPublic); + other.UnlockedIconURL = UnlockedIconURLPublic; + Utf8String LockedIconURLPublic; + Helper.Get(m_LockedIconURL, out LockedIconURLPublic); + other.LockedIconURL = LockedIconURLPublic; + bool IsHiddenPublic; + Helper.Get(m_IsHidden, out IsHiddenPublic); + other.IsHidden = IsHiddenPublic; + StatThresholds[] StatThresholdsPublic; + Helper.Get(m_StatThresholds, out StatThresholdsPublic, m_StatThresholdsCount, false); + other.StatThresholds = StatThresholdsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetAchievementDefinitionCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetAchievementDefinitionCountOptions.cs new file mode 100644 index 0000000..b7bde8f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetAchievementDefinitionCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct GetAchievementDefinitionCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetAchievementDefinitionCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetAchievementDefinitionCountOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.GETACHIEVEMENTDEFINITIONCOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetPlayerAchievementCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetPlayerAchievementCountOptions.cs new file mode 100644 index 0000000..b928c5e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetPlayerAchievementCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct GetPlayerAchievementCountOptions + { + /// + /// The Product User ID for the user whose achievement count is being retrieved. + /// + public ProductUserId UserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetPlayerAchievementCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + + public void Set(ref GetPlayerAchievementCountOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.GETPLAYERACHIEVEMENTCOUNT_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetUnlockedAchievementCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetUnlockedAchievementCountOptions.cs new file mode 100644 index 0000000..1c52204 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/GetUnlockedAchievementCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct GetUnlockedAchievementCountOptions + { + /// + /// Product User ID for which to retrieve the unlocked achievement count + /// + public ProductUserId UserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetUnlockedAchievementCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + + public void Set(ref GetUnlockedAchievementCountOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.GETUNLOCKEDACHIEVEMENTCOUNT_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallback.cs new file mode 100644 index 0000000..022b806 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// A containing the output information and result + /// + public delegate void OnAchievementsUnlockedCallback(ref OnAchievementsUnlockedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnAchievementsUnlockedCallbackInternal(ref OnAchievementsUnlockedCallbackInfoInternal data); + + internal static class OnAchievementsUnlockedCallbackInternalImplementation + { + private static OnAchievementsUnlockedCallbackInternal s_Delegate; + public static OnAchievementsUnlockedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnAchievementsUnlockedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnAchievementsUnlockedCallbackInternal))] + public static void EntryPoint(ref OnAchievementsUnlockedCallbackInfoInternal data) + { + OnAchievementsUnlockedCallback callback; + OnAchievementsUnlockedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackInfo.cs new file mode 100644 index 0000000..426f970 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackInfo.cs @@ -0,0 +1,71 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Output parameters for the Function. + /// + public struct OnAchievementsUnlockedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID for the user who received the unlocked achievements notification + /// + public ProductUserId UserId { get; set; } + + /// + /// This member is not used and will always be set to . + /// + public Utf8String[] AchievementIds { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnAchievementsUnlockedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_UserId; + private uint m_AchievementsCount; + private IntPtr m_AchievementIds; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnAchievementsUnlockedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + Utf8String[] AchievementIdsPublic; + Helper.Get(m_AchievementIds, out AchievementIdsPublic, m_AchievementsCount, true); + other.AchievementIds = AchievementIdsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackV2.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackV2.cs new file mode 100644 index 0000000..38e57f7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackV2.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// An containing the output information and result + /// + public delegate void OnAchievementsUnlockedCallbackV2(ref OnAchievementsUnlockedCallbackV2Info data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnAchievementsUnlockedCallbackV2Internal(ref OnAchievementsUnlockedCallbackV2InfoInternal data); + + internal static class OnAchievementsUnlockedCallbackV2InternalImplementation + { + private static OnAchievementsUnlockedCallbackV2Internal s_Delegate; + public static OnAchievementsUnlockedCallbackV2Internal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnAchievementsUnlockedCallbackV2Internal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnAchievementsUnlockedCallbackV2Internal))] + public static void EntryPoint(ref OnAchievementsUnlockedCallbackV2InfoInternal data) + { + OnAchievementsUnlockedCallbackV2 callback; + OnAchievementsUnlockedCallbackV2Info callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackV2Info.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackV2Info.cs new file mode 100644 index 0000000..8d618cc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnAchievementsUnlockedCallbackV2Info.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Output parameters for the Function. + /// + public struct OnAchievementsUnlockedCallbackV2Info : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID for the user who received the unlocked achievements notification + /// + public ProductUserId UserId { get; set; } + + /// + /// The Achievement ID for the achievement that was unlocked. Pass this to to get the full achievement information. + /// + public Utf8String AchievementId { get; set; } + + /// + /// POSIX timestamp when the achievement was unlocked. + /// + public DateTimeOffset? UnlockTime { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnAchievementsUnlockedCallbackV2InfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_UserId; + private IntPtr m_AchievementId; + private long m_UnlockTime; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnAchievementsUnlockedCallbackV2Info other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + Utf8String AchievementIdPublic; + Helper.Get(m_AchievementId, out AchievementIdPublic); + other.AchievementId = AchievementIdPublic; + DateTimeOffset? UnlockTimePublic; + Helper.Get(m_UnlockTime, out UnlockTimePublic); + other.UnlockTime = UnlockTimePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryDefinitionsCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryDefinitionsCompleteCallback.cs new file mode 100644 index 0000000..0658abb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryDefinitionsCompleteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// An containing the output information and result + /// + public delegate void OnQueryDefinitionsCompleteCallback(ref OnQueryDefinitionsCompleteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryDefinitionsCompleteCallbackInternal(ref OnQueryDefinitionsCompleteCallbackInfoInternal data); + + internal static class OnQueryDefinitionsCompleteCallbackInternalImplementation + { + private static OnQueryDefinitionsCompleteCallbackInternal s_Delegate; + public static OnQueryDefinitionsCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryDefinitionsCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryDefinitionsCompleteCallbackInternal))] + public static void EntryPoint(ref OnQueryDefinitionsCompleteCallbackInfoInternal data) + { + OnQueryDefinitionsCompleteCallback callback; + OnQueryDefinitionsCompleteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryDefinitionsCompleteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryDefinitionsCompleteCallbackInfo.cs new file mode 100644 index 0000000..aaecdf1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryDefinitionsCompleteCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Data containing the result information for a query definitions request. + /// + public struct OnQueryDefinitionsCompleteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// User-defined context that was passed into . + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnQueryDefinitionsCompleteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnQueryDefinitionsCompleteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryPlayerAchievementsCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryPlayerAchievementsCompleteCallback.cs new file mode 100644 index 0000000..a36b5ab --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryPlayerAchievementsCompleteCallback.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// + /// An containing the output information and result + /// + public delegate void OnQueryPlayerAchievementsCompleteCallback(ref OnQueryPlayerAchievementsCompleteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryPlayerAchievementsCompleteCallbackInternal(ref OnQueryPlayerAchievementsCompleteCallbackInfoInternal data); + + internal static class OnQueryPlayerAchievementsCompleteCallbackInternalImplementation + { + private static OnQueryPlayerAchievementsCompleteCallbackInternal s_Delegate; + public static OnQueryPlayerAchievementsCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryPlayerAchievementsCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryPlayerAchievementsCompleteCallbackInternal))] + public static void EntryPoint(ref OnQueryPlayerAchievementsCompleteCallbackInfoInternal data) + { + OnQueryPlayerAchievementsCompleteCallback callback; + OnQueryPlayerAchievementsCompleteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryPlayerAchievementsCompleteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryPlayerAchievementsCompleteCallbackInfo.cs new file mode 100644 index 0000000..8cce108 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnQueryPlayerAchievementsCompleteCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Data containing the result information for querying a player's achievements request. + /// + public struct OnQueryPlayerAchievementsCompleteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID whose achievements were retrieved. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// The Product User ID of the user who initiated this request. For a Dedicated Server this should be . + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnQueryPlayerAchievementsCompleteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnQueryPlayerAchievementsCompleteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnUnlockAchievementsCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnUnlockAchievementsCompleteCallback.cs new file mode 100644 index 0000000..f304f39 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnUnlockAchievementsCompleteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// An containing the output information and result + /// + public delegate void OnUnlockAchievementsCompleteCallback(ref OnUnlockAchievementsCompleteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUnlockAchievementsCompleteCallbackInternal(ref OnUnlockAchievementsCompleteCallbackInfoInternal data); + + internal static class OnUnlockAchievementsCompleteCallbackInternalImplementation + { + private static OnUnlockAchievementsCompleteCallbackInternal s_Delegate; + public static OnUnlockAchievementsCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUnlockAchievementsCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUnlockAchievementsCompleteCallbackInternal))] + public static void EntryPoint(ref OnUnlockAchievementsCompleteCallbackInfoInternal data) + { + OnUnlockAchievementsCompleteCallback callback; + OnUnlockAchievementsCompleteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnUnlockAchievementsCompleteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnUnlockAchievementsCompleteCallbackInfo.cs new file mode 100644 index 0000000..5acaa25 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/OnUnlockAchievementsCompleteCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Data containing the result information for unlocking achievements request. + /// + public struct OnUnlockAchievementsCompleteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the user who initiated this request. + /// + public ProductUserId UserId { get; set; } + + /// + /// The number of achievements that the operation unlocked. + /// + public uint AchievementsCount { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnUnlockAchievementsCompleteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_UserId; + private uint m_AchievementsCount; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnUnlockAchievementsCompleteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + other.AchievementsCount = m_AchievementsCount; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/PlayerAchievement.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/PlayerAchievement.cs new file mode 100644 index 0000000..2e27592 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/PlayerAchievement.cs @@ -0,0 +1,100 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Contains information about a single player achievement. + /// + public struct PlayerAchievement + { + /// + /// This achievement's unique identifier. + /// + public Utf8String AchievementId { get; set; } + + /// + /// Progress towards completing this achievement (as a percentage). + /// + public double Progress { get; set; } + + /// + /// The POSIX timestamp when the achievement was unlocked. If the achievement has not been unlocked, this value will be . + /// + public DateTimeOffset? UnlockTime { get; set; } + + /// + /// Array of structures containing information about stat thresholds used to unlock the achievement and the player's current values for those stats. + /// + public PlayerStatInfo[] StatInfo { get; set; } + + /// + /// Localized display name for the achievement based on this specific player's current progress on the achievement. + /// The current progress is updated when succeeds and when an achievement is unlocked. + /// + public Utf8String DisplayName { get; set; } + + /// + /// Localized description for the achievement based on this specific player's current progress on the achievement. + /// The current progress is updated when succeeds and when an achievement is unlocked. + /// + public Utf8String Description { get; set; } + + /// + /// URL of an icon to display for the achievement based on this specific player's current progress on the achievement. This may be if there is no data configured in the dev portal. + /// The current progress is updated when succeeds and when an achievement is unlocked. + /// + public Utf8String IconURL { get; set; } + + /// + /// Localized flavor text that can be used by the game in an arbitrary manner. This may be if there is no data configured in the dev portal. + /// + public Utf8String FlavorText { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PlayerAchievementInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_AchievementId; + private double m_Progress; + private long m_UnlockTime; + private int m_StatInfoCount; + private IntPtr m_StatInfo; + private IntPtr m_DisplayName; + private IntPtr m_Description; + private IntPtr m_IconURL; + private IntPtr m_FlavorText; + + public void Get(out PlayerAchievement other) + { + other = default; + + Utf8String AchievementIdPublic; + Helper.Get(m_AchievementId, out AchievementIdPublic); + other.AchievementId = AchievementIdPublic; + other.Progress = m_Progress; + DateTimeOffset? UnlockTimePublic; + Helper.Get(m_UnlockTime, out UnlockTimePublic); + other.UnlockTime = UnlockTimePublic; + PlayerStatInfo[] StatInfoPublic; + Helper.Get(m_StatInfo, out StatInfoPublic, m_StatInfoCount, false); + other.StatInfo = StatInfoPublic; + Utf8String DisplayNamePublic; + Helper.Get(m_DisplayName, out DisplayNamePublic); + other.DisplayName = DisplayNamePublic; + Utf8String DescriptionPublic; + Helper.Get(m_Description, out DescriptionPublic); + other.Description = DescriptionPublic; + Utf8String IconURLPublic; + Helper.Get(m_IconURL, out IconURLPublic); + other.IconURL = IconURLPublic; + Utf8String FlavorTextPublic; + Helper.Get(m_FlavorText, out FlavorTextPublic); + other.FlavorText = FlavorTextPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/PlayerStatInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/PlayerStatInfo.cs new file mode 100644 index 0000000..d5399be --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/PlayerStatInfo.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Contains information about a collection of stat info data. + /// + /// + public struct PlayerStatInfo + { + /// + /// The name of the stat. + /// + public Utf8String Name { get; set; } + + /// + /// The current value of the stat. + /// + public int CurrentValue { get; set; } + + /// + /// The threshold value of the stat, used in determining when to unlock an achievement. + /// + public int ThresholdValue { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PlayerStatInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_Name; + private int m_CurrentValue; + private int m_ThresholdValue; + + public void Get(out PlayerStatInfo other) + { + other = default; + + Utf8String NamePublic; + Helper.Get(m_Name, out NamePublic); + other.Name = NamePublic; + other.CurrentValue = m_CurrentValue; + other.ThresholdValue = m_ThresholdValue; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/QueryDefinitionsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/QueryDefinitionsOptions.cs new file mode 100644 index 0000000..7bc77cb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/QueryDefinitionsOptions.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct QueryDefinitionsOptions + { + /// + /// Product User ID for user who is querying definitions. + /// The localized text returned will be based on the locale code of the given user if they have a linked Epic Account ID. + /// The localized text returned can also be overridden using to override the locale. + /// If the locale code is not overridden and LocalUserId is not valid, default text will be returned. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Deprecated + /// + public EpicAccountId EpicUserId_DEPRECATED { get; set; } + + /// + /// Deprecated + /// + public Utf8String[] HiddenAchievementIds_DEPRECATED { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryDefinitionsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_EpicUserId_DEPRECATED; + private IntPtr m_HiddenAchievementIds_DEPRECATED; + private uint m_HiddenAchievementsCount_DEPRECATED; + + public void Set(ref QueryDefinitionsOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.QUERYDEFINITIONS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EpicUserId_DEPRECATED, ref m_EpicUserId_DEPRECATED); + Helper.Set(other.HiddenAchievementIds_DEPRECATED, ref m_HiddenAchievementIds_DEPRECATED, out m_HiddenAchievementsCount_DEPRECATED, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EpicUserId_DEPRECATED); + Helper.Dispose(ref m_HiddenAchievementIds_DEPRECATED); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/QueryPlayerAchievementsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/QueryPlayerAchievementsOptions.cs new file mode 100644 index 0000000..5576432 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/QueryPlayerAchievementsOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct QueryPlayerAchievementsOptions + { + /// + /// The Product User ID for the user whose achievements are to be retrieved. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// The Product User ID for the user who is querying for player achievements. For a Dedicated Server this should be . + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryPlayerAchievementsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + + public void Set(ref QueryPlayerAchievementsOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.QUERYPLAYERACHIEVEMENTS_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/StatThresholds.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/StatThresholds.cs new file mode 100644 index 0000000..7664e1d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/StatThresholds.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Contains information about a collection of stat threshold data. + /// + /// The threshold will depend on the stat aggregate type: + /// LATEST (Tracks the latest value) + /// MAX (Tracks the maximum value) + /// MIN (Tracks the minimum value) + /// SUM (Generates a rolling sum of the value) + /// + /// + public struct StatThresholds + { + /// + /// The name of the stat. + /// + public Utf8String Name { get; set; } + + /// + /// The value that the stat must surpass to satisfy the requirement for unlocking an achievement. + /// + public int Threshold { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct StatThresholdsInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_Name; + private int m_Threshold; + + public void Get(out StatThresholds other) + { + other = default; + + Utf8String NamePublic; + Helper.Get(m_Name, out NamePublic); + other.Name = NamePublic; + other.Threshold = m_Threshold; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/UnlockAchievementsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/UnlockAchievementsOptions.cs new file mode 100644 index 0000000..6445cca --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/UnlockAchievementsOptions.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Input parameters for the function. + /// + public struct UnlockAchievementsOptions + { + /// + /// The Product User ID for the user whose achievements we want to unlock. + /// + public ProductUserId UserId { get; set; } + + /// + /// An array of Achievement IDs to unlock. + /// + public Utf8String[] AchievementIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnlockAchievementsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private IntPtr m_AchievementIds; + private uint m_AchievementsCount; + + public void Set(ref UnlockAchievementsOptions other) + { + Dispose(); + + m_ApiVersion = AchievementsInterface.UNLOCKACHIEVEMENTS_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + Helper.Set(other.AchievementIds, ref m_AchievementIds, out m_AchievementsCount, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + Helper.Dispose(ref m_AchievementIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/UnlockedAchievement.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/UnlockedAchievement.cs new file mode 100644 index 0000000..247753d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Achievements/UnlockedAchievement.cs @@ -0,0 +1,44 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Achievements +{ + /// + /// Contains information about a single unlocked achievement. + /// + public struct UnlockedAchievement + { + /// + /// Achievement ID that can be used to uniquely identify the unlocked achievement. + /// + public Utf8String AchievementId { get; set; } + + /// + /// If not then this is the POSIX timestamp that the achievement was unlocked. + /// + public DateTimeOffset? UnlockTime { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnlockedAchievementInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_AchievementId; + private long m_UnlockTime; + + public void Get(out UnlockedAchievement other) + { + other = default; + + Utf8String AchievementIdPublic; + Helper.Get(m_AchievementId, out AchievementIdPublic); + other.AchievementId = AchievementIdPublic; + DateTimeOffset? UnlockTimePublic; + Helper.Get(m_UnlockTime, out UnlockTimePublic); + other.UnlockTime = UnlockTimePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Android/AndroidBindings.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Android/AndroidBindings.cs new file mode 100644 index 0000000..c2b53f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Android/AndroidBindings.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_EDITOR + #define EOS_EDITOR +#endif + +#if EOS_EDITOR + #define EOS_DYNAMIC_BINDINGS +#endif + +#if EOS_DYNAMIC_BINDINGS + #if EOS_PLATFORM_WINDOWS_32 + #define EOS_DYNAMIC_BINDINGS_MANGLING_WINDOWS_32 + #elif EOS_PLATFORM_OSX || EOS_PLATFORM_IOS + #define EOS_DYNAMIC_BINDINGS_MANGLING_APPLE + #else + #define EOS_DYNAMIC_BINDINGS_MANGLING_STANDARD + #endif +#endif + +#if UNITY_ANDROID || __ANDROID__ + #define EOS_PLATFORM_ANDROID +#endif + +#if EOS_PLATFORM_ANDROID +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + public static partial class AndroidBindings + { +#if EOS_DYNAMIC_BINDINGS_MANGLING_STANDARD + private const string EOS_Initialize_AndroidName = "EOS_Initialize"; +#endif + +#if EOS_DYNAMIC_BINDINGS + /// + /// Hooks dynamic bindings. + /// + /// A handle to the library to find functions in. The type is platform dependent, but would typically be an . + /// A delegate that takes a library handle and function name, and returns an which is a pointer to the function within the library. + public static void Hook(TLibraryHandle libraryHandle, Func getFunctionPointer) + { + IntPtr functionPointer; + + functionPointer = getFunctionPointer(libraryHandle, EOS_Initialize_AndroidName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Initialize_AndroidName); + EOS_Initialize_Android = (EOS_Initialize_AndroidDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Initialize_AndroidDelegate)); + } + + /// + /// Unhooks dynamic bindings. + /// + public static void Unhook() + { + EOS_Initialize_Android = null; + } + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Initialize_AndroidDelegate(ref Platform.AndroidInitializeOptionsInternal options); + internal static EOS_Initialize_AndroidDelegate EOS_Initialize_Android; +#else + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Initialize", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Initialize_Android(ref Platform.AndroidInitializeOptionsInternal options); +#endif + } +} +#endif \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/AndroidInitializeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/AndroidInitializeOptions.cs new file mode 100644 index 0000000..0bfcb2f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/AndroidInitializeOptions.cs @@ -0,0 +1,110 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_ANDROID || __ANDROID__ + #define EOS_PLATFORM_ANDROID +#endif + +#if EOS_PLATFORM_ANDROID +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Options for initializing the Epic Online Services SDK. + /// + public struct AndroidInitializeOptions + { + /// + /// A custom memory allocator, if desired. + /// + public IntPtr AllocateMemoryFunction { get; set; } + + /// + /// A corresponding memory reallocator. If the AllocateMemoryFunction is , then this field must also be . + /// + public IntPtr ReallocateMemoryFunction { get; set; } + + /// + /// A corresponding memory releaser. If the AllocateMemoryFunction is , then this field must also be . + /// + public IntPtr ReleaseMemoryFunction { get; set; } + + /// + /// The name of the product using the Epic Online Services SDK. + /// + /// The name is required to be non-empty and at maximum of bytes long. + /// The buffer can consist of the following characters: + /// A-Z, a-z, 0-9, dot, underscore, space, exclamation mark, question mark, and sign, hyphen, parenthesis, plus, minus, colon. + /// + public Utf8String ProductName { get; set; } + + /// + /// Product version of the running application. + /// + /// The version is required to be non-empty and at maximum of bytes long. + /// The buffer can consist of the following characters: + /// A-Z, a-z, 0-9, dot, underscore, space, exclamation mark, question mark, and sign, hyphen, parenthesis, plus, minus, colon. + /// + public Utf8String ProductVersion { get; set; } + + /// + /// A reserved field that should always be . + /// + public IntPtr Reserved { get; set; } + + /// + /// This field is for system specific initialization if any. + /// + /// If provided then the structure will be located in /eos_.h. + /// The structure will be named EOS__InitializeOptions. + /// + public AndroidInitializeOptionsSystemInitializeOptions? SystemInitializeOptions { get; set; } + + /// + /// The thread affinity override values for each category of thread. + /// + public InitializeThreadAffinity? OverrideThreadAffinity { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AndroidInitializeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AllocateMemoryFunction; + private IntPtr m_ReallocateMemoryFunction; + private IntPtr m_ReleaseMemoryFunction; + private IntPtr m_ProductName; + private IntPtr m_ProductVersion; + private IntPtr m_Reserved; + private IntPtr m_SystemInitializeOptions; + private IntPtr m_OverrideThreadAffinity; + + public void Set(ref AndroidInitializeOptions other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.INITIALIZE_API_LATEST; + m_AllocateMemoryFunction = other.AllocateMemoryFunction; + m_ReallocateMemoryFunction = other.ReallocateMemoryFunction; + m_ReleaseMemoryFunction = other.ReleaseMemoryFunction; + Helper.Set(other.ProductName, ref m_ProductName); + Helper.Set(other.ProductVersion, ref m_ProductVersion); + m_Reserved = other.Reserved; + if (m_Reserved == IntPtr.Zero) Helper.Set(new int[] { 1, 1 }, ref m_Reserved, false); + Helper.Set(other.SystemInitializeOptions, ref m_SystemInitializeOptions); + Helper.Set(other.OverrideThreadAffinity, ref m_OverrideThreadAffinity); + } + + public void Dispose() + { + Helper.Dispose(ref m_ProductName); + Helper.Dispose(ref m_ProductVersion); + Helper.Dispose(ref m_Reserved); + Helper.Dispose(ref m_SystemInitializeOptions); + Helper.Dispose(ref m_OverrideThreadAffinity); + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/AndroidInitializeOptionsSystemInitializeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/AndroidInitializeOptionsSystemInitializeOptions.cs new file mode 100644 index 0000000..d605816 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/AndroidInitializeOptionsSystemInitializeOptions.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_ANDROID || __ANDROID__ + #define EOS_PLATFORM_ANDROID +#endif + +#if EOS_PLATFORM_ANDROID +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Options for initializing mount paths required for some platforms. + /// + public struct AndroidInitializeOptionsSystemInitializeOptions + { + /// + /// Reserved, set to + /// + public IntPtr Reserved { get; set; } + + /// + /// Full internal directory path. Can be + /// + public Utf8String OptionalInternalDirectory { get; set; } + + /// + /// Full external directory path. Can be + /// + public Utf8String OptionalExternalDirectory { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AndroidInitializeOptionsSystemInitializeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Reserved; + private IntPtr m_OptionalInternalDirectory; + private IntPtr m_OptionalExternalDirectory; + + public void Set(ref AndroidInitializeOptionsSystemInitializeOptions other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.ANDROID_INITIALIZEOPTIONS_API_LATEST; + m_Reserved = other.Reserved; + Helper.Set(other.OptionalInternalDirectory, ref m_OptionalInternalDirectory); + Helper.Set(other.OptionalExternalDirectory, ref m_OptionalExternalDirectory); + } + + public void Dispose() + { + Helper.Dispose(ref m_Reserved); + Helper.Dispose(ref m_OptionalInternalDirectory); + Helper.Dispose(ref m_OptionalExternalDirectory); + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/PlatformInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/PlatformInterface.cs new file mode 100644 index 0000000..40da256 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Android/Platform/PlatformInterface.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_ANDROID || __ANDROID__ + #define EOS_PLATFORM_ANDROID +#endif + +#if EOS_PLATFORM_ANDROID +using System; + +namespace Epic.OnlineServices.Platform +{ + public sealed partial class PlatformInterface + { + /// + /// The most recent version of the structure. + /// + public const int ANDROID_INITIALIZEOPTIONS_API_LATEST = 2; + + /// + /// Initialize the Epic Online Services SDK. + /// + /// Before calling any other function in the SDK, clients must call this function. + /// + /// This function must only be called one time and must have a corresponding call. + /// + /// + /// - The initialization options to use for the SDK. + /// + /// + /// An is returned to indicate success or an error. + /// is returned if the SDK successfully initializes. + /// is returned if the function has already been called. + /// is returned if the provided options are invalid. + /// + public static Result Initialize(ref AndroidInitializeOptions options) + { + var optionsInternal = default(AndroidInitializeOptionsInternal); + optionsInternal.Set(ref options); + + + var callResult = AndroidBindings.EOS_Initialize_Android(ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddExternalIntegrityCatalogOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddExternalIntegrityCatalogOptions.cs new file mode 100644 index 0000000..5d5e389 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddExternalIntegrityCatalogOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct AddExternalIntegrityCatalogOptions + { + /// + /// UTF-8 path to the .bin catalog file to add + /// + public Utf8String PathToBinFile { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddExternalIntegrityCatalogOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PathToBinFile; + + public void Set(ref AddExternalIntegrityCatalogOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ADDEXTERNALINTEGRITYCATALOG_API_LATEST; + Helper.Set(other.PathToBinFile, ref m_PathToBinFile); + } + + public void Dispose() + { + Helper.Dispose(ref m_PathToBinFile); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyClientIntegrityViolatedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyClientIntegrityViolatedOptions.cs new file mode 100644 index 0000000..31db734 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyClientIntegrityViolatedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyClientIntegrityViolatedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyClientIntegrityViolatedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyClientIntegrityViolatedOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ADDNOTIFYCLIENTINTEGRITYVIOLATED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyMessageToPeerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyMessageToPeerOptions.cs new file mode 100644 index 0000000..07d3e45 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyMessageToPeerOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyMessageToPeerOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyMessageToPeerOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyMessageToPeerOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ADDNOTIFYMESSAGETOPEER_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyMessageToServerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyMessageToServerOptions.cs new file mode 100644 index 0000000..ce4b9f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyMessageToServerOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyMessageToServerOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyMessageToServerOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyMessageToServerOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ADDNOTIFYMESSAGETOSERVER_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyPeerActionRequiredOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyPeerActionRequiredOptions.cs new file mode 100644 index 0000000..4a9b7ba --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyPeerActionRequiredOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyPeerActionRequiredOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPeerActionRequiredOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyPeerActionRequiredOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ADDNOTIFYPEERACTIONREQUIRED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyPeerAuthStatusChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyPeerAuthStatusChangedOptions.cs new file mode 100644 index 0000000..27278b1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AddNotifyPeerAuthStatusChangedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyPeerAuthStatusChangedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPeerAuthStatusChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyPeerAuthStatusChangedOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ADDNOTIFYPEERAUTHSTATUSCHANGED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientInterface.cs new file mode 100644 index 0000000..a26b208 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientInterface.cs @@ -0,0 +1,818 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.AntiCheatClient +{ + public sealed partial class AntiCheatClientInterface : Handle + { + public AntiCheatClientInterface() + { + } + + public AntiCheatClientInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDEXTERNALINTEGRITYCATALOG_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYCLIENTINTEGRITYVIOLATED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYMESSAGETOPEER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYMESSAGETOSERVER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPEERACTIONREQUIRED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPEERAUTHSTATUSCHANGED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int BEGINSESSION_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int ENDSESSION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETMODULEBUILDID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST = 1; + /// + /// Maximum size of an individual message provided through . + /// + public const int ONMESSAGETOPEERCALLBACK_MAX_MESSAGE_SIZE = 512; + /// + /// Maximum size of an individual message provided through . + /// + public const int ONMESSAGETOSERVERCALLBACK_MAX_MESSAGE_SIZE = 512; + /// + /// A special peer handle that represents the client itself. + /// It does not need to be registered or unregistered and is + /// used in OnPeerActionRequiredCallback to quickly signal to the user + /// that they will not be able to join online play. + /// + public static readonly IntPtr PEER_SELF = (IntPtr)(-1); + /// + /// The most recent version of the API. + /// + public const int POLLSTATUS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int PROTECTMESSAGE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int RECEIVEMESSAGEFROMPEER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int RECEIVEMESSAGEFROMSERVER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int REGISTERPEER_API_LATEST = 3; + /// + /// The maximum value for the AuthenticationTimeout parameter in the struct. + /// + public const int REGISTERPEER_MAX_AUTHENTICATIONTIMEOUT = 120; + /// + /// The minimum value for the AuthenticationTimeout parameter in the struct. + /// + public const int REGISTERPEER_MIN_AUTHENTICATIONTIMEOUT = 40; + /// + /// The most recent version of the API. + /// + public const int RESERVED01_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int RESERVED02_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UNPROTECTMESSAGE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UNREGISTERPEER_API_LATEST = 1; + + /// + /// Optional. Adds an integrity catalog and certificate pair from outside the game directory, + /// for example to support mods that load from elsewhere. + /// Mode: All + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the integrity catalog was added successfully + /// - - If input data was invalid + /// + public Result AddExternalIntegrityCatalog(ref AddExternalIntegrityCatalogOptions options) + { + var optionsInternal = default(AddExternalIntegrityCatalogOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_AddExternalIntegrityCatalog(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Add a callback when a message must be displayed to the local client informing them on a local integrity violation, + /// which will prevent further online play. + /// Mode: Any. + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyClientIntegrityViolated(ref AddNotifyClientIntegrityViolatedOptions options, object clientData, OnClientIntegrityViolatedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyClientIntegrityViolatedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatClient_AddNotifyClientIntegrityViolated(InnerHandle, ref optionsInternal, clientDataPointer, OnClientIntegrityViolatedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Add a callback issued when a new message must be dispatched to a connected peer. The bound function will only be called + /// between a successful call to and the matching call in mode . + /// Mode: . + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyMessageToPeer(ref AddNotifyMessageToPeerOptions options, object clientData, OnMessageToPeerCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyMessageToPeerOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatClient_AddNotifyMessageToPeer(InnerHandle, ref optionsInternal, clientDataPointer, OnMessageToPeerCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Add a callback issued when a new message must be dispatched to the game server. The bound function will only be called + /// between a successful call to and the matching call in mode . + /// Mode: . + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyMessageToServer(ref AddNotifyMessageToServerOptions options, object clientData, OnMessageToServerCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyMessageToServerOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatClient_AddNotifyMessageToServer(InnerHandle, ref optionsInternal, clientDataPointer, OnMessageToServerCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Add a callback issued when an action must be applied to a connected client. The bound function will only be called + /// between a successful call to and the matching call in mode . + /// Mode: . + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyPeerActionRequired(ref AddNotifyPeerActionRequiredOptions options, object clientData, OnPeerActionRequiredCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyPeerActionRequiredOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatClient_AddNotifyPeerActionRequired(InnerHandle, ref optionsInternal, clientDataPointer, OnPeerActionRequiredCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Add an optional callback issued when a connected peer's authentication status changes. The bound function will only be called + /// between a successful call to and the matching call in mode . + /// Mode: . + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyPeerAuthStatusChanged(ref AddNotifyPeerAuthStatusChangedOptions options, object clientData, OnPeerAuthStatusChangedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyPeerAuthStatusChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnPeerAuthStatusChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Begins a multiplayer game session. After this call returns successfully, the client is ready to exchange + /// anti-cheat messages with a game server or peer(s). When leaving one game session and connecting to a + /// different one, a new anti-cheat session must be created by calling and again. + /// Mode: All + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the session was started successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result BeginSession(ref BeginSessionOptions options) + { + var optionsInternal = default(BeginSessionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_BeginSession(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Ends a multiplayer game session, either by leaving an ongoing session or shutting it down entirely. + /// Mode: All + /// + /// Must be called when the multiplayer session ends, or when the local user leaves a session in progress. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the session was ended normally + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result EndSession(ref EndSessionOptions options) + { + var optionsInternal = default(EndSessionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_EndSession(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Get the build id of the loaded anti-cheat client module. + /// Mode: All + /// + /// NOTE: This is intended for analytics or troubleshooting purposes only. The build identifier should be treated as an arbitrary value + /// and never used in relative comparisons. For example, it is incorrect to assume that a change in the behavior of the anti-cheat module + /// introduced with build N is also present in build N+1 because we may backport bugfixes and compatibility fixes to older releases. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, the build id of the loaded anti-cheat client module. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the build id was provided successfully + /// - - If input data was invalid + /// - - If the platform does not use anti-cheat client modules or the loaded anti-cheat client module is too old to support this function. + /// - - If the platform supports anti-cheat client modules but none is currently loaded (failsafe NullClient mode, launched without bootstrapper, etc). + /// + public Result GetModuleBuildId(ref GetModuleBuildIdOptions options, out uint outModuleBuildId) + { + var optionsInternal = default(GetModuleBuildIdOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_GetModuleBuildId(InnerHandle, ref optionsInternal, out outModuleBuildId); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional NetProtect feature for game message encryption. + /// Calculates the required decrypted buffer size for a given input data length. + /// This will not change for a given SDK version, and allows one time allocation of reusable buffers. + /// Mode: . + /// + /// + /// Structure containing input data. + /// + /// + /// On success, the OutBuffer length in bytes that is required to call ProtectMessage on the given input size. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the output length was calculated successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result GetProtectMessageOutputLength(ref GetProtectMessageOutputLengthOptions options, out uint outBufferSizeBytes) + { + var optionsInternal = default(GetProtectMessageOutputLengthOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_GetProtectMessageOutputLength(InnerHandle, ref optionsInternal, out outBufferSizeBytes); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Polls for changes in client integrity status. + /// Mode: All + /// + /// The purpose of this function is to allow the game to display information + /// about anti-cheat integrity problems to the user. These are often the result of a + /// corrupt game installation rather than cheating attempts. This function does not + /// check for violations, it only provides information about violations which have + /// automatically been discovered by the anti-cheat client. Such a violation may occur + /// at any time and afterwards the user will be unable to join any protected multiplayer + /// session until after restarting the game. Note that this function returns + /// when everything is normal and there is no violation to display. + /// + /// NOTE: This API is deprecated. In order to get client status updates, + /// use AddNotifyClientIntegrityViolated to register a callback that will + /// be called when violations are triggered. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, receives a code describing the violation that occurred. + /// + /// + /// On success, receives a describing the violation which should be displayed to the user. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If violation information was returned successfully + /// - - If OutMessage is too small to receive the message . Call again with a larger OutMessage. + /// - - If no violation has occurred since the last call + /// + public Result PollStatus(ref PollStatusOptions options, out AntiCheatClientViolationType outViolationType, out Utf8String outMessage) + { + var optionsInternal = default(PollStatusOptionsInternal); + optionsInternal.Set(ref options); + + var outMessagePointer = Helper.AddAllocation(options.OutMessageLength); + + var callResult = Bindings.EOS_AntiCheatClient_PollStatus(InnerHandle, ref optionsInternal, out outViolationType, outMessagePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outMessagePointer, out outMessage); + Helper.Dispose(ref outMessagePointer); + + return callResult; + } + + /// + /// Optional NetProtect feature for game message encryption. + /// Encrypts an arbitrary message that will be sent to the game server and decrypted on the other side. + /// Mode: . + /// + /// Options.Data and OutBuffer may refer to the same buffer to encrypt in place. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, buffer where encrypted message data will be written. + /// + /// + /// On success, the number of bytes that were written to OutBuffer. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was protected successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result ProtectMessage(ref ProtectMessageOptions options, ArraySegment outBuffer, out uint outBytesWritten) + { + var optionsInternal = default(ProtectMessageOptionsInternal); + optionsInternal.Set(ref options); + + var outBufferPointer = Helper.AddPinnedBuffer(outBuffer); + + var callResult = Bindings.EOS_AntiCheatClient_ProtectMessage(InnerHandle, ref optionsInternal, outBufferPointer, out outBytesWritten); + + Helper.Dispose(ref optionsInternal); + + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Call when an anti-cheat message is received from a peer. + /// Mode: . + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was processed successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result ReceiveMessageFromPeer(ref ReceiveMessageFromPeerOptions options) + { + var optionsInternal = default(ReceiveMessageFromPeerOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_ReceiveMessageFromPeer(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Call when an anti-cheat message is received from the game server. + /// Mode: . + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was processed successfully + /// - - If input data was invalid + /// - - If message contents were corrupt and could not be processed + /// - - If the current mode does not support this function + /// + public Result ReceiveMessageFromServer(ref ReceiveMessageFromServerOptions options) + { + var optionsInternal = default(ReceiveMessageFromServerOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_ReceiveMessageFromServer(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Registers a connected peer-to-peer client. + /// Mode: . + /// + /// Must be paired with a call to if this user leaves the session + /// in progress, or if the entire session is ending. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the player was registered successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result RegisterPeer(ref RegisterPeerOptions options) + { + var optionsInternal = default(RegisterPeerOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_RegisterPeer(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Remove a previously bound handler. + /// Mode: Any. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyClientIntegrityViolated(ulong notificationId) + { + Bindings.EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Remove a previously bound handler. + /// Mode: Any. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyMessageToPeer(ulong notificationId) + { + Bindings.EOS_AntiCheatClient_RemoveNotifyMessageToPeer(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Remove a previously bound handler. + /// Mode: Any. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyMessageToServer(ulong notificationId) + { + Bindings.EOS_AntiCheatClient_RemoveNotifyMessageToServer(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Remove a previously bound handler. + /// Mode: Any. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyPeerActionRequired(ulong notificationId) + { + Bindings.EOS_AntiCheatClient_RemoveNotifyPeerActionRequired(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Remove a previously bound handler. + /// Mode: Any. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyPeerAuthStatusChanged(ulong notificationId) + { + Bindings.EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// This function is reserved for future use and must not be called. + /// + /// + /// Structure containing input data. + /// + /// + /// Reserved. + /// + /// + /// - Always + /// + public Result Reserved01(ref Reserved01Options options, out int outValue) + { + var optionsInternal = default(Reserved01OptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_Reserved01(InnerHandle, ref optionsInternal, out outValue); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// This function is reserved for future use and must not be called. + /// + /// + /// Structure containing input data. + /// + /// + /// - Always + /// + public Result Reserved02(ref Reserved02Options options) + { + var optionsInternal = default(Reserved02OptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_Reserved02(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional NetProtect feature for game message encryption. + /// Decrypts an encrypted message received from the game server. + /// Mode: . + /// + /// Options.Data and OutBuffer may refer to the same buffer to decrypt in place. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, buffer where encrypted message data will be written. + /// + /// + /// On success, the number of bytes that were written to OutBuffer. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was unprotected successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result UnprotectMessage(ref UnprotectMessageOptions options, ArraySegment outBuffer, out uint outBytesWritten) + { + var optionsInternal = default(UnprotectMessageOptionsInternal); + optionsInternal.Set(ref options); + + var outBufferPointer = Helper.AddPinnedBuffer(outBuffer); + + var callResult = Bindings.EOS_AntiCheatClient_UnprotectMessage(InnerHandle, ref optionsInternal, outBufferPointer, out outBytesWritten); + + Helper.Dispose(ref optionsInternal); + + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Unregisters a disconnected peer-to-peer client. + /// Mode: . + /// + /// Must be called when a user leaves a session in progress. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the player was unregistered successfully + /// - - If input data was invalid + /// - - If the current mode does not support this function + /// + public Result UnregisterPeer(ref UnregisterPeerOptions options) + { + var optionsInternal = default(UnregisterPeerOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatClient_UnregisterPeer(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientMode.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientMode.cs new file mode 100644 index 0000000..a044539 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientMode.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Operating modes + /// + public enum AntiCheatClientMode : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// Dedicated or listen server mode + /// + ClientServer = 1, + /// + /// Full mesh peer-to-peer mode + /// + PeerToPeer = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientViolationType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientViolationType.cs new file mode 100644 index 0000000..e253b63 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/AntiCheatClientViolationType.cs @@ -0,0 +1,81 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Anti-cheat integrity violation types + /// + public enum AntiCheatClientViolationType : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// An anti-cheat asset integrity catalog file could not be found + /// + IntegrityCatalogNotFound = 1, + /// + /// An anti-cheat asset integrity catalog file is corrupt or invalid + /// + IntegrityCatalogError = 2, + /// + /// An anti-cheat asset integrity catalog file's certificate has been revoked. + /// + IntegrityCatalogCertificateRevoked = 3, + /// + /// The primary anti-cheat asset integrity catalog does not include an entry for the game's + /// main executable, which is required. + /// + IntegrityCatalogMissingMainExecutable = 4, + /// + /// A disallowed game file modification was detected + /// + GameFileMismatch = 5, + /// + /// A disallowed game file removal was detected + /// + RequiredGameFileNotFound = 6, + /// + /// A disallowed game file addition was detected + /// + UnknownGameFileForbidden = 7, + /// + /// A system file failed an integrity check + /// + SystemFileUntrusted = 8, + /// + /// A disallowed code module was loaded into the game process + /// + ForbiddenModuleLoaded = 9, + /// + /// A disallowed game process memory modification was detected + /// + CorruptedMemory = 10, + /// + /// A disallowed tool was detected running in the system + /// + ForbiddenToolDetected = 11, + /// + /// An internal anti-cheat integrity check failed + /// + InternalAntiCheatViolation = 12, + /// + /// Integrity checks on messages between the game client and game server, or between peers, failed + /// + CorruptedNetworkMessageFlow = 13, + /// + /// The game is running inside a disallowed virtual machine + /// + VirtualMachineNotAllowed = 14, + /// + /// A forbidden operating system configuration was detected + /// + ForbiddenSystemConfiguration = 15 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/BeginSessionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/BeginSessionOptions.cs new file mode 100644 index 0000000..f82f774 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/BeginSessionOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct BeginSessionOptions + { + /// + /// Logged in user identifier from earlier call to family of functions + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Operating mode + /// + public AntiCheatClientMode Mode { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct BeginSessionOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private AntiCheatClientMode m_Mode; + + public void Set(ref BeginSessionOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.BEGINSESSION_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Mode = other.Mode; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/EndSessionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/EndSessionOptions.cs new file mode 100644 index 0000000..c580278 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/EndSessionOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct EndSessionOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EndSessionOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref EndSessionOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.ENDSESSION_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/GetModuleBuildIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/GetModuleBuildIdOptions.cs new file mode 100644 index 0000000..1692b82 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/GetModuleBuildIdOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct GetModuleBuildIdOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetModuleBuildIdOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetModuleBuildIdOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.GETMODULEBUILDID_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/GetProtectMessageOutputLengthOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/GetProtectMessageOutputLengthOptions.cs new file mode 100644 index 0000000..c6d0c71 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/GetProtectMessageOutputLengthOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct GetProtectMessageOutputLengthOptions + { + /// + /// Length in bytes of input + /// + public uint DataLengthBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetProtectMessageOutputLengthOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_DataLengthBytes; + + public void Set(ref GetProtectMessageOutputLengthOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST; + m_DataLengthBytes = other.DataLengthBytes; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnClientIntegrityViolatedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnClientIntegrityViolatedCallback.cs new file mode 100644 index 0000000..91108eb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnClientIntegrityViolatedCallback.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + + /// + /// Callback issued when the local client triggers an integrity violation. + /// + /// The message contains descriptive of up to 256 characters and must be displayed to the player. + /// + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnClientIntegrityViolatedCallback(ref OnClientIntegrityViolatedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnClientIntegrityViolatedCallbackInternal(ref OnClientIntegrityViolatedCallbackInfoInternal data); + + internal static class OnClientIntegrityViolatedCallbackInternalImplementation + { + private static OnClientIntegrityViolatedCallbackInternal s_Delegate; + public static OnClientIntegrityViolatedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnClientIntegrityViolatedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnClientIntegrityViolatedCallbackInternal))] + public static void EntryPoint(ref OnClientIntegrityViolatedCallbackInfoInternal data) + { + OnClientIntegrityViolatedCallback callback; + OnClientIntegrityViolatedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnClientIntegrityViolatedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnClientIntegrityViolatedCallbackInfo.cs new file mode 100644 index 0000000..18b36c9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnClientIntegrityViolatedCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Structure containing details about integrity violation related to the local client + /// + public struct OnClientIntegrityViolatedCallbackInfo : ICallbackInfo + { + /// + /// Caller-specified context data + /// + public object ClientData { get; set; } + + /// + /// Code describing the violation that occurred + /// + public AntiCheatClientViolationType ViolationType { get; set; } + + /// + /// describing the violation which should be displayed to the user + /// + public Utf8String ViolationMessage { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnClientIntegrityViolatedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private AntiCheatClientViolationType m_ViolationType; + private IntPtr m_ViolationMessage; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnClientIntegrityViolatedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.ViolationType = m_ViolationType; + Utf8String ViolationMessagePublic; + Helper.Get(m_ViolationMessage, out ViolationMessagePublic); + other.ViolationMessage = ViolationMessagePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToPeerCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToPeerCallback.cs new file mode 100644 index 0000000..4d25d93 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToPeerCallback.cs @@ -0,0 +1,52 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + + /// + /// Callback issued when a new message must be dispatched to a connected peer. + /// + /// Messages contain opaque binary data and must be transmitted + /// to the correct peer using the game's own networking layer, then delivered + /// to the client anti-cheat instance using the function. + /// The upper limit of the message size is . + /// + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnMessageToPeerCallback(ref AntiCheatCommon.OnMessageToClientCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnMessageToPeerCallbackInternal(ref AntiCheatCommon.OnMessageToClientCallbackInfoInternal data); + + internal static class OnMessageToPeerCallbackInternalImplementation + { + private static OnMessageToPeerCallbackInternal s_Delegate; + public static OnMessageToPeerCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnMessageToPeerCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnMessageToPeerCallbackInternal))] + public static void EntryPoint(ref AntiCheatCommon.OnMessageToClientCallbackInfoInternal data) + { + OnMessageToPeerCallback callback; + AntiCheatCommon.OnMessageToClientCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToServerCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToServerCallback.cs new file mode 100644 index 0000000..aecbabd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToServerCallback.cs @@ -0,0 +1,52 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + + /// + /// Callback issued when a new message must be dispatched to the game server. + /// + /// Messages contain opaque binary data and must be transmitted + /// to the game server using the game's own networking layer, then delivered + /// to the server anti-cheat instance using the function. + /// The upper limit of the message size is . + /// + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnMessageToServerCallback(ref OnMessageToServerCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnMessageToServerCallbackInternal(ref OnMessageToServerCallbackInfoInternal data); + + internal static class OnMessageToServerCallbackInternalImplementation + { + private static OnMessageToServerCallbackInternal s_Delegate; + public static OnMessageToServerCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnMessageToServerCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnMessageToServerCallbackInternal))] + public static void EntryPoint(ref OnMessageToServerCallbackInfoInternal data) + { + OnMessageToServerCallback callback; + OnMessageToServerCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToServerCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToServerCallbackInfo.cs new file mode 100644 index 0000000..4521c15 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnMessageToServerCallbackInfo.cs @@ -0,0 +1,62 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Structure containing details about a new message that must be dispatched to the game server. + /// + public struct OnMessageToServerCallbackInfo : ICallbackInfo + { + /// + /// Caller-specified context data + /// + public object ClientData { get; set; } + + /// + /// The message data that must be sent to the server + /// + public ArraySegment MessageData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnMessageToServerCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_MessageData; + private uint m_MessageDataSizeBytes; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnMessageToServerCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ArraySegment MessageDataPublic; + Helper.Get(m_MessageData, out MessageDataPublic, m_MessageDataSizeBytes); + other.MessageData = MessageDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnPeerActionRequiredCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnPeerActionRequiredCallback.cs new file mode 100644 index 0000000..3523c25 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnPeerActionRequiredCallback.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + + /// + /// Callback issued when an action must be applied to a connected peer. + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnPeerActionRequiredCallback(ref AntiCheatCommon.OnClientActionRequiredCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPeerActionRequiredCallbackInternal(ref AntiCheatCommon.OnClientActionRequiredCallbackInfoInternal data); + + internal static class OnPeerActionRequiredCallbackInternalImplementation + { + private static OnPeerActionRequiredCallbackInternal s_Delegate; + public static OnPeerActionRequiredCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPeerActionRequiredCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPeerActionRequiredCallbackInternal))] + public static void EntryPoint(ref AntiCheatCommon.OnClientActionRequiredCallbackInfoInternal data) + { + OnPeerActionRequiredCallback callback; + AntiCheatCommon.OnClientActionRequiredCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnPeerAuthStatusChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnPeerAuthStatusChangedCallback.cs new file mode 100644 index 0000000..2108b3b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/OnPeerAuthStatusChangedCallback.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + + /// + /// Optional callback issued when a connected peer's authentication status has changed. + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnPeerAuthStatusChangedCallback(ref AntiCheatCommon.OnClientAuthStatusChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPeerAuthStatusChangedCallbackInternal(ref AntiCheatCommon.OnClientAuthStatusChangedCallbackInfoInternal data); + + internal static class OnPeerAuthStatusChangedCallbackInternalImplementation + { + private static OnPeerAuthStatusChangedCallbackInternal s_Delegate; + public static OnPeerAuthStatusChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPeerAuthStatusChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPeerAuthStatusChangedCallbackInternal))] + public static void EntryPoint(ref AntiCheatCommon.OnClientAuthStatusChangedCallbackInfoInternal data) + { + OnPeerAuthStatusChangedCallback callback; + AntiCheatCommon.OnClientAuthStatusChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/PollStatusOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/PollStatusOptions.cs new file mode 100644 index 0000000..c080e08 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/PollStatusOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct PollStatusOptions + { + /// + /// The size of OutMessage in bytes. Recommended size is 256 bytes. + /// + public uint OutMessageLength { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PollStatusOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_OutMessageLength; + + public void Set(ref PollStatusOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.POLLSTATUS_API_LATEST; + m_OutMessageLength = other.OutMessageLength; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ProtectMessageOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ProtectMessageOptions.cs new file mode 100644 index 0000000..ed9e381 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ProtectMessageOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct ProtectMessageOptions + { + /// + /// The data to encrypt + /// + public ArraySegment Data { get; set; } + + /// + /// The size in bytes of OutBuffer + /// + public uint OutBufferSizeBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ProtectMessageOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_DataLengthBytes; + private IntPtr m_Data; + private uint m_OutBufferSizeBytes; + + public void Set(ref ProtectMessageOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.PROTECTMESSAGE_API_LATEST; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + m_OutBufferSizeBytes = other.OutBufferSizeBytes; + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ReceiveMessageFromPeerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ReceiveMessageFromPeerOptions.cs new file mode 100644 index 0000000..4a883ac --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ReceiveMessageFromPeerOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct ReceiveMessageFromPeerOptions + { + /// + /// The handle describing the sender of this message + /// + public IntPtr PeerHandle { get; set; } + + /// + /// The data received + /// + public ArraySegment Data { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ReceiveMessageFromPeerOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PeerHandle; + private uint m_DataLengthBytes; + private IntPtr m_Data; + + public void Set(ref ReceiveMessageFromPeerOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.RECEIVEMESSAGEFROMPEER_API_LATEST; + m_PeerHandle = other.PeerHandle; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ReceiveMessageFromServerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ReceiveMessageFromServerOptions.cs new file mode 100644 index 0000000..15406e6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/ReceiveMessageFromServerOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct ReceiveMessageFromServerOptions + { + /// + /// The data received + /// + public ArraySegment Data { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ReceiveMessageFromServerOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_DataLengthBytes; + private IntPtr m_Data; + + public void Set(ref ReceiveMessageFromServerOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.RECEIVEMESSAGEFROMSERVER_API_LATEST; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/RegisterPeerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/RegisterPeerOptions.cs new file mode 100644 index 0000000..fe17f51 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/RegisterPeerOptions.cs @@ -0,0 +1,87 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct RegisterPeerOptions + { + /// + /// Locally unique value describing the remote user (e.g. a player object ) + /// + public IntPtr PeerHandle { get; set; } + + /// + /// Type of remote user being registered + /// + public AntiCheatCommon.AntiCheatCommonClientType ClientType { get; set; } + + /// + /// Remote user's platform, if known + /// + public AntiCheatCommon.AntiCheatCommonClientPlatform ClientPlatform { get; set; } + + /// + /// Time in seconds to allow newly registered peers to send the initial message containing their token. + /// Minimum value: + /// Maximum value: + /// + public uint AuthenticationTimeout { get; set; } + + /// + /// Deprecated - use PeerProductUserId instead + /// + public Utf8String AccountId_DEPRECATED { get; set; } + + /// + /// Optional IP address for the remote user. May be if not available. + /// IPv4 format: "0.0.0.0" + /// IPv6 format: "0:0:0:0:0:0:0:0" + /// + public Utf8String IpAddress { get; set; } + + /// + /// Identifier for the remote user + /// + public ProductUserId PeerProductUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RegisterPeerOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PeerHandle; + private AntiCheatCommon.AntiCheatCommonClientType m_ClientType; + private AntiCheatCommon.AntiCheatCommonClientPlatform m_ClientPlatform; + private uint m_AuthenticationTimeout; + private IntPtr m_AccountId_DEPRECATED; + private IntPtr m_IpAddress; + private IntPtr m_PeerProductUserId; + + public void Set(ref RegisterPeerOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.REGISTERPEER_API_LATEST; + m_PeerHandle = other.PeerHandle; + m_ClientType = other.ClientType; + m_ClientPlatform = other.ClientPlatform; + m_AuthenticationTimeout = other.AuthenticationTimeout; + Helper.Set(other.AccountId_DEPRECATED, ref m_AccountId_DEPRECATED); + Helper.Set(other.IpAddress, ref m_IpAddress); + Helper.Set(other.PeerProductUserId, ref m_PeerProductUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_AccountId_DEPRECATED); + Helper.Dispose(ref m_IpAddress); + Helper.Dispose(ref m_PeerProductUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/Reserved01Options.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/Reserved01Options.cs new file mode 100644 index 0000000..5c9b73b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/Reserved01Options.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct Reserved01Options + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct Reserved01OptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref Reserved01Options other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.RESERVED01_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/Reserved02Options.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/Reserved02Options.cs new file mode 100644 index 0000000..2d1cbd3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/Reserved02Options.cs @@ -0,0 +1,60 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct Reserved02Options + { + /// + /// Field reserved for future use + /// + public long Reserved1 { get; set; } + + /// + /// Field reserved for future use + /// + public uint Reserved2 { get; set; } + + /// + /// Field reserved for future use + /// + public uint Reserved3 { get; set; } + + /// + /// Field reserved for future use + /// + public IntPtr Reserved4 { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct Reserved02OptionsInternal : ISettable + { + private int m_ApiVersion; + private long m_Reserved1; + private uint m_Reserved2; + private uint m_Reserved3; + private IntPtr m_Reserved4; + + public void Set(ref Reserved02Options other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.RESERVED02_API_LATEST; + m_Reserved1 = other.Reserved1; + m_Reserved2 = other.Reserved2; + m_Reserved3 = other.Reserved3; + m_Reserved4 = other.Reserved4; + } + + public void Dispose() + { + Helper.Dispose(ref m_Reserved4); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/UnprotectMessageOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/UnprotectMessageOptions.cs new file mode 100644 index 0000000..bbe716f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/UnprotectMessageOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct UnprotectMessageOptions + { + /// + /// The data to decrypt + /// + public ArraySegment Data { get; set; } + + /// + /// The size in bytes of OutBuffer + /// + public uint OutBufferSizeBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnprotectMessageOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_DataLengthBytes; + private IntPtr m_Data; + private uint m_OutBufferSizeBytes; + + public void Set(ref UnprotectMessageOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.UNPROTECTMESSAGE_API_LATEST; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + m_OutBufferSizeBytes = other.OutBufferSizeBytes; + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/UnregisterPeerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/UnregisterPeerOptions.cs new file mode 100644 index 0000000..5a19d38 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatClient/UnregisterPeerOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatClient +{ + /// + /// Input parameters for the function. + /// + public struct UnregisterPeerOptions + { + /// + /// Locally unique value describing the remote user, as previously passed to + /// + public IntPtr PeerHandle { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnregisterPeerOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PeerHandle; + + public void Set(ref UnregisterPeerOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatClientInterface.UNREGISTERPEER_API_LATEST; + m_PeerHandle = other.PeerHandle; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientAction.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientAction.cs new file mode 100644 index 0000000..805fe51 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientAction.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Anti-cheat action values. Applicable to both clients and remote peers. + /// + public enum AntiCheatCommonClientAction : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// The client/peer must be removed from the current game session + /// + RemovePlayer = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientActionReason.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientActionReason.cs new file mode 100644 index 0000000..8bf7575 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientActionReason.cs @@ -0,0 +1,60 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Anti-cheat action reasons. Applicable to both clients and remote peers. + /// + public enum AntiCheatCommonClientActionReason : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// An internal error occurred + /// + InternalError = 1, + /// + /// An anti-cheat message received from the client/peer was corrupt or invalid + /// + InvalidMessage = 2, + /// + /// The client/peer's anti-cheat authentication failed + /// + AuthenticationFailed = 3, + /// + /// The client/peer failed to load the anti-cheat module at startup + /// + NullClient = 4, + /// + /// The client/peer's anti-cheat heartbeat was not received + /// + HeartbeatTimeout = 5, + /// + /// The client/peer failed an anti-cheat client runtime check + /// + ClientViolation = 6, + /// + /// The client/peer failed an anti-cheat backend runtime check + /// + BackendViolation = 7, + /// + /// The client/peer is temporarily blocked from playing on this game server + /// + TemporaryCooldown = 8, + /// + /// The client/peer is temporarily banned + /// + TemporaryBanned = 9, + /// + /// The client/peer is permanently banned + /// + PermanentBanned = 10 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientAuthStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientAuthStatus.cs new file mode 100644 index 0000000..d88c48b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientAuthStatus.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// The client/peer's anti-cheat authentication status + /// + public enum AntiCheatCommonClientAuthStatus : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// The client/peer's anti-cheat functionality has been validated by this game server + /// + LocalAuthComplete = 1, + /// + /// The client/peer's anti-cheat functionality has been validated by the anti-cheat backend service + /// + RemoteAuthComplete = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientFlags.cs new file mode 100644 index 0000000..6302dd9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientFlags.cs @@ -0,0 +1,25 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Flags describing a remote client. These can be updated during a play session + /// + [Flags] + public enum AntiCheatCommonClientFlags : int + { + /// + /// No particular flags relevant for this client + /// + None = 0, + /// + /// The client has admin privileges on the game server + /// + Admin = (1 << 0) + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientInput.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientInput.cs new file mode 100644 index 0000000..d1f7f49 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientInput.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Flags describing the input device used by a remote client, if known. These can be updated during a play session. + /// + public enum AntiCheatCommonClientInput : int + { + /// + /// Unknown input device + /// + Unknown = 0, + /// + /// The client is using mouse and keyboard + /// + MouseKeyboard = 1, + /// + /// The client is using a gamepad or game controller + /// + Gamepad = 2, + /// + /// The client is using a touch input device (e.g. phone/tablet screen) + /// + TouchInput = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientPlatform.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientPlatform.cs new file mode 100644 index 0000000..99d8e62 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientPlatform.cs @@ -0,0 +1,52 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Flags describing the platform of a remote client, if known + /// + public enum AntiCheatCommonClientPlatform : int + { + /// + /// Unknown platform + /// + Unknown = 0, + /// + /// The client is playing on Windows + /// + Windows = 1, + /// + /// The client is playing on Mac + /// + Mac = 2, + /// + /// The client is playing on Linux + /// + Linux = 3, + /// + /// The client is playing on an Xbox device + /// + Xbox = 4, + /// + /// The client is playing on a PlayStation device + /// + PlayStation = 5, + /// + /// The client is playing on a Nintendo device + /// + Nintendo = 6, + /// + /// The client is playing on iOS + /// + iOS = 7, + /// + /// The client is playing on Android + /// + Android = 8 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientType.cs new file mode 100644 index 0000000..72b4ebd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonClientType.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Flags describing the type of a remote client + /// + public enum AntiCheatCommonClientType : int + { + /// + /// An ordinary player that requires anti-cheat client protection to play + /// + ProtectedClient = 0, + /// + /// The player does not need the anti-cheat client to play because of their platform or other factors + /// + UnprotectedClient = 1, + /// + /// The client is an AI bot, not an actual human + /// + AIBot = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonEventParamType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonEventParamType.cs new file mode 100644 index 0000000..65f4a5a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonEventParamType.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Types supported for custom gameplay behavior event parameters + /// + public enum AntiCheatCommonEventParamType : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// + /// + ClientHandle = 1, + /// + /// + /// + String = 2, + /// + /// + /// + UInt32 = 3, + /// + /// + /// + Int32 = 4, + /// + /// + /// + UInt64 = 5, + /// + /// + /// + Int64 = 6, + /// + /// + /// + Vector3f = 7, + /// + /// + /// + Quat = 8, + /// + /// + /// + Float = 9 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonEventType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonEventType.cs new file mode 100644 index 0000000..794bb14 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonEventType.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Types supported for custom gameplay behavior events. + /// These have a considerable impact on performance + /// + public enum AntiCheatCommonEventType : int + { + /// + /// Not used + /// + Invalid = 0, + /// + /// A general game event that is not specific to any individual player. + /// Low memory use which is constant with respect to the number of players. + /// + GameEvent = 1, + /// + /// An event that is logically associated with a specific player. Events logged in + /// this category require a specific ClientHandle to which they will be attached. + /// Higher memory use which scales according to the number of players. + /// + PlayerEvent = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonGameRoundCompetitionType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonGameRoundCompetitionType.cs new file mode 100644 index 0000000..4000a3d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonGameRoundCompetitionType.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Flags describing the type of competition taking place + /// + public enum AntiCheatCommonGameRoundCompetitionType : int + { + /// + /// No particular competition type applies + /// + None = 0, + /// + /// Casual unranked play + /// + Casual = 1, + /// + /// Ranked play, usually with skill based matchmaking + /// + Ranked = 2, + /// + /// Organized competitive play like a tournament + /// + Competitive = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonInterface.cs new file mode 100644 index 0000000..61031a5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonInterface.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + public sealed partial class AntiCheatCommonInterface + { + /// + /// The most recent version of the struct. + /// + public const int LOGEVENT_API_LATEST = 1; + /// + /// Max length for a log event param value. + /// + public const int LOGEVENT_STRING_MAX_LENGTH = 39; + /// + /// The most recent version of the struct. + /// + public const int LOGGAMEROUNDEND_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int LOGGAMEROUNDSTART_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERDESPAWN_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERREVIVE_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERSPAWN_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERTAKEDAMAGE_API_LATEST = 4; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERTICK_API_LATEST = 3; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERUSEABILITY_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int LOGPLAYERUSEWEAPON_API_LATEST = 2; + /// + /// Max weapon name length in . + /// + public const int LOGPLAYERUSEWEAPON_WEAPONNAME_MAX_LENGTH = 32; + /// + /// The most recent version of the struct. + /// + public const int REGISTEREVENT_API_LATEST = 1; + /// + /// Min value for EventId in . + /// + public const int REGISTEREVENT_CUSTOMEVENTBASE = 0x10000000; + /// + /// Max value for ParamDefsCount in . + /// + public const int REGISTEREVENT_MAX_PARAMDEFSCOUNT = 12; + /// + /// The most recent version of the struct. + /// + public const int SETCLIENTDETAILS_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int SETGAMESESSIONID_API_LATEST = 1; + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerMovementState.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerMovementState.cs new file mode 100644 index 0000000..8343dd8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerMovementState.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Details of a player's movement state + /// + public enum AntiCheatCommonPlayerMovementState : int + { + /// + /// No particular state applies + /// + None = 0, + /// + /// Player is crouching + /// + Crouching = 1, + /// + /// Player is prone + /// + Prone = 2, + /// + /// Player is mounted in a vehicle or similar + /// + Mounted = 3, + /// + /// Player is swimming in a fluid volume + /// + Swimming = 4, + /// + /// Player is falling under the effects of gravity, such as when jumping or walking off the edge of a surface + /// + Falling = 5, + /// + /// Player is flying, ignoring the effects of gravity + /// + Flying = 6, + /// + /// Player is on a ladder + /// + OnLadder = 7 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageResult.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageResult.cs new file mode 100644 index 0000000..bcc1595 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageResult.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// The result of a damage event, if any + /// + public enum AntiCheatCommonPlayerTakeDamageResult : int + { + /// + /// No direct state change consequence for the victim + /// + None = 0, + /// + /// Deprecated - use more specific values below instead + /// + DownedDeprecated = 1, + /// + /// Deprecated - use more specific values below instead + /// + EliminatedDeprecated = 2, + /// + /// Player character transitioned from a normal state to temporarily incapacitated and requires assistance to recover. + /// + NormalToDowned = 3, + /// + /// Player character transitioned from a normal state to permanently incapacitated and cannot recover (e.g. dead). + /// + NormalToEliminated = 4, + /// + /// Player character transitioned from a temporarily incapacitated state to permanently incapacitated and cannot recover (e.g. dead). + /// + DownedToEliminated = 5 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageSource.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageSource.cs new file mode 100644 index 0000000..9d54230 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageSource.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// The source of a damage event + /// + public enum AntiCheatCommonPlayerTakeDamageSource : int + { + /// + /// No particular source relevant + /// + None = 0, + /// + /// Damage caused by a player controlled character + /// + Player = 1, + /// + /// Damage caused by a non-player character such as an AI enemy + /// + NonPlayerCharacter = 2, + /// + /// Damage caused by the world (falling off level, into lava, etc) + /// + World = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageType.cs new file mode 100644 index 0000000..33e7ad4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/AntiCheatCommonPlayerTakeDamageType.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Type of damage applied in a damage event + /// + public enum AntiCheatCommonPlayerTakeDamageType : int + { + /// + /// No particular type relevant + /// + None = 0, + /// + /// Damage caused by a point source such as a bullet or melee attack + /// + PointDamage = 1, + /// + /// Damage caused by a radial source such as an explosion + /// + RadialDamage = 2, + /// + /// Damage over time such as bleeding, poison, etc + /// + DamageOverTime = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventOptions.cs new file mode 100644 index 0000000..06f556c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogEventOptions + { + /// + /// Optional client who this event is primarily associated with. If not applicable, use 0. + /// + public IntPtr ClientHandle { get; set; } + + /// + /// Unique event identifier previously configured in RegisterEvent + /// + public uint EventId { get; set; } + + /// + /// Set of parameter types previously configured in RegisterEvent, and their values + /// + public LogEventParamPair[] Params { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogEventOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private uint m_EventId; + private uint m_ParamsCount; + private IntPtr m_Params; + + public void Set(ref LogEventOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGEVENT_API_LATEST; + m_ClientHandle = other.ClientHandle; + m_EventId = other.EventId; + Helper.Set(other.Params, ref m_Params, out m_ParamsCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_Params); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventParamPair.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventParamPair.cs new file mode 100644 index 0000000..af7a2f0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventParamPair.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Log Event Parameter. + /// + public struct LogEventParamPair + { + /// + /// Parameter value + /// + public LogEventParamPairParamValue ParamValue { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogEventParamPairInternal : ISettable + { + private AntiCheatCommonEventParamType m_ParamValueType; + private LogEventParamPairParamValueInternal m_ParamValue; + + public void Set(ref LogEventParamPair other) + { + Dispose(); + + Helper.Set(other.ParamValue, ref m_ParamValue); + + m_ParamValueType = other.ParamValue.ParamValueType; + } + + public void Dispose() + { + Helper.Dispose(ref m_ParamValue); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventParamPairParamValue.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventParamPairParamValue.cs new file mode 100644 index 0000000..66368bb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogEventParamPairParamValue.cs @@ -0,0 +1,352 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Parameter value + /// + public struct LogEventParamPairParamValue + { + private IntPtr? m_ClientHandle; + private Utf8String m_String; + private uint? m_UInt32; + private int? m_Int32; + private ulong? m_UInt64; + private long? m_Int64; + private Vec3f? m_Vec3f; + private Quat? m_Quat; + private float? m_Float; + private AntiCheatCommonEventParamType m_ParamValueType; + + /// + /// Client handle. + /// + public IntPtr? ClientHandle + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.ClientHandle) + { + return m_ClientHandle; + } + + return default; + } + set + { + m_ClientHandle = value; + m_ParamValueType = AntiCheatCommonEventParamType.ClientHandle; + } + } + + /// + /// The value as a . + /// Will be truncated if longer than bytes. + /// + public Utf8String String + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.String) + { + return m_String; + } + + return default; + } + set + { + m_String = value; + m_ParamValueType = AntiCheatCommonEventParamType.String; + } + } + + /// + /// The value as a . + /// + public uint? UInt32 + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.UInt32) + { + return m_UInt32; + } + + return default; + } + set + { + m_UInt32 = value; + m_ParamValueType = AntiCheatCommonEventParamType.UInt32; + } + } + + /// + /// The value as an . + /// + public int? Int32 + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.Int32) + { + return m_Int32; + } + + return default; + } + set + { + m_Int32 = value; + m_ParamValueType = AntiCheatCommonEventParamType.Int32; + } + } + + /// + /// The value as a . + /// + public ulong? UInt64 + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.UInt64) + { + return m_UInt64; + } + + return default; + } + set + { + m_UInt64 = value; + m_ParamValueType = AntiCheatCommonEventParamType.UInt64; + } + } + + /// + /// The value as an . + /// + public long? Int64 + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.Int64) + { + return m_Int64; + } + + return default; + } + set + { + m_Int64 = value; + m_ParamValueType = AntiCheatCommonEventParamType.Int64; + } + } + + /// + /// The value as an . + /// + public Vec3f? Vec3f + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.Vector3f) + { + return m_Vec3f; + } + + return default; + } + set + { + m_Vec3f = value; + m_ParamValueType = AntiCheatCommonEventParamType.Vector3f; + } + } + + /// + /// The value as an . + /// + public Quat? Quat + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.Quat) + { + return m_Quat; + } + + return default; + } + set + { + m_Quat = value; + m_ParamValueType = AntiCheatCommonEventParamType.Quat; + } + } + + /// + /// The value as a . + /// + public float? Float + { + get + { + if (m_ParamValueType == AntiCheatCommonEventParamType.Float) + { + return m_Float; + } + + return default; + } + set + { + m_Float = value; + m_ParamValueType = AntiCheatCommonEventParamType.Float; + } + } + public AntiCheatCommonEventParamType ParamValueType + { + get + { + return m_ParamValueType; + } + } + + public static implicit operator LogEventParamPairParamValue(IntPtr? value) + { + return new LogEventParamPairParamValue() { ClientHandle = value }; + } + + public static implicit operator LogEventParamPairParamValue(Utf8String value) + { + return new LogEventParamPairParamValue() { String = value }; + } + + public static implicit operator LogEventParamPairParamValue(string value) + { + return new LogEventParamPairParamValue() { String = value }; + } + + public static implicit operator LogEventParamPairParamValue(uint? value) + { + return new LogEventParamPairParamValue() { UInt32 = value }; + } + + public static implicit operator LogEventParamPairParamValue(int? value) + { + return new LogEventParamPairParamValue() { Int32 = value }; + } + + public static implicit operator LogEventParamPairParamValue(ulong? value) + { + return new LogEventParamPairParamValue() { UInt64 = value }; + } + + public static implicit operator LogEventParamPairParamValue(long? value) + { + return new LogEventParamPairParamValue() { Int64 = value }; + } + + public static implicit operator LogEventParamPairParamValue(Vec3f? value) + { + return new LogEventParamPairParamValue() { Vec3f = value }; + } + + public static implicit operator LogEventParamPairParamValue(Quat? value) + { + return new LogEventParamPairParamValue() { Quat = value }; + } + + public static implicit operator LogEventParamPairParamValue(float? value) + { + return new LogEventParamPairParamValue() { Float = value }; + } + } + + [StructLayout(LayoutKind.Explicit)] + internal struct LogEventParamPairParamValueInternal : ISettable + { + [FieldOffset(0)] + private IntPtr m_ClientHandle; + [FieldOffset(0)] + private IntPtr m_String; + [FieldOffset(0)] + private uint m_UInt32; + [FieldOffset(0)] + private int m_Int32; + [FieldOffset(0)] + private ulong m_UInt64; + [FieldOffset(0)] + private long m_Int64; + [FieldOffset(0)] + private Vec3fInternal m_Vec3f; + [FieldOffset(0)] + private QuatInternal m_Quat; + [FieldOffset(0)] + private float m_Float; + + public void Set(ref LogEventParamPairParamValue other) + { + Dispose(); + + if (other.ParamValueType == AntiCheatCommonEventParamType.ClientHandle) + { + Helper.Set(other.ClientHandle, ref m_ClientHandle); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.String) + { + Helper.Set(other.String, ref m_String); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.UInt32) + { + Helper.Set(other.UInt32, ref m_UInt32); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.Int32) + { + Helper.Set(other.Int32, ref m_Int32); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.UInt64) + { + Helper.Set(other.UInt64, ref m_UInt64); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.Int64) + { + Helper.Set(other.Int64, ref m_Int64); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.Vector3f) + { + Helper.Set(other.Vec3f, ref m_Vec3f); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.Quat) + { + Helper.Set(other.Quat, ref m_Quat); + } + + if (other.ParamValueType == AntiCheatCommonEventParamType.Float) + { + Helper.Set(other.Float, ref m_Float); + } + } + + public void Dispose() + { + Helper.Dispose(ref m_String); + Helper.Dispose(ref m_Vec3f); + Helper.Dispose(ref m_Quat); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogGameRoundEndOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogGameRoundEndOptions.cs new file mode 100644 index 0000000..ed62c4f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogGameRoundEndOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogGameRoundEndOptions + { + /// + /// Optional identifier for the winning team + /// + public uint WinningTeamId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogGameRoundEndOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_WinningTeamId; + + public void Set(ref LogGameRoundEndOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGGAMEROUNDEND_API_LATEST; + m_WinningTeamId = other.WinningTeamId; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogGameRoundStartOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogGameRoundStartOptions.cs new file mode 100644 index 0000000..723660d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogGameRoundStartOptions.cs @@ -0,0 +1,69 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogGameRoundStartOptions + { + /// + /// Optional game session or match identifier useful for some backend API integrations + /// + public Utf8String SessionIdentifier { get; set; } + + /// + /// Optional name of the map being played + /// + public Utf8String LevelName { get; set; } + + /// + /// Optional name of the game mode being played + /// + public Utf8String ModeName { get; set; } + + /// + /// Optional length of the game round to be played, in seconds. If none, use 0. + /// + public uint RoundTimeSeconds { get; set; } + + /// + /// Type of competition for this game round + /// + public AntiCheatCommonGameRoundCompetitionType CompetitionType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogGameRoundStartOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_SessionIdentifier; + private IntPtr m_LevelName; + private IntPtr m_ModeName; + private uint m_RoundTimeSeconds; + private AntiCheatCommonGameRoundCompetitionType m_CompetitionType; + + public void Set(ref LogGameRoundStartOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGGAMEROUNDSTART_API_LATEST; + Helper.Set(other.SessionIdentifier, ref m_SessionIdentifier); + Helper.Set(other.LevelName, ref m_LevelName); + Helper.Set(other.ModeName, ref m_ModeName); + m_RoundTimeSeconds = other.RoundTimeSeconds; + m_CompetitionType = other.CompetitionType; + } + + public void Dispose() + { + Helper.Dispose(ref m_SessionIdentifier); + Helper.Dispose(ref m_LevelName); + Helper.Dispose(ref m_ModeName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerDespawnOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerDespawnOptions.cs new file mode 100644 index 0000000..77ea20b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerDespawnOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerDespawnOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr DespawnedPlayerHandle { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerDespawnOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_DespawnedPlayerHandle; + + public void Set(ref LogPlayerDespawnOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERDESPAWN_API_LATEST; + m_DespawnedPlayerHandle = other.DespawnedPlayerHandle; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerReviveOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerReviveOptions.cs new file mode 100644 index 0000000..37de500 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerReviveOptions.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerReviveOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr RevivedPlayerHandle { get; set; } + + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr ReviverPlayerHandle { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerReviveOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_RevivedPlayerHandle; + private IntPtr m_ReviverPlayerHandle; + + public void Set(ref LogPlayerReviveOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERREVIVE_API_LATEST; + m_RevivedPlayerHandle = other.RevivedPlayerHandle; + m_ReviverPlayerHandle = other.ReviverPlayerHandle; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerSpawnOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerSpawnOptions.cs new file mode 100644 index 0000000..0183060 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerSpawnOptions.cs @@ -0,0 +1,52 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerSpawnOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr SpawnedPlayerHandle { get; set; } + + /// + /// Optional identifier for the player's team. If none, use 0. + /// + public uint TeamId { get; set; } + + /// + /// Optional identifier for the player's character. If none, use 0. + /// + public uint CharacterId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerSpawnOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_SpawnedPlayerHandle; + private uint m_TeamId; + private uint m_CharacterId; + + public void Set(ref LogPlayerSpawnOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERSPAWN_API_LATEST; + m_SpawnedPlayerHandle = other.SpawnedPlayerHandle; + m_TeamId = other.TeamId; + m_CharacterId = other.CharacterId; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerTakeDamageOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerTakeDamageOptions.cs new file mode 100644 index 0000000..97be5c6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerTakeDamageOptions.cs @@ -0,0 +1,179 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerTakeDamageOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr VictimPlayerHandle { get; set; } + + /// + /// Victim player character's world position as a 3D vector. This should be the center of the character. + /// + public Vec3f? VictimPlayerPosition { get; set; } + + /// + /// Victim player camera's world rotation as a quaternion. + /// + public Quat? VictimPlayerViewRotation { get; set; } + + /// + /// Locally unique value used in RegisterClient/RegisterPeer if applicable, otherwise 0. + /// + public IntPtr AttackerPlayerHandle { get; set; } + + /// + /// Attacker player character's world position as a 3D vector if applicable, otherwise . + /// + public Vec3f? AttackerPlayerPosition { get; set; } + + /// + /// Attacker player camera's world rotation as a quaternion if applicable, otherwise . + /// + public Quat? AttackerPlayerViewRotation { get; set; } + + /// + /// True if the damage was applied instantly at the time of attack from the game + /// simulation's perspective, otherwise (simulated ballistics, arrow, etc). + /// + public bool IsHitscanAttack { get; set; } + + /// + /// True if there is a visible line of sight between the attacker and the victim at the time + /// that damage is being applied, if there is an obstacle like a wall or terrain in + /// the way. For some situations like melee or hitscan weapons this is trivially + /// , for others like projectiles with simulated physics it may not be e.g. a player + /// could fire a slow moving projectile and then move behind cover before it strikes. + /// + /// This can be an estimate, or can simply be always set to if it is not feasible + /// to compute in your game. + /// + public bool HasLineOfSight { get; set; } + + /// + /// True if this was a critical hit that causes extra damage (e.g. headshot) + /// + public bool IsCriticalHit { get; set; } + + /// + /// Deprecated - use DamagePosition instead + /// + public uint HitBoneId_DEPRECATED { get; set; } + + /// + /// Number of health points that the victim lost due to this damage event + /// + public float DamageTaken { get; set; } + + /// + /// Number of health points that the victim has remaining after this damage event + /// + public float HealthRemaining { get; set; } + + /// + /// Source of the damage event + /// + public AntiCheatCommonPlayerTakeDamageSource DamageSource { get; set; } + + /// + /// Type of the damage being applied + /// + public AntiCheatCommonPlayerTakeDamageType DamageType { get; set; } + + /// + /// Result of the damage for the victim, if any + /// + public AntiCheatCommonPlayerTakeDamageResult DamageResult { get; set; } + + /// + /// PlayerUseWeaponData associated with this damage event if available, otherwise + /// + public LogPlayerUseWeaponData? PlayerUseWeaponData { get; set; } + + /// + /// Time in milliseconds since the associated PlayerUseWeaponData event occurred if available, otherwise 0 + /// + public uint TimeSincePlayerUseWeaponMs { get; set; } + + /// + /// World position where damage hit the victim as a 3D vector if available, otherwise + /// + public Vec3f? DamagePosition { get; set; } + + /// + /// Attacker player camera's world position as a 3D vector if applicable, otherwise + /// + public Vec3f? AttackerPlayerViewPosition { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerTakeDamageOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_VictimPlayerHandle; + private IntPtr m_VictimPlayerPosition; + private IntPtr m_VictimPlayerViewRotation; + private IntPtr m_AttackerPlayerHandle; + private IntPtr m_AttackerPlayerPosition; + private IntPtr m_AttackerPlayerViewRotation; + private int m_IsHitscanAttack; + private int m_HasLineOfSight; + private int m_IsCriticalHit; + private uint m_HitBoneId_DEPRECATED; + private float m_DamageTaken; + private float m_HealthRemaining; + private AntiCheatCommonPlayerTakeDamageSource m_DamageSource; + private AntiCheatCommonPlayerTakeDamageType m_DamageType; + private AntiCheatCommonPlayerTakeDamageResult m_DamageResult; + private IntPtr m_PlayerUseWeaponData; + private uint m_TimeSincePlayerUseWeaponMs; + private IntPtr m_DamagePosition; + private IntPtr m_AttackerPlayerViewPosition; + + public void Set(ref LogPlayerTakeDamageOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERTAKEDAMAGE_API_LATEST; + m_VictimPlayerHandle = other.VictimPlayerHandle; + Helper.Set(other.VictimPlayerPosition, ref m_VictimPlayerPosition); + Helper.Set(other.VictimPlayerViewRotation, ref m_VictimPlayerViewRotation); + m_AttackerPlayerHandle = other.AttackerPlayerHandle; + Helper.Set(other.AttackerPlayerPosition, ref m_AttackerPlayerPosition); + Helper.Set(other.AttackerPlayerViewRotation, ref m_AttackerPlayerViewRotation); + Helper.Set(other.IsHitscanAttack, ref m_IsHitscanAttack); + Helper.Set(other.HasLineOfSight, ref m_HasLineOfSight); + Helper.Set(other.IsCriticalHit, ref m_IsCriticalHit); + m_HitBoneId_DEPRECATED = other.HitBoneId_DEPRECATED; + m_DamageTaken = other.DamageTaken; + m_HealthRemaining = other.HealthRemaining; + m_DamageSource = other.DamageSource; + m_DamageType = other.DamageType; + m_DamageResult = other.DamageResult; + Helper.Set(other.PlayerUseWeaponData, ref m_PlayerUseWeaponData); + m_TimeSincePlayerUseWeaponMs = other.TimeSincePlayerUseWeaponMs; + Helper.Set(other.DamagePosition, ref m_DamagePosition); + Helper.Set(other.AttackerPlayerViewPosition, ref m_AttackerPlayerViewPosition); + } + + public void Dispose() + { + Helper.Dispose(ref m_VictimPlayerPosition); + Helper.Dispose(ref m_VictimPlayerViewRotation); + Helper.Dispose(ref m_AttackerPlayerPosition); + Helper.Dispose(ref m_AttackerPlayerViewRotation); + Helper.Dispose(ref m_PlayerUseWeaponData); + Helper.Dispose(ref m_DamagePosition); + Helper.Dispose(ref m_AttackerPlayerViewPosition); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerTickOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerTickOptions.cs new file mode 100644 index 0000000..e185fdf --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerTickOptions.cs @@ -0,0 +1,83 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerTickOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr PlayerHandle { get; set; } + + /// + /// Player character's current world position as a 3D vector. This should be the center of the character. + /// + public Vec3f? PlayerPosition { get; set; } + + /// + /// Player camera's current world rotation as a quaternion. + /// + public Quat? PlayerViewRotation { get; set; } + + /// + /// True if the player's view is zoomed (e.g. using a sniper rifle), otherwise + /// + public bool IsPlayerViewZoomed { get; set; } + + /// + /// Player's current health value + /// + public float PlayerHealth { get; set; } + + /// + /// Any movement state applicable + /// + public AntiCheatCommonPlayerMovementState PlayerMovementState { get; set; } + + /// + /// Player camera's current world position as a 3D vector. + /// + public Vec3f? PlayerViewPosition { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerTickOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PlayerHandle; + private IntPtr m_PlayerPosition; + private IntPtr m_PlayerViewRotation; + private int m_IsPlayerViewZoomed; + private float m_PlayerHealth; + private AntiCheatCommonPlayerMovementState m_PlayerMovementState; + private IntPtr m_PlayerViewPosition; + + public void Set(ref LogPlayerTickOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERTICK_API_LATEST; + m_PlayerHandle = other.PlayerHandle; + Helper.Set(other.PlayerPosition, ref m_PlayerPosition); + Helper.Set(other.PlayerViewRotation, ref m_PlayerViewRotation); + Helper.Set(other.IsPlayerViewZoomed, ref m_IsPlayerViewZoomed); + m_PlayerHealth = other.PlayerHealth; + m_PlayerMovementState = other.PlayerMovementState; + Helper.Set(other.PlayerViewPosition, ref m_PlayerViewPosition); + } + + public void Dispose() + { + Helper.Dispose(ref m_PlayerPosition); + Helper.Dispose(ref m_PlayerViewRotation); + Helper.Dispose(ref m_PlayerViewPosition); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseAbilityOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseAbilityOptions.cs new file mode 100644 index 0000000..786bf67 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseAbilityOptions.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerUseAbilityOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr PlayerHandle { get; set; } + + /// + /// Game defined unique identifier for the ability being used + /// + public uint AbilityId { get; set; } + + /// + /// Duration of the ability effect in milliseconds. If not applicable, use 0. + /// + public uint AbilityDurationMs { get; set; } + + /// + /// Cooldown until the ability can be used again in milliseconds. If not applicable, use 0. + /// + public uint AbilityCooldownMs { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerUseAbilityOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PlayerHandle; + private uint m_AbilityId; + private uint m_AbilityDurationMs; + private uint m_AbilityCooldownMs; + + public void Set(ref LogPlayerUseAbilityOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERUSEABILITY_API_LATEST; + m_PlayerHandle = other.PlayerHandle; + m_AbilityId = other.AbilityId; + m_AbilityDurationMs = other.AbilityDurationMs; + m_AbilityCooldownMs = other.AbilityCooldownMs; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseWeaponData.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseWeaponData.cs new file mode 100644 index 0000000..2bc2820 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseWeaponData.cs @@ -0,0 +1,74 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Log Player Use Weapon Data. + /// + public struct LogPlayerUseWeaponData + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr PlayerHandle { get; set; } + + /// + /// Attack origin world position as a 3D vector + /// + public Vec3f? PlayerPosition { get; set; } + + /// + /// Attack direction as a quaternion + /// + public Quat? PlayerViewRotation { get; set; } + + /// + /// True if the player's view is zoomed (e.g. using a sniper rifle), otherwise + /// + public bool IsPlayerViewZoomed { get; set; } + + /// + /// Set to if the player is using a melee attack, otherwise + /// + public bool IsMeleeAttack { get; set; } + + /// + /// Name of the weapon used. Will be truncated to bytes if longer. + /// + public Utf8String WeaponName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerUseWeaponDataInternal : ISettable + { + private IntPtr m_PlayerHandle; + private IntPtr m_PlayerPosition; + private IntPtr m_PlayerViewRotation; + private int m_IsPlayerViewZoomed; + private int m_IsMeleeAttack; + private IntPtr m_WeaponName; + + public void Set(ref LogPlayerUseWeaponData other) + { + Dispose(); + + m_PlayerHandle = other.PlayerHandle; + Helper.Set(other.PlayerPosition, ref m_PlayerPosition); + Helper.Set(other.PlayerViewRotation, ref m_PlayerViewRotation); + Helper.Set(other.IsPlayerViewZoomed, ref m_IsPlayerViewZoomed); + Helper.Set(other.IsMeleeAttack, ref m_IsMeleeAttack); + Helper.Set(other.WeaponName, ref m_WeaponName); + } + + public void Dispose() + { + Helper.Dispose(ref m_PlayerPosition); + Helper.Dispose(ref m_PlayerViewRotation); + Helper.Dispose(ref m_WeaponName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseWeaponOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseWeaponOptions.cs new file mode 100644 index 0000000..3ffeba6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/LogPlayerUseWeaponOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct LogPlayerUseWeaponOptions + { + /// + /// Struct containing detailed information about a weapon use event + /// + public LogPlayerUseWeaponData? UseWeaponData { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogPlayerUseWeaponOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UseWeaponData; + + public void Set(ref LogPlayerUseWeaponOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.LOGPLAYERUSEWEAPON_API_LATEST; + Helper.Set(other.UseWeaponData, ref m_UseWeaponData); + } + + public void Dispose() + { + Helper.Dispose(ref m_UseWeaponData); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnClientActionRequiredCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnClientActionRequiredCallbackInfo.cs new file mode 100644 index 0000000..ae5b097 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnClientActionRequiredCallbackInfo.cs @@ -0,0 +1,82 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Structure containing details about a required client/peer action + /// + public struct OnClientActionRequiredCallbackInfo : ICallbackInfo + { + /// + /// Caller-specified context data + /// + public object ClientData { get; set; } + + /// + /// The identifier of the client/peer that this action applies to. See the RegisterClient and RegisterPeer functions. + /// + public IntPtr ClientHandle { get; set; } + + /// + /// The action that must be applied to the specified client/peer + /// + public AntiCheatCommonClientAction ClientAction { get; set; } + + /// + /// Code indicating the reason for the action. This can be displayed to the affected player. + /// + public AntiCheatCommonClientActionReason ActionReasonCode { get; set; } + + /// + /// containing details about the action reason. This can be displayed to the affected player. + /// + public Utf8String ActionReasonDetailsString { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnClientActionRequiredCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_ClientHandle; + private AntiCheatCommonClientAction m_ClientAction; + private AntiCheatCommonClientActionReason m_ActionReasonCode; + private IntPtr m_ActionReasonDetailsString; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnClientActionRequiredCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.ClientHandle = m_ClientHandle; + other.ClientAction = m_ClientAction; + other.ActionReasonCode = m_ActionReasonCode; + Utf8String ActionReasonDetailsStringPublic; + Helper.Get(m_ActionReasonDetailsString, out ActionReasonDetailsStringPublic); + other.ActionReasonDetailsString = ActionReasonDetailsStringPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnClientAuthStatusChangedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnClientAuthStatusChangedCallbackInfo.cs new file mode 100644 index 0000000..d9f8600 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnClientAuthStatusChangedCallbackInfo.cs @@ -0,0 +1,66 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Structure containing details about a client/peer authentication status change + /// + public struct OnClientAuthStatusChangedCallbackInfo : ICallbackInfo + { + /// + /// Caller-specified context data + /// + public object ClientData { get; set; } + + /// + /// The identifier of the client/peer that this status change applies to. See the RegisterClient and RegisterPeer functions. + /// + public IntPtr ClientHandle { get; set; } + + /// + /// The client/peer's new authentication status + /// + public AntiCheatCommonClientAuthStatus ClientAuthStatus { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnClientAuthStatusChangedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_ClientHandle; + private AntiCheatCommonClientAuthStatus m_ClientAuthStatus; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnClientAuthStatusChangedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.ClientHandle = m_ClientHandle; + other.ClientAuthStatus = m_ClientAuthStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnMessageToClientCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnMessageToClientCallbackInfo.cs new file mode 100644 index 0000000..1401e13 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/OnMessageToClientCallbackInfo.cs @@ -0,0 +1,69 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Structure containing details about a new message that must be dispatched to a connected client/peer. + /// + public struct OnMessageToClientCallbackInfo : ICallbackInfo + { + /// + /// Caller-specified context data + /// + public object ClientData { get; set; } + + /// + /// The identifier of the client/peer that this message must be delivered to. See the RegisterClient and RegisterPeer functions. + /// + public IntPtr ClientHandle { get; set; } + + /// + /// The message data that must be sent to the client + /// + public ArraySegment MessageData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnMessageToClientCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_ClientHandle; + private IntPtr m_MessageData; + private uint m_MessageDataSizeBytes; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnMessageToClientCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.ClientHandle = m_ClientHandle; + ArraySegment MessageDataPublic; + Helper.Get(m_MessageData, out MessageDataPublic, m_MessageDataSizeBytes); + other.MessageData = MessageDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/Quat.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/Quat.cs new file mode 100644 index 0000000..4ba26e1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/Quat.cs @@ -0,0 +1,57 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Quaternion using left-handed coordinate system (as in Unreal Engine) + /// + public struct Quat + { + /// + /// W component - scalar part + /// + public float w { get; set; } + + /// + /// X component - forward direction + /// + public float x { get; set; } + + /// + /// Y component - right direction + /// + public float y { get; set; } + + /// + /// Z component - up direction + /// + public float z { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QuatInternal : ISettable + { + private float m_w; + private float m_x; + private float m_y; + private float m_z; + + public void Set(ref Quat other) + { + Dispose(); + + m_w = other.w; + m_x = other.x; + m_y = other.y; + m_z = other.z; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/RegisterEventOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/RegisterEventOptions.cs new file mode 100644 index 0000000..de4a729 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/RegisterEventOptions.cs @@ -0,0 +1,62 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct RegisterEventOptions + { + /// + /// Unique event identifier. Must be >= . + /// + public uint EventId { get; set; } + + /// + /// Name of the custom event. Allowed characters are 0-9, A-Z, a-z, '_', '-' + /// + public Utf8String EventName { get; set; } + + /// + /// Type of the custom event + /// + public AntiCheatCommonEventType EventType { get; set; } + + /// + /// to an array of with ParamDefsCount elements + /// + public RegisterEventParamDef[] ParamDefs { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RegisterEventOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_EventId; + private IntPtr m_EventName; + private AntiCheatCommonEventType m_EventType; + private uint m_ParamDefsCount; + private IntPtr m_ParamDefs; + + public void Set(ref RegisterEventOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.REGISTEREVENT_API_LATEST; + m_EventId = other.EventId; + Helper.Set(other.EventName, ref m_EventName); + m_EventType = other.EventType; + Helper.Set(other.ParamDefs, ref m_ParamDefs, out m_ParamDefsCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_EventName); + Helper.Dispose(ref m_ParamDefs); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/RegisterEventParamDef.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/RegisterEventParamDef.cs new file mode 100644 index 0000000..bae056c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/RegisterEventParamDef.cs @@ -0,0 +1,44 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Register Event Parameter Definition. + /// + public struct RegisterEventParamDef + { + /// + /// Parameter name. Allowed characters are 0-9, A-Z, a-z, '_', '-' + /// + public Utf8String ParamName { get; set; } + + /// + /// Parameter type + /// + public AntiCheatCommonEventParamType ParamType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RegisterEventParamDefInternal : ISettable + { + private IntPtr m_ParamName; + private AntiCheatCommonEventParamType m_ParamType; + + public void Set(ref RegisterEventParamDef other) + { + Dispose(); + + Helper.Set(other.ParamName, ref m_ParamName); + m_ParamType = other.ParamType; + } + + public void Dispose() + { + Helper.Dispose(ref m_ParamName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/SetClientDetailsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/SetClientDetailsOptions.cs new file mode 100644 index 0000000..104f6af --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/SetClientDetailsOptions.cs @@ -0,0 +1,52 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct SetClientDetailsOptions + { + /// + /// Locally unique value used in RegisterClient/RegisterPeer + /// + public IntPtr ClientHandle { get; set; } + + /// + /// General flags associated with this client, if any + /// + public AntiCheatCommonClientFlags ClientFlags { get; set; } + + /// + /// Input device being used by this client, if known + /// + public AntiCheatCommonClientInput ClientInputMethod { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetClientDetailsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private AntiCheatCommonClientFlags m_ClientFlags; + private AntiCheatCommonClientInput m_ClientInputMethod; + + public void Set(ref SetClientDetailsOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.SETCLIENTDETAILS_API_LATEST; + m_ClientHandle = other.ClientHandle; + m_ClientFlags = other.ClientFlags; + m_ClientInputMethod = other.ClientInputMethod; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/SetGameSessionIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/SetGameSessionIdOptions.cs new file mode 100644 index 0000000..6474b8c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/SetGameSessionIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Input parameters for the function. + /// + public struct SetGameSessionIdOptions + { + /// + /// Game session identifier + /// + public Utf8String GameSessionId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetGameSessionIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_GameSessionId; + + public void Set(ref SetGameSessionIdOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatCommonInterface.SETGAMESESSIONID_API_LATEST; + Helper.Set(other.GameSessionId, ref m_GameSessionId); + } + + public void Dispose() + { + Helper.Dispose(ref m_GameSessionId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/Vec3f.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/Vec3f.cs new file mode 100644 index 0000000..2a070c6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatCommon/Vec3f.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatCommon +{ + /// + /// Vector using left-handed coordinate system (as in Unreal Engine) + /// + public struct Vec3f + { + /// + /// X axis coordinate - forward direction + /// + public float x { get; set; } + + /// + /// Y axis coordinate - right direction + /// + public float y { get; set; } + + /// + /// Z axis coordinate - up direction + /// + public float z { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct Vec3fInternal : ISettable + { + private float m_x; + private float m_y; + private float m_z; + + public void Set(ref Vec3f other) + { + Dispose(); + + m_x = other.x; + m_y = other.y; + m_z = other.z; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyClientActionRequiredOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyClientActionRequiredOptions.cs new file mode 100644 index 0000000..8ca5477 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyClientActionRequiredOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyClientActionRequiredOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyClientActionRequiredOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyClientActionRequiredOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.ADDNOTIFYCLIENTACTIONREQUIRED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyClientAuthStatusChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyClientAuthStatusChangedOptions.cs new file mode 100644 index 0000000..88ac029 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyClientAuthStatusChangedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyClientAuthStatusChangedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyClientAuthStatusChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyClientAuthStatusChangedOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.ADDNOTIFYCLIENTAUTHSTATUSCHANGED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyMessageToClientOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyMessageToClientOptions.cs new file mode 100644 index 0000000..3511a07 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AddNotifyMessageToClientOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyMessageToClientOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyMessageToClientOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyMessageToClientOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.ADDNOTIFYMESSAGETOCLIENT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AntiCheatServerInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AntiCheatServerInterface.cs new file mode 100644 index 0000000..ff34289 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/AntiCheatServerInterface.cs @@ -0,0 +1,876 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.AntiCheatServer +{ + public sealed partial class AntiCheatServerInterface : Handle + { + public AntiCheatServerInterface() + { + } + + public AntiCheatServerInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYCLIENTACTIONREQUIRED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYCLIENTAUTHSTATUSCHANGED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYMESSAGETOCLIENT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int BEGINSESSION_API_LATEST = 3; + /// + /// The maximum value for the RegisterTimeoutSeconds parameter in the struct. + /// + public const int BEGINSESSION_MAX_REGISTERTIMEOUT = 120; + /// + /// The minimum value for the RegisterTimeoutSeconds parameter in the struct. + /// + public const int BEGINSESSION_MIN_REGISTERTIMEOUT = 10; + /// + /// The most recent version of the API. + /// + public const int ENDSESSION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST = 1; + /// + /// Maximum size of an individual message provided through . + /// + public const int ONMESSAGETOCLIENTCALLBACK_MAX_MESSAGE_SIZE = 512; + /// + /// The most recent version of the API. + /// + public const int PROTECTMESSAGE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int RECEIVEMESSAGEFROMCLIENT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int REGISTERCLIENT_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int SETCLIENTNETWORKSTATE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UNPROTECTMESSAGE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UNREGISTERCLIENT_API_LATEST = 1; + + /// + /// Add a callback issued when an action must be applied to a connected client. The bound function + /// will only be called between a successful call to and the matching call. + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyClientActionRequired(ref AddNotifyClientActionRequiredOptions options, object clientData, OnClientActionRequiredCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyClientActionRequiredOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatServer_AddNotifyClientActionRequired(InnerHandle, ref optionsInternal, clientDataPointer, OnClientActionRequiredCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Add an optional callback issued when a connected client's authentication status changes. The bound function + /// will only be called between a successful call to and the matching call. + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyClientAuthStatusChanged(ref AddNotifyClientAuthStatusChangedOptions options, object clientData, OnClientAuthStatusChangedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyClientAuthStatusChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnClientAuthStatusChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Add a callback issued when a new message must be dispatched to a connected client. The bound function + /// will only be called between a successful call to and the matching call. + /// + /// + /// Structure containing input data + /// + /// + /// This value is returned to the caller when NotificationFn is invoked + /// + /// + /// The callback to be fired + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyMessageToClient(ref AddNotifyMessageToClientOptions options, object clientData, OnMessageToClientCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyMessageToClientOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_AntiCheatServer_AddNotifyMessageToClient(InnerHandle, ref optionsInternal, clientDataPointer, OnMessageToClientCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Begin the gameplay session. Event callbacks must be configured with + /// and before calling this function. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the initialization succeeded + /// - - If input data was invalid + /// + public Result BeginSession(ref BeginSessionOptions options) + { + var optionsInternal = default(BeginSessionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_BeginSession(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// End the gameplay session. Should be called when the server is shutting down or entering an idle state. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the initialization succeeded + /// - - If input data was invalid + /// + public Result EndSession(ref EndSessionOptions options) + { + var optionsInternal = default(EndSessionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_EndSession(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional NetProtect feature for game message encryption. + /// Calculates the required decrypted buffer size for a given input data length. + /// This will not change for a given SDK version, and allows one time allocation of reusable buffers. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, the OutBuffer length in bytes that is required to call ProtectMessage on the given input size. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the output length was calculated successfully + /// - - If input data was invalid + /// + public Result GetProtectMessageOutputLength(ref GetProtectMessageOutputLengthOptions options, out uint outBufferSizeBytes) + { + var optionsInternal = default(GetProtectMessageOutputLengthOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_GetProtectMessageOutputLength(InnerHandle, ref optionsInternal, out outBufferSizeBytes); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a custom gameplay event. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogEvent(ref AntiCheatCommon.LogEventOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogEventOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogEvent(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a game round's end and outcome. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogGameRoundEnd(ref AntiCheatCommon.LogGameRoundEndOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogGameRoundEndOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogGameRoundEnd(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a new game round start. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogGameRoundStart(ref AntiCheatCommon.LogGameRoundStartOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogGameRoundStartOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogGameRoundStart(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a player despawning in the game, for example as a result of the character's death, + /// switching to spectator mode, etc. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerDespawn(ref AntiCheatCommon.LogPlayerDespawnOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerDespawnOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerDespawn(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a player being revived after being downed (see options). + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerRevive(ref AntiCheatCommon.LogPlayerReviveOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerReviveOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerRevive(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a player spawning into the game. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerSpawn(ref AntiCheatCommon.LogPlayerSpawnOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerSpawnOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerSpawn(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs that a player has taken damage. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerTakeDamage(ref AntiCheatCommon.LogPlayerTakeDamageOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerTakeDamageOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerTakeDamage(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs a player's general state including position and view direction. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerTick(ref AntiCheatCommon.LogPlayerTickOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerTickOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerTick(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs that a player has used a special ability or item which affects their character's capabilities, + /// for example temporarily increasing their speed or allowing them to see nearby players behind walls. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerUseAbility(ref AntiCheatCommon.LogPlayerUseAbilityOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerUseAbilityOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerUseAbility(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Logs that a player has used a weapon, for example firing one bullet or making one melee attack. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was logged successfully + /// - - If input data was invalid + /// - - If called outside of BeginSession/EndSession boundaries + /// + public Result LogPlayerUseWeapon(ref AntiCheatCommon.LogPlayerUseWeaponOptions options) + { + var optionsInternal = default(AntiCheatCommon.LogPlayerUseWeaponOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_LogPlayerUseWeapon(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional NetProtect feature for game message encryption. + /// Encrypts an arbitrary message that will be sent to a game client and decrypted on the other side. + /// + /// Options.Data and OutBuffer may refer to the same buffer to encrypt in place. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, buffer where encrypted message data will be written. + /// + /// + /// On success, the number of bytes that were written to OutBuffer. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was protected successfully + /// - - If input data was invalid + /// - - If the specified ClientHandle was invalid or not currently registered. See RegisterClient. + /// + public Result ProtectMessage(ref ProtectMessageOptions options, ArraySegment outBuffer, out uint outBytesWritten) + { + var optionsInternal = default(ProtectMessageOptionsInternal); + optionsInternal.Set(ref options); + + var outBufferPointer = Helper.AddPinnedBuffer(outBuffer); + + var callResult = Bindings.EOS_AntiCheatServer_ProtectMessage(InnerHandle, ref optionsInternal, outBufferPointer, out outBytesWritten); + + Helper.Dispose(ref optionsInternal); + + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Call when an anti-cheat message is received from a client. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was processed successfully + /// - - If input data was invalid + /// - - If message contents were corrupt and could not be processed + /// + public Result ReceiveMessageFromClient(ref ReceiveMessageFromClientOptions options) + { + var optionsInternal = default(ReceiveMessageFromClientOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_ReceiveMessageFromClient(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Register a connected client. Must be paired with a call to UnregisterClient. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the player was registered successfully + /// - - If input data was invalid + /// + public Result RegisterClient(ref RegisterClientOptions options) + { + var optionsInternal = default(RegisterClientOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_RegisterClient(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional Cerberus feature for gameplay data collection. + /// Registers a custom gameplay event. + /// + /// All custom game events must be registered before is called for the first time. + /// After the first call to , this function cannot be called any longer. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the event was registered successfully + /// - - If input data was invalid + /// + public Result RegisterEvent(ref AntiCheatCommon.RegisterEventOptions options) + { + var optionsInternal = default(AntiCheatCommon.RegisterEventOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_RegisterEvent(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Remove a previously bound handler. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyClientActionRequired(ulong notificationId) + { + Bindings.EOS_AntiCheatServer_RemoveNotifyClientActionRequired(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Remove a previously bound handler. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyClientAuthStatusChanged(ulong notificationId) + { + Bindings.EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Remove a previously bound handler. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyMessageToClient(ulong notificationId) + { + Bindings.EOS_AntiCheatServer_RemoveNotifyMessageToClient(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Optional. Sets or updates client details including input device and admin status. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the flags were updated successfully + /// - - If input data was invalid + /// + public Result SetClientDetails(ref AntiCheatCommon.SetClientDetailsOptions options) + { + var optionsInternal = default(AntiCheatCommon.SetClientDetailsOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_SetClientDetails(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional. Can be used to indicate that a client is legitimately known to be + /// temporarily unable to communicate, for example as a result of loading a new level. + /// + /// The bIsNetworkActive flag must be set back to when users enter normal + /// gameplay, otherwise anti-cheat enforcement will not work correctly. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the network state was updated successfully + /// - - If input data was invalid + /// + public Result SetClientNetworkState(ref SetClientNetworkStateOptions options) + { + var optionsInternal = default(SetClientNetworkStateOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_SetClientNetworkState(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional. Sets or updates a game session identifier which can be attached to other data for reference. + /// The identifier can be updated at any time for currently and subsequently registered clients. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the game session identifier was set successfully + /// - - If input data was invalid + /// + public Result SetGameSessionId(ref AntiCheatCommon.SetGameSessionIdOptions options) + { + var optionsInternal = default(AntiCheatCommon.SetGameSessionIdOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_SetGameSessionId(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Optional NetProtect feature for game message encryption. + /// Decrypts an encrypted message received from a game client. + /// + /// Options.Data and OutBuffer may refer to the same buffer to decrypt in place. + /// + /// + /// Structure containing input data. + /// + /// + /// On success, buffer where encrypted message data will be written. + /// + /// + /// On success, the number of bytes that were written to OutBuffer. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the message was unprotected successfully + /// - - If input data was invalid + /// + public Result UnprotectMessage(ref UnprotectMessageOptions options, ArraySegment outBuffer, out uint outBytesWritten) + { + var optionsInternal = default(UnprotectMessageOptionsInternal); + optionsInternal.Set(ref options); + + var outBufferPointer = Helper.AddPinnedBuffer(outBuffer); + + var callResult = Bindings.EOS_AntiCheatServer_UnprotectMessage(InnerHandle, ref optionsInternal, outBufferPointer, out outBytesWritten); + + Helper.Dispose(ref optionsInternal); + + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Unregister a disconnected client. + /// + /// This function may only be called between a successful call to and + /// the matching call. + /// + /// + /// Structure containing input data. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If the player was unregistered successfully + /// - - If input data was invalid + /// + public Result UnregisterClient(ref UnregisterClientOptions options) + { + var optionsInternal = default(UnregisterClientOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_AntiCheatServer_UnregisterClient(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/BeginSessionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/BeginSessionOptions.cs new file mode 100644 index 0000000..af98d47 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/BeginSessionOptions.cs @@ -0,0 +1,65 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct BeginSessionOptions + { + /// + /// Time in seconds to allow newly registered clients to complete anti-cheat authentication. + /// Recommended value: 60 + /// Minimum value: + /// Maximum value: + /// + public uint RegisterTimeoutSeconds { get; set; } + + /// + /// Optional name of this game server + /// + public Utf8String ServerName { get; set; } + + /// + /// Gameplay data collection APIs such as LogPlayerTick will be enabled if set to . + /// If you do not use these APIs you should set this value to to reduce memory use. + /// + public bool EnableGameplayData { get; set; } + + /// + /// The Product User ID of the local user who is associated with this session. Dedicated servers should set this to . + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct BeginSessionOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_RegisterTimeoutSeconds; + private IntPtr m_ServerName; + private int m_EnableGameplayData; + private IntPtr m_LocalUserId; + + public void Set(ref BeginSessionOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.BEGINSESSION_API_LATEST; + m_RegisterTimeoutSeconds = other.RegisterTimeoutSeconds; + Helper.Set(other.ServerName, ref m_ServerName); + Helper.Set(other.EnableGameplayData, ref m_EnableGameplayData); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_ServerName); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/EndSessionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/EndSessionOptions.cs new file mode 100644 index 0000000..d8953a9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/EndSessionOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct EndSessionOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EndSessionOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref EndSessionOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.ENDSESSION_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/GetProtectMessageOutputLengthOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/GetProtectMessageOutputLengthOptions.cs new file mode 100644 index 0000000..96ba0af --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/GetProtectMessageOutputLengthOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct GetProtectMessageOutputLengthOptions + { + /// + /// Length in bytes of input + /// + public uint DataLengthBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetProtectMessageOutputLengthOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_DataLengthBytes; + + public void Set(ref GetProtectMessageOutputLengthOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.GETPROTECTMESSAGEOUTPUTLENGTH_API_LATEST; + m_DataLengthBytes = other.DataLengthBytes; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnClientActionRequiredCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnClientActionRequiredCallback.cs new file mode 100644 index 0000000..8dbedb2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnClientActionRequiredCallback.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + + /// + /// Callback issued when an action must be applied to a connected client. + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnClientActionRequiredCallback(ref AntiCheatCommon.OnClientActionRequiredCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnClientActionRequiredCallbackInternal(ref AntiCheatCommon.OnClientActionRequiredCallbackInfoInternal data); + + internal static class OnClientActionRequiredCallbackInternalImplementation + { + private static OnClientActionRequiredCallbackInternal s_Delegate; + public static OnClientActionRequiredCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnClientActionRequiredCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnClientActionRequiredCallbackInternal))] + public static void EntryPoint(ref AntiCheatCommon.OnClientActionRequiredCallbackInfoInternal data) + { + OnClientActionRequiredCallback callback; + AntiCheatCommon.OnClientActionRequiredCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnClientAuthStatusChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnClientAuthStatusChangedCallback.cs new file mode 100644 index 0000000..68e4904 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnClientAuthStatusChangedCallback.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + + /// + /// Optional callback issued when a connected client's authentication status has changed. + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnClientAuthStatusChangedCallback(ref AntiCheatCommon.OnClientAuthStatusChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnClientAuthStatusChangedCallbackInternal(ref AntiCheatCommon.OnClientAuthStatusChangedCallbackInfoInternal data); + + internal static class OnClientAuthStatusChangedCallbackInternalImplementation + { + private static OnClientAuthStatusChangedCallbackInternal s_Delegate; + public static OnClientAuthStatusChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnClientAuthStatusChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnClientAuthStatusChangedCallbackInternal))] + public static void EntryPoint(ref AntiCheatCommon.OnClientAuthStatusChangedCallbackInfoInternal data) + { + OnClientAuthStatusChangedCallback callback; + AntiCheatCommon.OnClientAuthStatusChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnMessageToClientCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnMessageToClientCallback.cs new file mode 100644 index 0000000..4ca3638 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/OnMessageToClientCallback.cs @@ -0,0 +1,52 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + + /// + /// Callback issued when a new message must be dispatched to a connected client. + /// + /// Messages contain opaque binary data and must be transmitted to the correct client + /// using the game's own networking layer, then delivered to the client anti-cheat instance + /// using the function. + /// The upper limit of the message size is . + /// + /// This callback is always issued from within on its calling thread. + /// + public delegate void OnMessageToClientCallback(ref AntiCheatCommon.OnMessageToClientCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnMessageToClientCallbackInternal(ref AntiCheatCommon.OnMessageToClientCallbackInfoInternal data); + + internal static class OnMessageToClientCallbackInternalImplementation + { + private static OnMessageToClientCallbackInternal s_Delegate; + public static OnMessageToClientCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnMessageToClientCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnMessageToClientCallbackInternal))] + public static void EntryPoint(ref AntiCheatCommon.OnMessageToClientCallbackInfoInternal data) + { + OnMessageToClientCallback callback; + AntiCheatCommon.OnMessageToClientCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/ProtectMessageOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/ProtectMessageOptions.cs new file mode 100644 index 0000000..45b983a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/ProtectMessageOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct ProtectMessageOptions + { + /// + /// Locally unique value describing the remote user to whom the message will be sent + /// + public IntPtr ClientHandle { get; set; } + + /// + /// The data to encrypt + /// + public ArraySegment Data { get; set; } + + /// + /// The size in bytes of OutBuffer + /// + public uint OutBufferSizeBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ProtectMessageOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private uint m_DataLengthBytes; + private IntPtr m_Data; + private uint m_OutBufferSizeBytes; + + public void Set(ref ProtectMessageOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.PROTECTMESSAGE_API_LATEST; + m_ClientHandle = other.ClientHandle; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + m_OutBufferSizeBytes = other.OutBufferSizeBytes; + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/ReceiveMessageFromClientOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/ReceiveMessageFromClientOptions.cs new file mode 100644 index 0000000..8cbeb62 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/ReceiveMessageFromClientOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct ReceiveMessageFromClientOptions + { + /// + /// Locally unique value describing the corresponding remote user, as previously passed to RegisterClient + /// + public IntPtr ClientHandle { get; set; } + + /// + /// The data received + /// + public ArraySegment Data { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ReceiveMessageFromClientOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private uint m_DataLengthBytes; + private IntPtr m_Data; + + public void Set(ref ReceiveMessageFromClientOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.RECEIVEMESSAGEFROMCLIENT_API_LATEST; + m_ClientHandle = other.ClientHandle; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/RegisterClientOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/RegisterClientOptions.cs new file mode 100644 index 0000000..7650ae7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/RegisterClientOptions.cs @@ -0,0 +1,90 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct RegisterClientOptions + { + /// + /// Locally unique value describing the remote user (e.g. a player object ) + /// + public IntPtr ClientHandle { get; set; } + + /// + /// Type of remote user being registered + /// + public AntiCheatCommon.AntiCheatCommonClientType ClientType { get; set; } + + /// + /// Remote user's platform, if known + /// + public AntiCheatCommon.AntiCheatCommonClientPlatform ClientPlatform { get; set; } + + /// + /// DEPRECATED - New code should set this to and specify UserId instead. + /// + /// Identifier for the remote user. This is typically a representation of an + /// account ID, but it can be any which is both unique (two different users will never + /// have the same ) and consistent (if the same user connects to this game session + /// twice, the same will be used) in the scope of a single protected game session. + /// + public Utf8String AccountId_DEPRECATED { get; set; } + + /// + /// Optional IP address for the remote user. May be if not available. + /// IPv4 format: "0.0.0.0" + /// IPv6 format: "0:0:0:0:0:0:0:0" + /// + public Utf8String IpAddress { get; set; } + + /// + /// The Product User ID for the remote user who is being registered. + /// + public ProductUserId UserId { get; set; } + + /// + /// Reserved for future use. Must be set to 0. + /// + public int Reserved01 { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RegisterClientOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private AntiCheatCommon.AntiCheatCommonClientType m_ClientType; + private AntiCheatCommon.AntiCheatCommonClientPlatform m_ClientPlatform; + private IntPtr m_AccountId_DEPRECATED; + private IntPtr m_IpAddress; + private IntPtr m_UserId; + private int m_Reserved01; + + public void Set(ref RegisterClientOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.REGISTERCLIENT_API_LATEST; + m_ClientHandle = other.ClientHandle; + m_ClientType = other.ClientType; + m_ClientPlatform = other.ClientPlatform; + Helper.Set(other.AccountId_DEPRECATED, ref m_AccountId_DEPRECATED); + Helper.Set(other.IpAddress, ref m_IpAddress); + Helper.Set(other.UserId, ref m_UserId); + m_Reserved01 = other.Reserved01; + } + + public void Dispose() + { + Helper.Dispose(ref m_AccountId_DEPRECATED); + Helper.Dispose(ref m_IpAddress); + Helper.Dispose(ref m_UserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/SetClientNetworkStateOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/SetClientNetworkStateOptions.cs new file mode 100644 index 0000000..54c3f29 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/SetClientNetworkStateOptions.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct SetClientNetworkStateOptions + { + /// + /// Locally unique value describing the remote user (e.g. a player object ) + /// + public IntPtr ClientHandle { get; set; } + + /// + /// True if the network is functioning normally, if temporarily interrupted + /// + public bool IsNetworkActive { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetClientNetworkStateOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private int m_IsNetworkActive; + + public void Set(ref SetClientNetworkStateOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.SETCLIENTNETWORKSTATE_API_LATEST; + m_ClientHandle = other.ClientHandle; + Helper.Set(other.IsNetworkActive, ref m_IsNetworkActive); + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/UnprotectMessageOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/UnprotectMessageOptions.cs new file mode 100644 index 0000000..07189ce --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/UnprotectMessageOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct UnprotectMessageOptions + { + /// + /// Locally unique value describing the remote user from whom the message was received + /// + public IntPtr ClientHandle { get; set; } + + /// + /// The data to decrypt + /// + public ArraySegment Data { get; set; } + + /// + /// The size in bytes of OutBuffer + /// + public uint OutBufferSizeBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnprotectMessageOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + private uint m_DataLengthBytes; + private IntPtr m_Data; + private uint m_OutBufferSizeBytes; + + public void Set(ref UnprotectMessageOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.UNPROTECTMESSAGE_API_LATEST; + m_ClientHandle = other.ClientHandle; + Helper.Set(other.Data, ref m_Data, out m_DataLengthBytes); + m_OutBufferSizeBytes = other.OutBufferSizeBytes; + } + + public void Dispose() + { + Helper.Dispose(ref m_Data); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/UnregisterClientOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/UnregisterClientOptions.cs new file mode 100644 index 0000000..b79575f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AntiCheatServer/UnregisterClientOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.AntiCheatServer +{ + /// + /// Input parameters for the function. + /// + public struct UnregisterClientOptions + { + /// + /// Locally unique value describing the remote user, as previously passed to RegisterClient + /// + public IntPtr ClientHandle { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnregisterClientOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ClientHandle; + + public void Set(ref UnregisterClientOptions other) + { + Dispose(); + + m_ApiVersion = AntiCheatServerInterface.UNREGISTERCLIENT_API_LATEST; + m_ClientHandle = other.ClientHandle; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/AttributeType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/AttributeType.cs new file mode 100644 index 0000000..2b14d52 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/AttributeType.cs @@ -0,0 +1,34 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + /// + /// Supported types of data that can be stored with inside an attribute (used by sessions/lobbies/etc) + /// + /// + /// + public enum AttributeType : int + { + /// + /// Boolean value (/) + /// + Boolean = 0, + /// + /// 64 bit integers + /// + Int64 = 1, + /// + /// /floating point precision + /// + Double = 2, + /// + /// UTF8 Strings + /// + String = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AccountFeatureRestrictedInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AccountFeatureRestrictedInfo.cs new file mode 100644 index 0000000..650ba72 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AccountFeatureRestrictedInfo.cs @@ -0,0 +1,36 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Intermediate data needed to complete account restriction verification during login flow, returned by when the ResultCode is . + /// The URI inside should be exposed to the user for entry in a web browser. The URI must be copied out of this struct before completion of the callback. + /// + public struct AccountFeatureRestrictedInfo + { + /// + /// The end-user verification URI. Users must be asked to open the page in a browser to address the restrictions. + /// + public Utf8String VerificationURI { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AccountFeatureRestrictedInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_VerificationURI; + + public void Get(out AccountFeatureRestrictedInfo other) + { + other = default; + + Utf8String VerificationURIPublic; + Helper.Get(m_VerificationURI, out VerificationURIPublic); + other.VerificationURI = VerificationURIPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AddNotifyLoginStatusChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AddNotifyLoginStatusChangedOptions.cs new file mode 100644 index 0000000..069b8b6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AddNotifyLoginStatusChangedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the Function. + /// + public struct AddNotifyLoginStatusChangedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLoginStatusChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLoginStatusChangedOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthInterface.cs new file mode 100644 index 0000000..5e73dd7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthInterface.cs @@ -0,0 +1,584 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Auth +{ + public sealed partial class AuthInterface : Handle + { + public AuthInterface() + { + } + + public AuthInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the struct. + /// + public const int ACCOUNTFEATURERESTRICTEDINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYIDTOKEN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYUSERAUTHTOKEN_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int CREDENTIALS_API_LATEST = 4; + /// + /// The most recent version of the API. + /// + public const int DELETEPERSISTENTAUTH_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int IDTOKEN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LINKACCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOGIN_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int LOGOUT_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int PINGRANTINFO_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int QUERYIDTOKEN_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int TOKEN_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int VERIFYIDTOKEN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int VERIFYUSERAUTH_API_LATEST = 1; + + /// + /// Register to receive login status updates. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// structure containing the api version of AddNotifyLoginStatusChanged to use + /// + /// + /// arbitrary data that is passed back to you in the callback + /// + /// + /// a callback that is fired when the login status for a user changes + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLoginStatusChanged(ref AddNotifyLoginStatusChangedOptions options, object clientData, OnLoginStatusChangedCallback notification) + { + if (notification == null) + { + throw new ArgumentNullException("notification"); + } + + var optionsInternal = default(AddNotifyLoginStatusChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notification); + + var callResult = Bindings.EOS_Auth_AddNotifyLoginStatusChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnLoginStatusChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Fetch an ID token for an Epic Account ID. + /// + /// ID tokens are used to securely verify user identities with online services. + /// The most common use case is using an ID token to authenticate the local user by their selected account ID, + /// which is the account ID that should be used to access any game-scoped data for the current application. + /// + /// An ID token for the selected account ID of a locally authenticated user will always be readily available. + /// To retrieve it for the selected account ID, you can use directly after a successful user login. + /// + /// + /// + /// + /// + /// Structure containing the account ID for which to copy an ID token. + /// + /// + /// An ID token for the given user, if it exists and is valid; use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutUserIdToken + /// - if you pass a for the out parameter + /// - if the Id token is not found or expired. + /// + public Result CopyIdToken(ref CopyIdTokenOptions options, out IdToken? outIdToken) + { + var optionsInternal = default(CopyIdTokenOptionsInternal); + optionsInternal.Set(ref options); + + var outIdTokenPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Auth_CopyIdToken(InnerHandle, ref optionsInternal, out outIdTokenPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outIdTokenPointer, out outIdToken); + if (outIdTokenPointer != IntPtr.Zero) + { + Bindings.EOS_Auth_IdToken_Release(outIdTokenPointer); + } + + return callResult; + } + + /// + /// Fetch a user auth token for an Epic Account ID. + /// + /// A user authentication token allows any code with possession (backend/client) to perform certain actions on behalf of the user. + /// Because of this, for the purposes of user identity verification, the API should be used instead. + /// + /// + /// + /// + /// + /// Structure containing the api version of CopyUserAuthToken to use + /// + /// + /// The Epic Account ID of the user being queried + /// + /// + /// The auth token for the given user, if it exists and is valid; use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutUserAuthToken + /// - if you pass a for the out parameter + /// - if the auth token is not found or expired. + /// + public Result CopyUserAuthToken(ref CopyUserAuthTokenOptions options, EpicAccountId localUserId, out Token? outUserAuthToken) + { + var optionsInternal = default(CopyUserAuthTokenOptionsInternal); + optionsInternal.Set(ref options); + + var outUserAuthTokenPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Auth_CopyUserAuthToken(InnerHandle, ref optionsInternal, localUserId.InnerHandle, out outUserAuthTokenPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outUserAuthTokenPointer, out outUserAuthToken); + if (outUserAuthTokenPointer != IntPtr.Zero) + { + Bindings.EOS_Auth_Token_Release(outUserAuthTokenPointer); + } + + return callResult; + } + + /// + /// Deletes a previously received and locally stored persistent auth access token for the currently logged in user of the local device. + /// + /// On Desktop and Mobile platforms, the access token is deleted from the keychain of the local user and a backend request is made to revoke the token on the authentication server. + /// On Console platforms, even though the caller is responsible for storing and deleting the access token on the local device, + /// this function should still be called with the access token before its deletion to make the best effort in attempting to also revoke it on the authentication server. + /// If the function would fail on Console, the caller should still proceed as normal to delete the access token locally as intended. + /// + /// + /// + /// + /// structure containing operation input parameters + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the deletion operation completes, either successfully or in error + /// + public void DeletePersistentAuth(ref DeletePersistentAuthOptions options, object clientData, OnDeletePersistentAuthCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(DeletePersistentAuthOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_DeletePersistentAuth(InnerHandle, ref optionsInternal, clientDataPointer, OnDeletePersistentAuthCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Fetch an Epic Account ID that is logged in. + /// + /// + /// An index into the list of logged in accounts. If the index is out of bounds, the returned Epic Account ID will be invalid. + /// + /// + /// The Epic Account ID associated with the index passed + /// + public EpicAccountId GetLoggedInAccountByIndex(int index) + { + var callResult = Bindings.EOS_Auth_GetLoggedInAccountByIndex(InnerHandle, index); + + EpicAccountId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Fetch the number of accounts that are logged in. + /// + /// + /// the number of accounts logged in. + /// + public int GetLoggedInAccountsCount() + { + var callResult = Bindings.EOS_Auth_GetLoggedInAccountsCount(InnerHandle); + + return callResult; + } + + /// + /// Fetches the login status for an Epic Account ID. + /// + /// + /// The Epic Account ID of the user being queried + /// + /// + /// The enum value of a user's login status + /// + public LoginStatus GetLoginStatus(EpicAccountId localUserId) + { + var callResult = Bindings.EOS_Auth_GetLoginStatus(InnerHandle, localUserId.InnerHandle); + + return callResult; + } + + /// + /// Fetch one of the merged account IDs for a given logged in account. + /// + /// + /// The account ID of a currently logged in account. + /// + /// + /// An index into the list of merged accounts. If the index is out of bounds, the returned Epic Account ID will be invalid. + /// + /// + /// The Epic Account ID associated with the index passed. + /// + public EpicAccountId GetMergedAccountByIndex(EpicAccountId localUserId, uint index) + { + var callResult = Bindings.EOS_Auth_GetMergedAccountByIndex(InnerHandle, localUserId.InnerHandle, index); + + EpicAccountId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Fetch the number of merged accounts for a given logged in account. + /// + /// + /// The account ID of a currently logged in account. + /// + /// + /// the number of merged accounts for the logged in account. + /// + public uint GetMergedAccountsCount(EpicAccountId localUserId) + { + var callResult = Bindings.EOS_Auth_GetMergedAccountsCount(InnerHandle, localUserId.InnerHandle); + + return callResult; + } + + /// + /// Fetch the selected account ID to the current application for a local authenticated user. + /// + /// + /// The account ID of a currently logged in account. + /// + /// + /// The selected account ID corresponding to the given account ID. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the user is logged in and the information is available. + /// - if the output parameter is . + /// - if the input account ID is not locally known. + /// - if the input account ID is not locally logged in. + /// - otherwise. + /// + public Result GetSelectedAccountId(EpicAccountId localUserId, out EpicAccountId outSelectedAccountId) + { + var outSelectedAccountIdInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Auth_GetSelectedAccountId(InnerHandle, localUserId.InnerHandle, out outSelectedAccountIdInnerHandle); + + Helper.Get(outSelectedAccountIdInnerHandle, out outSelectedAccountId); + + return callResult; + } + + /// + /// Link external account by continuing previous login attempt with a continuance token. + /// + /// The user will be presented with Epic Accounts onboarding flow managed by the SDK. + /// + /// On success, the user will be logged in at the completion of this action. + /// This will commit this external account to the Epic Account and cannot be undone in the SDK. + /// + /// + /// + /// + /// structure containing the account credentials to use during the link account operation + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the link account operation completes, either successfully or in error + /// + public void LinkAccount(ref LinkAccountOptions options, object clientData, OnLinkAccountCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LinkAccountOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_LinkAccount(InnerHandle, ref optionsInternal, clientDataPointer, OnLinkAccountCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Login/Authenticate with user credentials. + /// + /// + /// + /// + /// structure containing the account credentials to use during the login operation + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the login operation completes, either successfully or in error + /// + public void Login(ref LoginOptions options, object clientData, OnLoginCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LoginOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_Login(InnerHandle, ref optionsInternal, clientDataPointer, OnLoginCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Signs the player out of the online service. + /// + /// + /// + /// + /// structure containing information about which account to log out. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the logout operation completes, either successfully or in error + /// + public void Logout(ref LogoutOptions options, object clientData, OnLogoutCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LogoutOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_Logout(InnerHandle, ref optionsInternal, clientDataPointer, OnLogoutCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query the backend for an ID token that describes one of the merged account IDs of a local authenticated user. + /// + /// The ID token can be used to impersonate a merged account ID when communicating with online services. + /// + /// An ID token for the selected account ID of a locally authenticated user will always be readily available and does not need to be queried explicitly. + /// + /// + /// + /// + /// Structure containing the merged account ID for which to query an ID token. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error. + /// + public void QueryIdToken(ref QueryIdTokenOptions options, object clientData, OnQueryIdTokenCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryIdTokenOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_QueryIdToken(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryIdTokenCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unregister from receiving login status updates. + /// + /// + /// handle representing the registered callback + /// + public void RemoveNotifyLoginStatusChanged(ulong inId) + { + Bindings.EOS_Auth_RemoveNotifyLoginStatusChanged(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Verify a given ID token for authenticity and validity. + /// + /// + /// + /// + /// Structure containing information about the ID token to verify. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error. + /// + public void VerifyIdToken(ref VerifyIdTokenOptions options, object clientData, OnVerifyIdTokenCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(VerifyIdTokenOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_VerifyIdToken(InnerHandle, ref optionsInternal, clientDataPointer, OnVerifyIdTokenCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Contact the backend service to verify validity of an existing user auth token. + /// This function is intended for server-side use only. + /// + /// + /// + /// + /// + /// structure containing information about the auth token being verified + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the logout operation completes, either successfully or in error + /// + public void VerifyUserAuth(ref VerifyUserAuthOptions options, object clientData, OnVerifyUserAuthCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(VerifyUserAuthOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Auth_VerifyUserAuth(InnerHandle, ref optionsInternal, clientDataPointer, OnVerifyUserAuthCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthScopeFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthScopeFlags.cs new file mode 100644 index 0000000..710102b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthScopeFlags.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Flags that describe user permissions + /// + [Flags] + public enum AuthScopeFlags : int + { + /// + /// Default value, no permissions required + /// + NoFlags = 0x0, + /// + /// Permissions to see your account ID, display name, and language + /// + BasicProfile = 0x1, + /// + /// Permissions to see a list of your friends who use this application + /// + FriendsList = 0x2, + /// + /// Permissions to set your online presence and see presence of your friends + /// + Presence = 0x4, + /// + /// Permissions to manage the Epic friends list. This scope is restricted to Epic first party products, and attempting to use it will result in authentication failures. + /// + FriendsManagement = 0x8, + /// + /// Permissions to see email in the response when fetching information for a user. This scope is restricted to Epic first party products, and attempting to use it will result in authentication failures. + /// + Email = 0x10, + /// + /// Permissions to see your country + /// + Country = 0x20 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthTokenType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthTokenType.cs new file mode 100644 index 0000000..cb751b7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/AuthTokenType.cs @@ -0,0 +1,26 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Types of auth tokens + /// + /// + /// + public enum AuthTokenType : int + { + /// + /// Auth token is for a validated client + /// + Client = 0, + /// + /// Auth token is for a validated user + /// + User = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/CopyIdTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/CopyIdTokenOptions.cs new file mode 100644 index 0000000..eca1606 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/CopyIdTokenOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct CopyIdTokenOptions + { + /// + /// The Epic Account ID of the user being queried. + /// + public EpicAccountId AccountId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyIdTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AccountId; + + public void Set(ref CopyIdTokenOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.COPYIDTOKEN_API_LATEST; + Helper.Set(other.AccountId, ref m_AccountId); + } + + public void Dispose() + { + Helper.Dispose(ref m_AccountId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/CopyUserAuthTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/CopyUserAuthTokenOptions.cs new file mode 100644 index 0000000..87d6d8c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/CopyUserAuthTokenOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct CopyUserAuthTokenOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyUserAuthTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref CopyUserAuthTokenOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.COPYUSERAUTHTOKEN_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/Credentials.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/Credentials.cs new file mode 100644 index 0000000..baf0cea --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/Credentials.cs @@ -0,0 +1,89 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Login credentials filled as part of the struct for API. + /// + /// Required input parameters to be set depend on the login credential type. + /// Any parameters not being used must be set to . Otherwise, error is returned. + /// + /// | ID is the email address, and Token is the password. + /// | Set ID to . Token is the exchange code. + /// | Set ID to . On console platforms, Token is the long-lived refresh token. Otherwise, set to . + /// | Set ID as the host (e.g. localhost:6547). Token is the credential name registered in the EOS Developer Authentication Tool. + /// | Set ID to . Token is the refresh token. + /// | Set ID and Token to . SystemAuthCredentialsOptions may be required on mobile platforms. + /// | Set ID to or the External Account ID that belongs to the external auth token. Token is the external auth token specified by ExternalType. External Account IDs set to the ID are expected as either base-10 numeric for integer-based external Account IDs, or the actual for everything else. If ID is provided, login will automatically be cancelled if the EOS SDK is able to and does detect the external account signing-out. If ID is provided, it must match the external account ID belonging to the auth-token, or login will fail. + /// + /// + /// + /// + public struct Credentials + { + /// + /// Authentication ID value based on the used . + /// If not used, must be set to . + /// + public Utf8String Id { get; set; } + + /// + /// Authentication Token value based on the used . + /// If not used, must be set to . + /// + public Utf8String Token { get; set; } + + /// + /// Login credentials type based on the authentication method used. + /// + public LoginCredentialType Type { get; set; } + + /// + /// This field is for system specific options, if any. + /// + /// If provided, the structure will be located in (System)/eos_(system).h. + /// The structure will be named EOS_(System)_Auth_CredentialsOptions. + /// + public IntPtr SystemAuthCredentialsOptions { get; set; } + + /// + /// Type of external login. Needed to identify the external auth method to use. + /// Used when login type is set to , ignored for other methods. + /// + public ExternalCredentialType ExternalType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CredentialsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Id; + private IntPtr m_Token; + private LoginCredentialType m_Type; + private IntPtr m_SystemAuthCredentialsOptions; + private ExternalCredentialType m_ExternalType; + + public void Set(ref Credentials other) + { + Dispose(); + + m_ApiVersion = AuthInterface.CREDENTIALS_API_LATEST; + Helper.Set(other.Id, ref m_Id); + Helper.Set(other.Token, ref m_Token); + m_Type = other.Type; + m_SystemAuthCredentialsOptions = other.SystemAuthCredentialsOptions; + m_ExternalType = other.ExternalType; + } + + public void Dispose() + { + Helper.Dispose(ref m_Id); + Helper.Dispose(ref m_Token); + Helper.Dispose(ref m_SystemAuthCredentialsOptions); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/DeletePersistentAuthCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/DeletePersistentAuthCallbackInfo.cs new file mode 100644 index 0000000..c59984c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/DeletePersistentAuthCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct DeletePersistentAuthCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeletePersistentAuthCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DeletePersistentAuthCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/DeletePersistentAuthOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/DeletePersistentAuthOptions.cs new file mode 100644 index 0000000..f862d0d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/DeletePersistentAuthOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct DeletePersistentAuthOptions + { + /// + /// A long-lived refresh token that is used with the login type and is to be revoked from the authentication server. Only used on Console platforms. + /// On Desktop and Mobile platforms, set this parameter to . + /// + public Utf8String RefreshToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeletePersistentAuthOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_RefreshToken; + + public void Set(ref DeletePersistentAuthOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.DELETEPERSISTENTAUTH_API_LATEST; + Helper.Set(other.RefreshToken, ref m_RefreshToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_RefreshToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/IdToken.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/IdToken.cs new file mode 100644 index 0000000..301b9ec --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/IdToken.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// A structure that contains an ID token. + /// These structures are created by and must be passed to when finished. + /// + public struct IdToken + { + /// + /// The Epic Account ID described by the ID token. + /// Use to populate this field when validating a received ID token. + /// + public EpicAccountId AccountId { get; set; } + + /// + /// The ID token as a Json Web Token (JWT) . + /// + public Utf8String JsonWebToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IdTokenInternal : IGettable, ISettable + { + private int m_ApiVersion; + private IntPtr m_AccountId; + private IntPtr m_JsonWebToken; + + public void Get(out IdToken other) + { + other = default; + + EpicAccountId AccountIdPublic; + Helper.Get(m_AccountId, out AccountIdPublic); + other.AccountId = AccountIdPublic; + Utf8String JsonWebTokenPublic; + Helper.Get(m_JsonWebToken, out JsonWebTokenPublic); + other.JsonWebToken = JsonWebTokenPublic; + } + + public void Set(ref IdToken other) + { + Dispose(); + + m_ApiVersion = AuthInterface.IDTOKEN_API_LATEST; + Helper.Set(other.AccountId, ref m_AccountId); + Helper.Set(other.JsonWebToken, ref m_JsonWebToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_AccountId); + Helper.Dispose(ref m_JsonWebToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountCallbackInfo.cs new file mode 100644 index 0000000..9441a96 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountCallbackInfo.cs @@ -0,0 +1,91 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct LinkAccountCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose account has been linked during login. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Optional data that may be returned in the middle of the login flow, when neither the in-game overlay or a platform browser is used. + /// This data is present when the ResultCode is . + /// + public PinGrantInfo? PinGrantInfo { get; set; } + + /// + /// The Epic Account ID that has been previously selected to be used for the current application. + /// Applications should use this ID to authenticate with online backend services that store game-scoped data for users. + /// + /// Note: This ID may be different from LocalUserId if the user has previously merged Epic accounts into the account + /// represented by LocalUserId, and one of the accounts that got merged had game data associated with it for the application. + /// + public EpicAccountId SelectedAccountId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LinkAccountCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_PinGrantInfo; + private IntPtr m_SelectedAccountId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LinkAccountCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + PinGrantInfo? PinGrantInfoPublic; + Helper.Get(m_PinGrantInfo, out PinGrantInfoPublic); + other.PinGrantInfo = PinGrantInfoPublic; + EpicAccountId SelectedAccountIdPublic; + Helper.Get(m_SelectedAccountId, out SelectedAccountIdPublic); + other.SelectedAccountId = SelectedAccountIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountFlags.cs new file mode 100644 index 0000000..51cc7fe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountFlags.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Flags used to describe how the account linking operation is to be performed. + /// + /// + [Flags] + public enum LinkAccountFlags : int + { + /// + /// Default flag used for a standard account linking operation. + /// + /// This flag is set when using a continuance token received from a previous call to the API, + /// when the local user has not yet been successfully logged in to an Epic Account yet. + /// + NoFlags = 0x0, + /// + /// Specified when the describes a Nintendo NSA ID account type. + /// + /// This flag is used only with, and must be set, when the continuance token was received from a previous call + /// to the API using the login type. + /// + NintendoNsaId = 0x1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountOptions.cs new file mode 100644 index 0000000..155aece --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LinkAccountOptions.cs @@ -0,0 +1,64 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct LinkAccountOptions + { + /// + /// Combination of the enumeration flags to specify how the account linking operation will be performed. + /// + public LinkAccountFlags LinkAccountFlags { get; set; } + + /// + /// Continuance token received from a previous call to the API. + /// + /// A continuance token is received in the case when the external account used for login was not found to be linked + /// against any existing Epic Account. In such case, the application needs to proceed with an account linking operation in which case + /// the user is first asked to create a new account or login into their existing Epic Account, and then link their external account to it. + /// Alternatively, the application may suggest the user to login using another external account that they have already linked to their existing Epic Account. + /// In this flow, the external account is typically the currently logged in local platform user account. + /// It can also be another external user account that the user is offered to login with. + /// + public ContinuanceToken ContinuanceToken { get; set; } + + /// + /// The Epic Account ID of the logged in local user whose Epic Account will be linked with the local Nintendo NSA ID Account. By default set to . + /// + /// This parameter is only used and required to be set when is specified. + /// Otherwise, set to , as the standard account linking and login flow using continuance token will handle logging in the user to their Epic Account. + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LinkAccountOptionsInternal : ISettable + { + private int m_ApiVersion; + private LinkAccountFlags m_LinkAccountFlags; + private IntPtr m_ContinuanceToken; + private IntPtr m_LocalUserId; + + public void Set(ref LinkAccountOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.LINKACCOUNT_API_LATEST; + m_LinkAccountFlags = other.LinkAccountFlags; + Helper.Set(other.ContinuanceToken, ref m_ContinuanceToken); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_ContinuanceToken); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginCallbackInfo.cs new file mode 100644 index 0000000..cf526e9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginCallbackInfo.cs @@ -0,0 +1,109 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct LoginCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user who has logged in. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Optional data that may be returned in the middle of the login flow, when neither the in-game overlay or a platform browser is used. + /// This data is present when the ResultCode is . + /// + public PinGrantInfo? PinGrantInfo { get; set; } + + /// + /// If the user was not found with external auth credentials passed into , this continuance token can be passed to to continue the flow. + /// + public ContinuanceToken ContinuanceToken { get; set; } + + /// + /// Deprecated field that is no longer used. + /// + public AccountFeatureRestrictedInfo? AccountFeatureRestrictedInfo_DEPRECATED { get; set; } + + /// + /// The Epic Account ID that has been previously selected to be used for the current application. + /// Applications should use this ID to authenticate with online backend services that store game-scoped data for users. + /// + /// Note: This ID may be different from LocalUserId if the user has previously merged Epic accounts into the account + /// represented by LocalUserId, and one of the accounts that got merged had game data associated with it for the application. + /// + public EpicAccountId SelectedAccountId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LoginCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_PinGrantInfo; + private IntPtr m_ContinuanceToken; + private IntPtr m_AccountFeatureRestrictedInfo_DEPRECATED; + private IntPtr m_SelectedAccountId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LoginCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + PinGrantInfo? PinGrantInfoPublic; + Helper.Get(m_PinGrantInfo, out PinGrantInfoPublic); + other.PinGrantInfo = PinGrantInfoPublic; + ContinuanceToken ContinuanceTokenPublic; + Helper.Get(m_ContinuanceToken, out ContinuanceTokenPublic); + other.ContinuanceToken = ContinuanceTokenPublic; + AccountFeatureRestrictedInfo? AccountFeatureRestrictedInfo_DEPRECATEDPublic; + Helper.Get(m_AccountFeatureRestrictedInfo_DEPRECATED, out AccountFeatureRestrictedInfo_DEPRECATEDPublic); + other.AccountFeatureRestrictedInfo_DEPRECATED = AccountFeatureRestrictedInfo_DEPRECATEDPublic; + EpicAccountId SelectedAccountIdPublic; + Helper.Get(m_SelectedAccountId, out SelectedAccountIdPublic); + other.SelectedAccountId = SelectedAccountIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginCredentialType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginCredentialType.cs new file mode 100644 index 0000000..99cdc5b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginCredentialType.cs @@ -0,0 +1,107 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// All possible types of login methods, availability depends on permissions granted to the client. + /// + /// + /// + public enum LoginCredentialType : int + { + /// + /// Login using account email address and password. + /// + /// Note: This login method is restricted to Epic Games internal use only. Do not use. + /// + Password = 0, + /// + /// A short-lived one-time use exchange code to login the local user. + /// + /// @details Typically retrieved via command-line parameters provided by a launcher that generated the exchange code for this application. + /// When started, the application is expected to consume the exchange code by using the API as soon as possible. + /// This is needed in order to authenticate the local user before the exchange code would expire. + /// Attempting to consume an already expired exchange code will return error by the API. + /// + ExchangeCode = 1, + /// + /// Used by standalone applications distributed outside the supported game platforms such as Epic Games Store or Steam, and on Nintendo Switch. + /// + /// Persistent Auth is used in conjunction with the login method for automatic login of the local user across multiple runs of the application. + /// + /// Standalone applications implement the login sequence as follows: + /// 1. Application calls with , using a previously stored Epic refresh token for an automatic user login. + /// 2. If automatic login fails, the application discards the Epic refresh token used as defunct, and proceeds to call with to prompt the user for manual login. + /// On Desktop and Mobile platforms, the persistent refresh token is automatically managed by the SDK that stores it in the keychain of the currently logged in user of the local device. + /// On Nintendo Switch, after a successful login the refresh token must be retrieved using the API and stored by the application specifically for the active Nintendo Switch user. + /// + /// + PersistentAuth = 2, + /// + /// Not supported. Superseded by login method. + /// + /// + DeviceCode = 3, + /// + /// Login with named credentials hosted by the EOS SDK Developer Authentication Tool. + /// Used for development purposes only. + /// + Developer = 4, + /// + /// Refresh token that was retrieved from a previous call to API in another local process context. + /// Mainly used in conjunction with custom desktop launcher applications. + /// + /// @details Can be used for example when launching the game from Epic Games Launcher and having an intermediate process + /// in-between that requires authenticating the user before eventually starting the actual game client application. + /// In such scenario, an intermediate launcher will log in the user by consuming the exchange code it received from the + /// Epic Games Launcher. To allow the game client to also authenticate the user, it can copy the refresh token using the + /// API and pass it via launch parameters to the started game client. The game client can then + /// use the refresh token to log in the user. + /// + RefreshToken = 5, + /// + /// Used by standalone applications distributed outside the supported game platforms such as Epic Games Store or Steam, and on Nintendo Switch. + /// + /// Login using the built-in user onboarding experience provided by the SDK, which will automatically store a persistent + /// refresh token to enable automatic user login for consecutive application runs on the local device. Applications are + /// expected to attempt automatic login using the login method, and fall back to + /// to prompt users for manual login. + /// On Windows, using this login method requires applications to be started through the EOS Bootstrapper application + /// and to have the local Epic Online Services redistributable installed on the local system. See + /// for adding a readiness check prior to calling . + /// + /// + AccountPortal = 6, + /// + /// Login using external account provider credentials, such as PlayStation(TM)Network, Steam, and Xbox Live. + /// + /// This is the intended login method on PlayStation® and Xbox console devices. + /// On Desktop and Mobile, used when launched through any of the commonly supported platform clients. + /// + /// @details The user is seamlessly logged in to their Epic account using an external account access token. + /// If the local platform account is already linked with the user's Epic account, the login will succeed and is returned. + /// When the local platform account has not been linked with an Epic account yet, + /// is returned and the will be set in the data. + /// If is returned, + /// the application should proceed to call the API with the to continue with the external account login + /// and to link the external account at the end of the login flow. + /// + /// @details Login flow when the platform user account has not been linked with an Epic account yet: + /// 1. Game calls with the credential type. + /// 2. returns with a non- in the data. + /// 3. Game calls with the to initiate the login flow for linking the platform account with the user's Epic account. + /// 4. The user is taken automatically to the Epic accounts user onboarding flow managed by the SDK. + /// 5. Once the user completes the login, cancels it or if the login flow times out, invokes the completion callback to the caller. + /// - If the user was logged in successfully, is returned in the . Otherwise, an error result code is returned accordingly. + /// On Windows, using this login method requires applications to be started through the EOS Bootstrapper application + /// and to have the local Epic Online Services redistributable installed on the local system. See + /// for adding a readiness check prior to calling . + /// + ExternalAuth = 7 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginFlags.cs new file mode 100644 index 0000000..53397d7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginFlags.cs @@ -0,0 +1,29 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Login flags. + /// + [Flags] + public enum LoginFlags : ulong + { + /// + /// No flags. + /// + None = 0x0, + /// + /// Specify login to be performed without SDK provided user interface. + /// + /// By default, and without this flag, the SDK uses the overlay or a system browser to show user interfaces during login + /// when the user needs to perform some action. With this flag, an error such as is returned + /// to the login callback, and no user interface is shown in those cases. + /// + NoUserInterface = 0x00001 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginOptions.cs new file mode 100644 index 0000000..d2e0bd2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginOptions.cs @@ -0,0 +1,53 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct LoginOptions + { + /// + /// Credentials specified for a given login method. + /// + public Credentials? Credentials { get; set; } + + /// + /// Auth scope flags are permissions to request from the user while they are logging in. This is a bitwise-or union of flags defined above. + /// + public AuthScopeFlags ScopeFlags { get; set; } + + /// + /// Optional flags for the desired login behavior, e.g. . This is a bitwise-or union of the defined flags. + /// + public LoginFlags LoginFlags { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LoginOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Credentials; + private AuthScopeFlags m_ScopeFlags; + private LoginFlags m_LoginFlags; + + public void Set(ref LoginOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.LOGIN_API_LATEST; + Helper.Set(other.Credentials, ref m_Credentials); + m_ScopeFlags = other.ScopeFlags; + m_LoginFlags = other.LoginFlags; + } + + public void Dispose() + { + Helper.Dispose(ref m_Credentials); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginStatusChangedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginStatusChangedCallbackInfo.cs new file mode 100644 index 0000000..72a49e9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LoginStatusChangedCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct LoginStatusChangedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose status has changed + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The status prior to the change + /// + public LoginStatus PrevStatus { get; set; } + + /// + /// The status at the time of the notification + /// + public LoginStatus CurrentStatus { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LoginStatusChangedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private LoginStatus m_PrevStatus; + private LoginStatus m_CurrentStatus; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LoginStatusChangedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + other.PrevStatus = m_PrevStatus; + other.CurrentStatus = m_CurrentStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LogoutCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LogoutCallbackInfo.cs new file mode 100644 index 0000000..22b278f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LogoutCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct LogoutCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user requesting the information + /// + public EpicAccountId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogoutCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LogoutCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LogoutOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LogoutOptions.cs new file mode 100644 index 0000000..6550257 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/LogoutOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct LogoutOptions + { + /// + /// The Epic Account ID of the local user who is being logged out + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogoutOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref LogoutOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.LOGOUT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnDeletePersistentAuthCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnDeletePersistentAuthCallback.cs new file mode 100644 index 0000000..9e6ed15 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnDeletePersistentAuthCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnDeletePersistentAuthCallback(ref DeletePersistentAuthCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDeletePersistentAuthCallbackInternal(ref DeletePersistentAuthCallbackInfoInternal data); + + internal static class OnDeletePersistentAuthCallbackInternalImplementation + { + private static OnDeletePersistentAuthCallbackInternal s_Delegate; + public static OnDeletePersistentAuthCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDeletePersistentAuthCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDeletePersistentAuthCallbackInternal))] + public static void EntryPoint(ref DeletePersistentAuthCallbackInfoInternal data) + { + OnDeletePersistentAuthCallback callback; + DeletePersistentAuthCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLinkAccountCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLinkAccountCallback.cs new file mode 100644 index 0000000..4734e2e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLinkAccountCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnLinkAccountCallback(ref LinkAccountCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLinkAccountCallbackInternal(ref LinkAccountCallbackInfoInternal data); + + internal static class OnLinkAccountCallbackInternalImplementation + { + private static OnLinkAccountCallbackInternal s_Delegate; + public static OnLinkAccountCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLinkAccountCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLinkAccountCallbackInternal))] + public static void EntryPoint(ref LinkAccountCallbackInfoInternal data) + { + OnLinkAccountCallback callback; + LinkAccountCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLoginCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLoginCallback.cs new file mode 100644 index 0000000..a6c0bcd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLoginCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnLoginCallback(ref LoginCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLoginCallbackInternal(ref LoginCallbackInfoInternal data); + + internal static class OnLoginCallbackInternalImplementation + { + private static OnLoginCallbackInternal s_Delegate; + public static OnLoginCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLoginCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLoginCallbackInternal))] + public static void EntryPoint(ref LoginCallbackInfoInternal data) + { + OnLoginCallback callback; + LoginCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLoginStatusChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLoginStatusChangedCallback.cs new file mode 100644 index 0000000..a91988f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLoginStatusChangedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// A containing the output information and result + /// + public delegate void OnLoginStatusChangedCallback(ref LoginStatusChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLoginStatusChangedCallbackInternal(ref LoginStatusChangedCallbackInfoInternal data); + + internal static class OnLoginStatusChangedCallbackInternalImplementation + { + private static OnLoginStatusChangedCallbackInternal s_Delegate; + public static OnLoginStatusChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLoginStatusChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLoginStatusChangedCallbackInternal))] + public static void EntryPoint(ref LoginStatusChangedCallbackInfoInternal data) + { + OnLoginStatusChangedCallback callback; + LoginStatusChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLogoutCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLogoutCallback.cs new file mode 100644 index 0000000..aa637a2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnLogoutCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnLogoutCallback(ref LogoutCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLogoutCallbackInternal(ref LogoutCallbackInfoInternal data); + + internal static class OnLogoutCallbackInternalImplementation + { + private static OnLogoutCallbackInternal s_Delegate; + public static OnLogoutCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLogoutCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLogoutCallbackInternal))] + public static void EntryPoint(ref LogoutCallbackInfoInternal data) + { + OnLogoutCallback callback; + LogoutCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnQueryIdTokenCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnQueryIdTokenCallback.cs new file mode 100644 index 0000000..e44e93d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnQueryIdTokenCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed into . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnQueryIdTokenCallback(ref QueryIdTokenCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryIdTokenCallbackInternal(ref QueryIdTokenCallbackInfoInternal data); + + internal static class OnQueryIdTokenCallbackInternalImplementation + { + private static OnQueryIdTokenCallbackInternal s_Delegate; + public static OnQueryIdTokenCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryIdTokenCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryIdTokenCallbackInternal))] + public static void EntryPoint(ref QueryIdTokenCallbackInfoInternal data) + { + OnQueryIdTokenCallback callback; + QueryIdTokenCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnVerifyIdTokenCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnVerifyIdTokenCallback.cs new file mode 100644 index 0000000..195872d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnVerifyIdTokenCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed into . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnVerifyIdTokenCallback(ref VerifyIdTokenCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnVerifyIdTokenCallbackInternal(ref VerifyIdTokenCallbackInfoInternal data); + + internal static class OnVerifyIdTokenCallbackInternalImplementation + { + private static OnVerifyIdTokenCallbackInternal s_Delegate; + public static OnVerifyIdTokenCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnVerifyIdTokenCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnVerifyIdTokenCallbackInternal))] + public static void EntryPoint(ref VerifyIdTokenCallbackInfoInternal data) + { + OnVerifyIdTokenCallback callback; + VerifyIdTokenCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnVerifyUserAuthCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnVerifyUserAuthCallback.cs new file mode 100644 index 0000000..cc1b6f3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/OnVerifyUserAuthCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnVerifyUserAuthCallback(ref VerifyUserAuthCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnVerifyUserAuthCallbackInternal(ref VerifyUserAuthCallbackInfoInternal data); + + internal static class OnVerifyUserAuthCallbackInternalImplementation + { + private static OnVerifyUserAuthCallbackInternal s_Delegate; + public static OnVerifyUserAuthCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnVerifyUserAuthCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnVerifyUserAuthCallbackInternal))] + public static void EntryPoint(ref VerifyUserAuthCallbackInfoInternal data) + { + OnVerifyUserAuthCallback callback; + VerifyUserAuthCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/PinGrantInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/PinGrantInfo.cs new file mode 100644 index 0000000..36710a3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/PinGrantInfo.cs @@ -0,0 +1,63 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Intermediate data for completing Epic account login, when neither the in-game overlay or a platform browser is used. + /// The struct is returned as part of the and structs. + /// The data inside should be exposed to the user for entry on a secondary device. + /// All data must be copied out before the completion of this callback. + /// + public struct PinGrantInfo + { + /// + /// Code the user must input on an external device to activate the login. + /// + public Utf8String UserCode { get; set; } + + /// + /// The end-user verification URI. Users can be asked to manually type this into their browser. + /// + public Utf8String VerificationURI { get; set; } + + /// + /// Time the user has, in seconds, to complete the process or else timeout. + /// + public int ExpiresIn { get; set; } + + /// + /// A verification URI that includes the user code. Useful for non-textual transmission. + /// + public Utf8String VerificationURIComplete { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PinGrantInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_UserCode; + private IntPtr m_VerificationURI; + private int m_ExpiresIn; + private IntPtr m_VerificationURIComplete; + + public void Get(out PinGrantInfo other) + { + other = default; + + Utf8String UserCodePublic; + Helper.Get(m_UserCode, out UserCodePublic); + other.UserCode = UserCodePublic; + Utf8String VerificationURIPublic; + Helper.Get(m_VerificationURI, out VerificationURIPublic); + other.VerificationURI = VerificationURIPublic; + other.ExpiresIn = m_ExpiresIn; + Utf8String VerificationURICompletePublic; + Helper.Get(m_VerificationURIComplete, out VerificationURICompletePublic); + other.VerificationURIComplete = VerificationURICompletePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/QueryIdTokenCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/QueryIdTokenCallbackInfo.cs new file mode 100644 index 0000000..b4c8a4d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/QueryIdTokenCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct QueryIdTokenCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local authenticated user. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The target Epic Account ID for which the ID token was retrieved. + /// + public EpicAccountId TargetAccountId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryIdTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetAccountId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryIdTokenCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetAccountIdPublic; + Helper.Get(m_TargetAccountId, out TargetAccountIdPublic); + other.TargetAccountId = TargetAccountIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/QueryIdTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/QueryIdTokenOptions.cs new file mode 100644 index 0000000..2a9c683 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/QueryIdTokenOptions.cs @@ -0,0 +1,51 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct QueryIdTokenOptions + { + /// + /// The Epic Account ID of the local authenticated user. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The target Epic Account ID for which to query an ID token. + /// This account id may be the same as the input LocalUserId or another merged account id associated with the local user's Epic account. + /// + /// An ID token for the selected account id of a locally authenticated user will always be readily available. + /// To retrieve it for the selected account ID, you can use directly after a successful user login. + /// + public EpicAccountId TargetAccountId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryIdTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetAccountId; + + public void Set(ref QueryIdTokenOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.QUERYIDTOKEN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetAccountId, ref m_TargetAccountId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetAccountId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/Token.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/Token.cs new file mode 100644 index 0000000..21b46c9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/Token.cs @@ -0,0 +1,140 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// A structure that contains an auth token. + /// These structures are created by and must be passed to . + /// + public struct Token + { + /// + /// Name of the app related to the client ID involved with this token + /// + public Utf8String App { get; set; } + + /// + /// Client ID that requested this token + /// + public Utf8String ClientId { get; set; } + + /// + /// The Epic Account ID associated with this auth token + /// + public EpicAccountId AccountId { get; set; } + + /// + /// Access token for the current user login session + /// + public Utf8String AccessToken { get; set; } + + /// + /// Time before the access token expires, in seconds, relative to the call to + /// + public double ExpiresIn { get; set; } + + /// + /// Absolute time in UTC before the access token expires, in ISO 8601 format + /// + public Utf8String ExpiresAt { get; set; } + + /// + /// Type of auth token + /// + public AuthTokenType AuthType { get; set; } + + /// + /// Refresh token. + /// + /// + public Utf8String RefreshToken { get; set; } + + /// + /// Time before the access token expires, in seconds, relative to the call to + /// + public double RefreshExpiresIn { get; set; } + + /// + /// Absolute time in UTC before the refresh token expires, in ISO 8601 format + /// + public Utf8String RefreshExpiresAt { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct TokenInternal : IGettable, ISettable + { + private int m_ApiVersion; + private IntPtr m_App; + private IntPtr m_ClientId; + private IntPtr m_AccountId; + private IntPtr m_AccessToken; + private double m_ExpiresIn; + private IntPtr m_ExpiresAt; + private AuthTokenType m_AuthType; + private IntPtr m_RefreshToken; + private double m_RefreshExpiresIn; + private IntPtr m_RefreshExpiresAt; + + public void Get(out Token other) + { + other = default; + + Utf8String AppPublic; + Helper.Get(m_App, out AppPublic); + other.App = AppPublic; + Utf8String ClientIdPublic; + Helper.Get(m_ClientId, out ClientIdPublic); + other.ClientId = ClientIdPublic; + EpicAccountId AccountIdPublic; + Helper.Get(m_AccountId, out AccountIdPublic); + other.AccountId = AccountIdPublic; + Utf8String AccessTokenPublic; + Helper.Get(m_AccessToken, out AccessTokenPublic); + other.AccessToken = AccessTokenPublic; + other.ExpiresIn = m_ExpiresIn; + Utf8String ExpiresAtPublic; + Helper.Get(m_ExpiresAt, out ExpiresAtPublic); + other.ExpiresAt = ExpiresAtPublic; + other.AuthType = m_AuthType; + Utf8String RefreshTokenPublic; + Helper.Get(m_RefreshToken, out RefreshTokenPublic); + other.RefreshToken = RefreshTokenPublic; + other.RefreshExpiresIn = m_RefreshExpiresIn; + Utf8String RefreshExpiresAtPublic; + Helper.Get(m_RefreshExpiresAt, out RefreshExpiresAtPublic); + other.RefreshExpiresAt = RefreshExpiresAtPublic; + } + + public void Set(ref Token other) + { + Dispose(); + + m_ApiVersion = AuthInterface.TOKEN_API_LATEST; + Helper.Set(other.App, ref m_App); + Helper.Set(other.ClientId, ref m_ClientId); + Helper.Set(other.AccountId, ref m_AccountId); + Helper.Set(other.AccessToken, ref m_AccessToken); + m_ExpiresIn = other.ExpiresIn; + Helper.Set(other.ExpiresAt, ref m_ExpiresAt); + m_AuthType = other.AuthType; + Helper.Set(other.RefreshToken, ref m_RefreshToken); + m_RefreshExpiresIn = other.RefreshExpiresIn; + Helper.Set(other.RefreshExpiresAt, ref m_RefreshExpiresAt); + } + + public void Dispose() + { + Helper.Dispose(ref m_App); + Helper.Dispose(ref m_ClientId); + Helper.Dispose(ref m_AccountId); + Helper.Dispose(ref m_AccessToken); + Helper.Dispose(ref m_ExpiresAt); + Helper.Dispose(ref m_RefreshToken); + Helper.Dispose(ref m_RefreshExpiresAt); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyIdTokenCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyIdTokenCallbackInfo.cs new file mode 100644 index 0000000..efeefa0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyIdTokenCallbackInfo.cs @@ -0,0 +1,170 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct VerifyIdTokenCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Epic Account Services Application ID. + /// + public Utf8String ApplicationId { get; set; } + + /// + /// Client ID of the authorized client. + /// + public Utf8String ClientId { get; set; } + + /// + /// Product ID. + /// + public Utf8String ProductId { get; set; } + + /// + /// Sandbox ID. + /// + public Utf8String SandboxId { get; set; } + + /// + /// Deployment ID. + /// + public Utf8String DeploymentId { get; set; } + + /// + /// Epic Account display name. + /// + /// This value may be set to an empty . + /// + public Utf8String DisplayName { get; set; } + + /// + /// Flag set to indicate whether external account information is present. + /// Applications must always first check this value to be set before attempting + /// to read the ExternalAccountIdType, ExternalAccountId, ExternalAccountDisplayName and Platform fields. + /// + /// This flag is set when the user has logged in to their Epic Account using external account credentials, e.g. through local platform authentication. + /// + public bool IsExternalAccountInfoPresent { get; set; } + + /// + /// The identity provider that the user logged in with to their Epic Account. + /// + /// If bIsExternalAccountInfoPresent is set, this field describes the external account type. + /// + public ExternalAccountType ExternalAccountIdType { get; set; } + + /// + /// The external account ID of the logged in user. + /// + /// This value may be set to an empty . + /// + public Utf8String ExternalAccountId { get; set; } + + /// + /// The external account display name. + /// + /// This value may be set to an empty . + /// + public Utf8String ExternalAccountDisplayName { get; set; } + + /// + /// Platform that the user is connected from. + /// + /// This value may be set to an empty . + /// + public Utf8String Platform { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct VerifyIdTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_ApplicationId; + private IntPtr m_ClientId; + private IntPtr m_ProductId; + private IntPtr m_SandboxId; + private IntPtr m_DeploymentId; + private IntPtr m_DisplayName; + private int m_IsExternalAccountInfoPresent; + private ExternalAccountType m_ExternalAccountIdType; + private IntPtr m_ExternalAccountId; + private IntPtr m_ExternalAccountDisplayName; + private IntPtr m_Platform; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out VerifyIdTokenCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String ApplicationIdPublic; + Helper.Get(m_ApplicationId, out ApplicationIdPublic); + other.ApplicationId = ApplicationIdPublic; + Utf8String ClientIdPublic; + Helper.Get(m_ClientId, out ClientIdPublic); + other.ClientId = ClientIdPublic; + Utf8String ProductIdPublic; + Helper.Get(m_ProductId, out ProductIdPublic); + other.ProductId = ProductIdPublic; + Utf8String SandboxIdPublic; + Helper.Get(m_SandboxId, out SandboxIdPublic); + other.SandboxId = SandboxIdPublic; + Utf8String DeploymentIdPublic; + Helper.Get(m_DeploymentId, out DeploymentIdPublic); + other.DeploymentId = DeploymentIdPublic; + Utf8String DisplayNamePublic; + Helper.Get(m_DisplayName, out DisplayNamePublic); + other.DisplayName = DisplayNamePublic; + bool IsExternalAccountInfoPresentPublic; + Helper.Get(m_IsExternalAccountInfoPresent, out IsExternalAccountInfoPresentPublic); + other.IsExternalAccountInfoPresent = IsExternalAccountInfoPresentPublic; + other.ExternalAccountIdType = m_ExternalAccountIdType; + Utf8String ExternalAccountIdPublic; + Helper.Get(m_ExternalAccountId, out ExternalAccountIdPublic); + other.ExternalAccountId = ExternalAccountIdPublic; + Utf8String ExternalAccountDisplayNamePublic; + Helper.Get(m_ExternalAccountDisplayName, out ExternalAccountDisplayNamePublic); + other.ExternalAccountDisplayName = ExternalAccountDisplayNamePublic; + Utf8String PlatformPublic; + Helper.Get(m_Platform, out PlatformPublic); + other.Platform = PlatformPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyIdTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyIdTokenOptions.cs new file mode 100644 index 0000000..82bb990 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyIdTokenOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct VerifyIdTokenOptions + { + /// + /// The ID token to verify. + /// Use to populate the AccountId field of this struct. + /// + public IdToken? IdToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct VerifyIdTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_IdToken; + + public void Set(ref VerifyIdTokenOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.VERIFYIDTOKEN_API_LATEST; + Helper.Set(other.IdToken, ref m_IdToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_IdToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyUserAuthCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyUserAuthCallbackInfo.cs new file mode 100644 index 0000000..e052f31 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyUserAuthCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Output parameters for the Function. + /// + public struct VerifyUserAuthCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct VerifyUserAuthCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out VerifyUserAuthCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyUserAuthOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyUserAuthOptions.cs new file mode 100644 index 0000000..1566149 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Auth/VerifyUserAuthOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// This operation is destructive, the will remain the same but the data pointers inside will update + /// + public struct VerifyUserAuthOptions + { + /// + /// Auth token to verify against the backend service + /// + public Token? AuthToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct VerifyUserAuthOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AuthToken; + + public void Set(ref VerifyUserAuthOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.VERIFYUSERAUTH_API_LATEST; + Helper.Set(other.AuthToken, ref m_AuthToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_AuthToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Bindings.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Bindings.cs new file mode 100644 index 0000000..6224d75 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Bindings.cs @@ -0,0 +1,9607 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_STANDALONE_WIN && !UNITY_64 + #define EOS_PLATFORM_WINDOWS_32 +#endif + +#if UNITY_EDITOR_OSX || UNITY_STANDALONE_OSX + #define EOS_PLATFORM_OSX +#endif + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if UNITY_EDITOR + #define EOS_EDITOR +#endif + +#if EOS_EDITOR + #define EOS_DYNAMIC_BINDINGS +#endif + +#if EOS_DYNAMIC_BINDINGS + #if EOS_PLATFORM_WINDOWS_32 + #define EOS_DYNAMIC_BINDINGS_MANGLING_WINDOWS_32 + #elif EOS_PLATFORM_OSX || EOS_PLATFORM_IOS + #define EOS_DYNAMIC_BINDINGS_MANGLING_APPLE + #else + #define EOS_DYNAMIC_BINDINGS_MANGLING_STANDARD + #endif +#endif + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + public static partial class Bindings + { +#if EOS_DYNAMIC_BINDINGS_MANGLING_STANDARD + private const string EOS_Achievements_AddNotifyAchievementsUnlockedName = "EOS_Achievements_AddNotifyAchievementsUnlocked"; + private const string EOS_Achievements_AddNotifyAchievementsUnlockedV2Name = "EOS_Achievements_AddNotifyAchievementsUnlockedV2"; + private const string EOS_Achievements_CopyAchievementDefinitionByAchievementIdName = "EOS_Achievements_CopyAchievementDefinitionByAchievementId"; + private const string EOS_Achievements_CopyAchievementDefinitionByIndexName = "EOS_Achievements_CopyAchievementDefinitionByIndex"; + private const string EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdName = "EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId"; + private const string EOS_Achievements_CopyAchievementDefinitionV2ByIndexName = "EOS_Achievements_CopyAchievementDefinitionV2ByIndex"; + private const string EOS_Achievements_CopyPlayerAchievementByAchievementIdName = "EOS_Achievements_CopyPlayerAchievementByAchievementId"; + private const string EOS_Achievements_CopyPlayerAchievementByIndexName = "EOS_Achievements_CopyPlayerAchievementByIndex"; + private const string EOS_Achievements_CopyUnlockedAchievementByAchievementIdName = "EOS_Achievements_CopyUnlockedAchievementByAchievementId"; + private const string EOS_Achievements_CopyUnlockedAchievementByIndexName = "EOS_Achievements_CopyUnlockedAchievementByIndex"; + private const string EOS_Achievements_DefinitionV2_ReleaseName = "EOS_Achievements_DefinitionV2_Release"; + private const string EOS_Achievements_Definition_ReleaseName = "EOS_Achievements_Definition_Release"; + private const string EOS_Achievements_GetAchievementDefinitionCountName = "EOS_Achievements_GetAchievementDefinitionCount"; + private const string EOS_Achievements_GetPlayerAchievementCountName = "EOS_Achievements_GetPlayerAchievementCount"; + private const string EOS_Achievements_GetUnlockedAchievementCountName = "EOS_Achievements_GetUnlockedAchievementCount"; + private const string EOS_Achievements_PlayerAchievement_ReleaseName = "EOS_Achievements_PlayerAchievement_Release"; + private const string EOS_Achievements_QueryDefinitionsName = "EOS_Achievements_QueryDefinitions"; + private const string EOS_Achievements_QueryPlayerAchievementsName = "EOS_Achievements_QueryPlayerAchievements"; + private const string EOS_Achievements_RemoveNotifyAchievementsUnlockedName = "EOS_Achievements_RemoveNotifyAchievementsUnlocked"; + private const string EOS_Achievements_UnlockAchievementsName = "EOS_Achievements_UnlockAchievements"; + private const string EOS_Achievements_UnlockedAchievement_ReleaseName = "EOS_Achievements_UnlockedAchievement_Release"; + private const string EOS_ActiveSession_CopyInfoName = "EOS_ActiveSession_CopyInfo"; + private const string EOS_ActiveSession_GetRegisteredPlayerByIndexName = "EOS_ActiveSession_GetRegisteredPlayerByIndex"; + private const string EOS_ActiveSession_GetRegisteredPlayerCountName = "EOS_ActiveSession_GetRegisteredPlayerCount"; + private const string EOS_ActiveSession_Info_ReleaseName = "EOS_ActiveSession_Info_Release"; + private const string EOS_ActiveSession_ReleaseName = "EOS_ActiveSession_Release"; + private const string EOS_AntiCheatClient_AddExternalIntegrityCatalogName = "EOS_AntiCheatClient_AddExternalIntegrityCatalog"; + private const string EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedName = "EOS_AntiCheatClient_AddNotifyClientIntegrityViolated"; + private const string EOS_AntiCheatClient_AddNotifyMessageToPeerName = "EOS_AntiCheatClient_AddNotifyMessageToPeer"; + private const string EOS_AntiCheatClient_AddNotifyMessageToServerName = "EOS_AntiCheatClient_AddNotifyMessageToServer"; + private const string EOS_AntiCheatClient_AddNotifyPeerActionRequiredName = "EOS_AntiCheatClient_AddNotifyPeerActionRequired"; + private const string EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedName = "EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged"; + private const string EOS_AntiCheatClient_BeginSessionName = "EOS_AntiCheatClient_BeginSession"; + private const string EOS_AntiCheatClient_EndSessionName = "EOS_AntiCheatClient_EndSession"; + private const string EOS_AntiCheatClient_GetModuleBuildIdName = "EOS_AntiCheatClient_GetModuleBuildId"; + private const string EOS_AntiCheatClient_GetProtectMessageOutputLengthName = "EOS_AntiCheatClient_GetProtectMessageOutputLength"; + private const string EOS_AntiCheatClient_PollStatusName = "EOS_AntiCheatClient_PollStatus"; + private const string EOS_AntiCheatClient_ProtectMessageName = "EOS_AntiCheatClient_ProtectMessage"; + private const string EOS_AntiCheatClient_ReceiveMessageFromPeerName = "EOS_AntiCheatClient_ReceiveMessageFromPeer"; + private const string EOS_AntiCheatClient_ReceiveMessageFromServerName = "EOS_AntiCheatClient_ReceiveMessageFromServer"; + private const string EOS_AntiCheatClient_RegisterPeerName = "EOS_AntiCheatClient_RegisterPeer"; + private const string EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedName = "EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated"; + private const string EOS_AntiCheatClient_RemoveNotifyMessageToPeerName = "EOS_AntiCheatClient_RemoveNotifyMessageToPeer"; + private const string EOS_AntiCheatClient_RemoveNotifyMessageToServerName = "EOS_AntiCheatClient_RemoveNotifyMessageToServer"; + private const string EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredName = "EOS_AntiCheatClient_RemoveNotifyPeerActionRequired"; + private const string EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedName = "EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged"; + private const string EOS_AntiCheatClient_Reserved01Name = "EOS_AntiCheatClient_Reserved01"; + private const string EOS_AntiCheatClient_Reserved02Name = "EOS_AntiCheatClient_Reserved02"; + private const string EOS_AntiCheatClient_UnprotectMessageName = "EOS_AntiCheatClient_UnprotectMessage"; + private const string EOS_AntiCheatClient_UnregisterPeerName = "EOS_AntiCheatClient_UnregisterPeer"; + private const string EOS_AntiCheatServer_AddNotifyClientActionRequiredName = "EOS_AntiCheatServer_AddNotifyClientActionRequired"; + private const string EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedName = "EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged"; + private const string EOS_AntiCheatServer_AddNotifyMessageToClientName = "EOS_AntiCheatServer_AddNotifyMessageToClient"; + private const string EOS_AntiCheatServer_BeginSessionName = "EOS_AntiCheatServer_BeginSession"; + private const string EOS_AntiCheatServer_EndSessionName = "EOS_AntiCheatServer_EndSession"; + private const string EOS_AntiCheatServer_GetProtectMessageOutputLengthName = "EOS_AntiCheatServer_GetProtectMessageOutputLength"; + private const string EOS_AntiCheatServer_LogEventName = "EOS_AntiCheatServer_LogEvent"; + private const string EOS_AntiCheatServer_LogGameRoundEndName = "EOS_AntiCheatServer_LogGameRoundEnd"; + private const string EOS_AntiCheatServer_LogGameRoundStartName = "EOS_AntiCheatServer_LogGameRoundStart"; + private const string EOS_AntiCheatServer_LogPlayerDespawnName = "EOS_AntiCheatServer_LogPlayerDespawn"; + private const string EOS_AntiCheatServer_LogPlayerReviveName = "EOS_AntiCheatServer_LogPlayerRevive"; + private const string EOS_AntiCheatServer_LogPlayerSpawnName = "EOS_AntiCheatServer_LogPlayerSpawn"; + private const string EOS_AntiCheatServer_LogPlayerTakeDamageName = "EOS_AntiCheatServer_LogPlayerTakeDamage"; + private const string EOS_AntiCheatServer_LogPlayerTickName = "EOS_AntiCheatServer_LogPlayerTick"; + private const string EOS_AntiCheatServer_LogPlayerUseAbilityName = "EOS_AntiCheatServer_LogPlayerUseAbility"; + private const string EOS_AntiCheatServer_LogPlayerUseWeaponName = "EOS_AntiCheatServer_LogPlayerUseWeapon"; + private const string EOS_AntiCheatServer_ProtectMessageName = "EOS_AntiCheatServer_ProtectMessage"; + private const string EOS_AntiCheatServer_ReceiveMessageFromClientName = "EOS_AntiCheatServer_ReceiveMessageFromClient"; + private const string EOS_AntiCheatServer_RegisterClientName = "EOS_AntiCheatServer_RegisterClient"; + private const string EOS_AntiCheatServer_RegisterEventName = "EOS_AntiCheatServer_RegisterEvent"; + private const string EOS_AntiCheatServer_RemoveNotifyClientActionRequiredName = "EOS_AntiCheatServer_RemoveNotifyClientActionRequired"; + private const string EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedName = "EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged"; + private const string EOS_AntiCheatServer_RemoveNotifyMessageToClientName = "EOS_AntiCheatServer_RemoveNotifyMessageToClient"; + private const string EOS_AntiCheatServer_SetClientDetailsName = "EOS_AntiCheatServer_SetClientDetails"; + private const string EOS_AntiCheatServer_SetClientNetworkStateName = "EOS_AntiCheatServer_SetClientNetworkState"; + private const string EOS_AntiCheatServer_SetGameSessionIdName = "EOS_AntiCheatServer_SetGameSessionId"; + private const string EOS_AntiCheatServer_UnprotectMessageName = "EOS_AntiCheatServer_UnprotectMessage"; + private const string EOS_AntiCheatServer_UnregisterClientName = "EOS_AntiCheatServer_UnregisterClient"; + private const string EOS_Auth_AddNotifyLoginStatusChangedName = "EOS_Auth_AddNotifyLoginStatusChanged"; + private const string EOS_Auth_CopyIdTokenName = "EOS_Auth_CopyIdToken"; + private const string EOS_Auth_CopyUserAuthTokenName = "EOS_Auth_CopyUserAuthToken"; + private const string EOS_Auth_DeletePersistentAuthName = "EOS_Auth_DeletePersistentAuth"; + private const string EOS_Auth_GetLoggedInAccountByIndexName = "EOS_Auth_GetLoggedInAccountByIndex"; + private const string EOS_Auth_GetLoggedInAccountsCountName = "EOS_Auth_GetLoggedInAccountsCount"; + private const string EOS_Auth_GetLoginStatusName = "EOS_Auth_GetLoginStatus"; + private const string EOS_Auth_GetMergedAccountByIndexName = "EOS_Auth_GetMergedAccountByIndex"; + private const string EOS_Auth_GetMergedAccountsCountName = "EOS_Auth_GetMergedAccountsCount"; + private const string EOS_Auth_GetSelectedAccountIdName = "EOS_Auth_GetSelectedAccountId"; + private const string EOS_Auth_IdToken_ReleaseName = "EOS_Auth_IdToken_Release"; + private const string EOS_Auth_LinkAccountName = "EOS_Auth_LinkAccount"; + private const string EOS_Auth_LoginName = "EOS_Auth_Login"; + private const string EOS_Auth_LogoutName = "EOS_Auth_Logout"; + private const string EOS_Auth_QueryIdTokenName = "EOS_Auth_QueryIdToken"; + private const string EOS_Auth_RemoveNotifyLoginStatusChangedName = "EOS_Auth_RemoveNotifyLoginStatusChanged"; + private const string EOS_Auth_Token_ReleaseName = "EOS_Auth_Token_Release"; + private const string EOS_Auth_VerifyIdTokenName = "EOS_Auth_VerifyIdToken"; + private const string EOS_Auth_VerifyUserAuthName = "EOS_Auth_VerifyUserAuth"; + private const string EOS_ByteArray_ToStringName = "EOS_ByteArray_ToString"; + private const string EOS_Connect_AddNotifyAuthExpirationName = "EOS_Connect_AddNotifyAuthExpiration"; + private const string EOS_Connect_AddNotifyLoginStatusChangedName = "EOS_Connect_AddNotifyLoginStatusChanged"; + private const string EOS_Connect_CopyIdTokenName = "EOS_Connect_CopyIdToken"; + private const string EOS_Connect_CopyProductUserExternalAccountByAccountIdName = "EOS_Connect_CopyProductUserExternalAccountByAccountId"; + private const string EOS_Connect_CopyProductUserExternalAccountByAccountTypeName = "EOS_Connect_CopyProductUserExternalAccountByAccountType"; + private const string EOS_Connect_CopyProductUserExternalAccountByIndexName = "EOS_Connect_CopyProductUserExternalAccountByIndex"; + private const string EOS_Connect_CopyProductUserInfoName = "EOS_Connect_CopyProductUserInfo"; + private const string EOS_Connect_CreateDeviceIdName = "EOS_Connect_CreateDeviceId"; + private const string EOS_Connect_CreateUserName = "EOS_Connect_CreateUser"; + private const string EOS_Connect_DeleteDeviceIdName = "EOS_Connect_DeleteDeviceId"; + private const string EOS_Connect_ExternalAccountInfo_ReleaseName = "EOS_Connect_ExternalAccountInfo_Release"; + private const string EOS_Connect_GetExternalAccountMappingName = "EOS_Connect_GetExternalAccountMapping"; + private const string EOS_Connect_GetLoggedInUserByIndexName = "EOS_Connect_GetLoggedInUserByIndex"; + private const string EOS_Connect_GetLoggedInUsersCountName = "EOS_Connect_GetLoggedInUsersCount"; + private const string EOS_Connect_GetLoginStatusName = "EOS_Connect_GetLoginStatus"; + private const string EOS_Connect_GetProductUserExternalAccountCountName = "EOS_Connect_GetProductUserExternalAccountCount"; + private const string EOS_Connect_GetProductUserIdMappingName = "EOS_Connect_GetProductUserIdMapping"; + private const string EOS_Connect_IdToken_ReleaseName = "EOS_Connect_IdToken_Release"; + private const string EOS_Connect_LinkAccountName = "EOS_Connect_LinkAccount"; + private const string EOS_Connect_LoginName = "EOS_Connect_Login"; + private const string EOS_Connect_LogoutName = "EOS_Connect_Logout"; + private const string EOS_Connect_QueryExternalAccountMappingsName = "EOS_Connect_QueryExternalAccountMappings"; + private const string EOS_Connect_QueryProductUserIdMappingsName = "EOS_Connect_QueryProductUserIdMappings"; + private const string EOS_Connect_RemoveNotifyAuthExpirationName = "EOS_Connect_RemoveNotifyAuthExpiration"; + private const string EOS_Connect_RemoveNotifyLoginStatusChangedName = "EOS_Connect_RemoveNotifyLoginStatusChanged"; + private const string EOS_Connect_TransferDeviceIdAccountName = "EOS_Connect_TransferDeviceIdAccount"; + private const string EOS_Connect_UnlinkAccountName = "EOS_Connect_UnlinkAccount"; + private const string EOS_Connect_VerifyIdTokenName = "EOS_Connect_VerifyIdToken"; + private const string EOS_ContinuanceToken_ToStringName = "EOS_ContinuanceToken_ToString"; + private const string EOS_CustomInvites_AcceptRequestToJoinName = "EOS_CustomInvites_AcceptRequestToJoin"; + private const string EOS_CustomInvites_AddNotifyCustomInviteAcceptedName = "EOS_CustomInvites_AddNotifyCustomInviteAccepted"; + private const string EOS_CustomInvites_AddNotifyCustomInviteReceivedName = "EOS_CustomInvites_AddNotifyCustomInviteReceived"; + private const string EOS_CustomInvites_AddNotifyCustomInviteRejectedName = "EOS_CustomInvites_AddNotifyCustomInviteRejected"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinAcceptedName = "EOS_CustomInvites_AddNotifyRequestToJoinAccepted"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinReceivedName = "EOS_CustomInvites_AddNotifyRequestToJoinReceived"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinRejectedName = "EOS_CustomInvites_AddNotifyRequestToJoinRejected"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedName = "EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived"; + private const string EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedName = "EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested"; + private const string EOS_CustomInvites_FinalizeInviteName = "EOS_CustomInvites_FinalizeInvite"; + private const string EOS_CustomInvites_RejectRequestToJoinName = "EOS_CustomInvites_RejectRequestToJoin"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedName = "EOS_CustomInvites_RemoveNotifyCustomInviteAccepted"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteReceivedName = "EOS_CustomInvites_RemoveNotifyCustomInviteReceived"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteRejectedName = "EOS_CustomInvites_RemoveNotifyCustomInviteRejected"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedName = "EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedName = "EOS_CustomInvites_RemoveNotifyRequestToJoinReceived"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedName = "EOS_CustomInvites_RemoveNotifyRequestToJoinRejected"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedName = "EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived"; + private const string EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedName = "EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested"; + private const string EOS_CustomInvites_SendCustomInviteName = "EOS_CustomInvites_SendCustomInvite"; + private const string EOS_CustomInvites_SendRequestToJoinName = "EOS_CustomInvites_SendRequestToJoin"; + private const string EOS_CustomInvites_SetCustomInviteName = "EOS_CustomInvites_SetCustomInvite"; + private const string EOS_EApplicationStatus_ToStringName = "EOS_EApplicationStatus_ToString"; + private const string EOS_ENetworkStatus_ToStringName = "EOS_ENetworkStatus_ToString"; + private const string EOS_EResult_IsOperationCompleteName = "EOS_EResult_IsOperationComplete"; + private const string EOS_EResult_ToStringName = "EOS_EResult_ToString"; + private const string EOS_Ecom_CatalogItem_ReleaseName = "EOS_Ecom_CatalogItem_Release"; + private const string EOS_Ecom_CatalogOffer_ReleaseName = "EOS_Ecom_CatalogOffer_Release"; + private const string EOS_Ecom_CatalogRelease_ReleaseName = "EOS_Ecom_CatalogRelease_Release"; + private const string EOS_Ecom_CheckoutName = "EOS_Ecom_Checkout"; + private const string EOS_Ecom_CopyEntitlementByIdName = "EOS_Ecom_CopyEntitlementById"; + private const string EOS_Ecom_CopyEntitlementByIndexName = "EOS_Ecom_CopyEntitlementByIndex"; + private const string EOS_Ecom_CopyEntitlementByNameAndIndexName = "EOS_Ecom_CopyEntitlementByNameAndIndex"; + private const string EOS_Ecom_CopyItemByIdName = "EOS_Ecom_CopyItemById"; + private const string EOS_Ecom_CopyItemImageInfoByIndexName = "EOS_Ecom_CopyItemImageInfoByIndex"; + private const string EOS_Ecom_CopyItemReleaseByIndexName = "EOS_Ecom_CopyItemReleaseByIndex"; + private const string EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexName = "EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex"; + private const string EOS_Ecom_CopyLastRedeemedEntitlementByIndexName = "EOS_Ecom_CopyLastRedeemedEntitlementByIndex"; + private const string EOS_Ecom_CopyOfferByIdName = "EOS_Ecom_CopyOfferById"; + private const string EOS_Ecom_CopyOfferByIndexName = "EOS_Ecom_CopyOfferByIndex"; + private const string EOS_Ecom_CopyOfferImageInfoByIndexName = "EOS_Ecom_CopyOfferImageInfoByIndex"; + private const string EOS_Ecom_CopyOfferItemByIndexName = "EOS_Ecom_CopyOfferItemByIndex"; + private const string EOS_Ecom_CopyTransactionByIdName = "EOS_Ecom_CopyTransactionById"; + private const string EOS_Ecom_CopyTransactionByIndexName = "EOS_Ecom_CopyTransactionByIndex"; + private const string EOS_Ecom_Entitlement_ReleaseName = "EOS_Ecom_Entitlement_Release"; + private const string EOS_Ecom_GetEntitlementsByNameCountName = "EOS_Ecom_GetEntitlementsByNameCount"; + private const string EOS_Ecom_GetEntitlementsCountName = "EOS_Ecom_GetEntitlementsCount"; + private const string EOS_Ecom_GetItemImageInfoCountName = "EOS_Ecom_GetItemImageInfoCount"; + private const string EOS_Ecom_GetItemReleaseCountName = "EOS_Ecom_GetItemReleaseCount"; + private const string EOS_Ecom_GetLastRedeemEntitlementsResultCountName = "EOS_Ecom_GetLastRedeemEntitlementsResultCount"; + private const string EOS_Ecom_GetLastRedeemedEntitlementsCountName = "EOS_Ecom_GetLastRedeemedEntitlementsCount"; + private const string EOS_Ecom_GetOfferCountName = "EOS_Ecom_GetOfferCount"; + private const string EOS_Ecom_GetOfferImageInfoCountName = "EOS_Ecom_GetOfferImageInfoCount"; + private const string EOS_Ecom_GetOfferItemCountName = "EOS_Ecom_GetOfferItemCount"; + private const string EOS_Ecom_GetTransactionCountName = "EOS_Ecom_GetTransactionCount"; + private const string EOS_Ecom_KeyImageInfo_ReleaseName = "EOS_Ecom_KeyImageInfo_Release"; + private const string EOS_Ecom_QueryEntitlementTokenName = "EOS_Ecom_QueryEntitlementToken"; + private const string EOS_Ecom_QueryEntitlementsName = "EOS_Ecom_QueryEntitlements"; + private const string EOS_Ecom_QueryOffersName = "EOS_Ecom_QueryOffers"; + private const string EOS_Ecom_QueryOwnershipName = "EOS_Ecom_QueryOwnership"; + private const string EOS_Ecom_QueryOwnershipBySandboxIdsName = "EOS_Ecom_QueryOwnershipBySandboxIds"; + private const string EOS_Ecom_QueryOwnershipTokenName = "EOS_Ecom_QueryOwnershipToken"; + private const string EOS_Ecom_RedeemEntitlementsName = "EOS_Ecom_RedeemEntitlements"; + private const string EOS_Ecom_Transaction_CopyEntitlementByIndexName = "EOS_Ecom_Transaction_CopyEntitlementByIndex"; + private const string EOS_Ecom_Transaction_GetEntitlementsCountName = "EOS_Ecom_Transaction_GetEntitlementsCount"; + private const string EOS_Ecom_Transaction_GetTransactionIdName = "EOS_Ecom_Transaction_GetTransactionId"; + private const string EOS_Ecom_Transaction_ReleaseName = "EOS_Ecom_Transaction_Release"; + private const string EOS_EpicAccountId_FromStringName = "EOS_EpicAccountId_FromString"; + private const string EOS_EpicAccountId_IsValidName = "EOS_EpicAccountId_IsValid"; + private const string EOS_EpicAccountId_ToStringName = "EOS_EpicAccountId_ToString"; + private const string EOS_Friends_AcceptInviteName = "EOS_Friends_AcceptInvite"; + private const string EOS_Friends_AddNotifyBlockedUsersUpdateName = "EOS_Friends_AddNotifyBlockedUsersUpdate"; + private const string EOS_Friends_AddNotifyFriendsUpdateName = "EOS_Friends_AddNotifyFriendsUpdate"; + private const string EOS_Friends_GetBlockedUserAtIndexName = "EOS_Friends_GetBlockedUserAtIndex"; + private const string EOS_Friends_GetBlockedUsersCountName = "EOS_Friends_GetBlockedUsersCount"; + private const string EOS_Friends_GetFriendAtIndexName = "EOS_Friends_GetFriendAtIndex"; + private const string EOS_Friends_GetFriendsCountName = "EOS_Friends_GetFriendsCount"; + private const string EOS_Friends_GetStatusName = "EOS_Friends_GetStatus"; + private const string EOS_Friends_QueryFriendsName = "EOS_Friends_QueryFriends"; + private const string EOS_Friends_RejectInviteName = "EOS_Friends_RejectInvite"; + private const string EOS_Friends_RemoveNotifyBlockedUsersUpdateName = "EOS_Friends_RemoveNotifyBlockedUsersUpdate"; + private const string EOS_Friends_RemoveNotifyFriendsUpdateName = "EOS_Friends_RemoveNotifyFriendsUpdate"; + private const string EOS_Friends_SendInviteName = "EOS_Friends_SendInvite"; + private const string EOS_GetVersionName = "EOS_GetVersion"; + private const string EOS_InitializeName = "EOS_Initialize"; + private const string EOS_IntegratedPlatformOptionsContainer_AddName = "EOS_IntegratedPlatformOptionsContainer_Add"; + private const string EOS_IntegratedPlatformOptionsContainer_ReleaseName = "EOS_IntegratedPlatformOptionsContainer_Release"; + private const string EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedName = "EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged"; + private const string EOS_IntegratedPlatform_ClearUserPreLogoutCallbackName = "EOS_IntegratedPlatform_ClearUserPreLogoutCallback"; + private const string EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerName = "EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer"; + private const string EOS_IntegratedPlatform_FinalizeDeferredUserLogoutName = "EOS_IntegratedPlatform_FinalizeDeferredUserLogout"; + private const string EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedName = "EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged"; + private const string EOS_IntegratedPlatform_SetUserLoginStatusName = "EOS_IntegratedPlatform_SetUserLoginStatus"; + private const string EOS_IntegratedPlatform_SetUserPreLogoutCallbackName = "EOS_IntegratedPlatform_SetUserPreLogoutCallback"; + private const string EOS_KWS_AddNotifyPermissionsUpdateReceivedName = "EOS_KWS_AddNotifyPermissionsUpdateReceived"; + private const string EOS_KWS_CopyPermissionByIndexName = "EOS_KWS_CopyPermissionByIndex"; + private const string EOS_KWS_CreateUserName = "EOS_KWS_CreateUser"; + private const string EOS_KWS_GetPermissionByKeyName = "EOS_KWS_GetPermissionByKey"; + private const string EOS_KWS_GetPermissionsCountName = "EOS_KWS_GetPermissionsCount"; + private const string EOS_KWS_PermissionStatus_ReleaseName = "EOS_KWS_PermissionStatus_Release"; + private const string EOS_KWS_QueryAgeGateName = "EOS_KWS_QueryAgeGate"; + private const string EOS_KWS_QueryPermissionsName = "EOS_KWS_QueryPermissions"; + private const string EOS_KWS_RemoveNotifyPermissionsUpdateReceivedName = "EOS_KWS_RemoveNotifyPermissionsUpdateReceived"; + private const string EOS_KWS_RequestPermissionsName = "EOS_KWS_RequestPermissions"; + private const string EOS_KWS_UpdateParentEmailName = "EOS_KWS_UpdateParentEmail"; + private const string EOS_Leaderboards_CopyLeaderboardDefinitionByIndexName = "EOS_Leaderboards_CopyLeaderboardDefinitionByIndex"; + private const string EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdName = "EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId"; + private const string EOS_Leaderboards_CopyLeaderboardRecordByIndexName = "EOS_Leaderboards_CopyLeaderboardRecordByIndex"; + private const string EOS_Leaderboards_CopyLeaderboardRecordByUserIdName = "EOS_Leaderboards_CopyLeaderboardRecordByUserId"; + private const string EOS_Leaderboards_CopyLeaderboardUserScoreByIndexName = "EOS_Leaderboards_CopyLeaderboardUserScoreByIndex"; + private const string EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdName = "EOS_Leaderboards_CopyLeaderboardUserScoreByUserId"; + private const string EOS_Leaderboards_Definition_ReleaseName = "EOS_Leaderboards_Definition_Release"; + private const string EOS_Leaderboards_GetLeaderboardDefinitionCountName = "EOS_Leaderboards_GetLeaderboardDefinitionCount"; + private const string EOS_Leaderboards_GetLeaderboardRecordCountName = "EOS_Leaderboards_GetLeaderboardRecordCount"; + private const string EOS_Leaderboards_GetLeaderboardUserScoreCountName = "EOS_Leaderboards_GetLeaderboardUserScoreCount"; + private const string EOS_Leaderboards_LeaderboardRecord_ReleaseName = "EOS_Leaderboards_LeaderboardRecord_Release"; + private const string EOS_Leaderboards_LeaderboardUserScore_ReleaseName = "EOS_Leaderboards_LeaderboardUserScore_Release"; + private const string EOS_Leaderboards_QueryLeaderboardDefinitionsName = "EOS_Leaderboards_QueryLeaderboardDefinitions"; + private const string EOS_Leaderboards_QueryLeaderboardRanksName = "EOS_Leaderboards_QueryLeaderboardRanks"; + private const string EOS_Leaderboards_QueryLeaderboardUserScoresName = "EOS_Leaderboards_QueryLeaderboardUserScores"; + private const string EOS_LobbyDetails_CopyAttributeByIndexName = "EOS_LobbyDetails_CopyAttributeByIndex"; + private const string EOS_LobbyDetails_CopyAttributeByKeyName = "EOS_LobbyDetails_CopyAttributeByKey"; + private const string EOS_LobbyDetails_CopyInfoName = "EOS_LobbyDetails_CopyInfo"; + private const string EOS_LobbyDetails_CopyMemberAttributeByIndexName = "EOS_LobbyDetails_CopyMemberAttributeByIndex"; + private const string EOS_LobbyDetails_CopyMemberAttributeByKeyName = "EOS_LobbyDetails_CopyMemberAttributeByKey"; + private const string EOS_LobbyDetails_CopyMemberInfoName = "EOS_LobbyDetails_CopyMemberInfo"; + private const string EOS_LobbyDetails_GetAttributeCountName = "EOS_LobbyDetails_GetAttributeCount"; + private const string EOS_LobbyDetails_GetLobbyOwnerName = "EOS_LobbyDetails_GetLobbyOwner"; + private const string EOS_LobbyDetails_GetMemberAttributeCountName = "EOS_LobbyDetails_GetMemberAttributeCount"; + private const string EOS_LobbyDetails_GetMemberByIndexName = "EOS_LobbyDetails_GetMemberByIndex"; + private const string EOS_LobbyDetails_GetMemberCountName = "EOS_LobbyDetails_GetMemberCount"; + private const string EOS_LobbyDetails_Info_ReleaseName = "EOS_LobbyDetails_Info_Release"; + private const string EOS_LobbyDetails_MemberInfo_ReleaseName = "EOS_LobbyDetails_MemberInfo_Release"; + private const string EOS_LobbyDetails_ReleaseName = "EOS_LobbyDetails_Release"; + private const string EOS_LobbyModification_AddAttributeName = "EOS_LobbyModification_AddAttribute"; + private const string EOS_LobbyModification_AddMemberAttributeName = "EOS_LobbyModification_AddMemberAttribute"; + private const string EOS_LobbyModification_ReleaseName = "EOS_LobbyModification_Release"; + private const string EOS_LobbyModification_RemoveAttributeName = "EOS_LobbyModification_RemoveAttribute"; + private const string EOS_LobbyModification_RemoveMemberAttributeName = "EOS_LobbyModification_RemoveMemberAttribute"; + private const string EOS_LobbyModification_SetAllowedPlatformIdsName = "EOS_LobbyModification_SetAllowedPlatformIds"; + private const string EOS_LobbyModification_SetBucketIdName = "EOS_LobbyModification_SetBucketId"; + private const string EOS_LobbyModification_SetInvitesAllowedName = "EOS_LobbyModification_SetInvitesAllowed"; + private const string EOS_LobbyModification_SetMaxMembersName = "EOS_LobbyModification_SetMaxMembers"; + private const string EOS_LobbyModification_SetPermissionLevelName = "EOS_LobbyModification_SetPermissionLevel"; + private const string EOS_LobbySearch_CopySearchResultByIndexName = "EOS_LobbySearch_CopySearchResultByIndex"; + private const string EOS_LobbySearch_FindName = "EOS_LobbySearch_Find"; + private const string EOS_LobbySearch_GetSearchResultCountName = "EOS_LobbySearch_GetSearchResultCount"; + private const string EOS_LobbySearch_ReleaseName = "EOS_LobbySearch_Release"; + private const string EOS_LobbySearch_RemoveParameterName = "EOS_LobbySearch_RemoveParameter"; + private const string EOS_LobbySearch_SetLobbyIdName = "EOS_LobbySearch_SetLobbyId"; + private const string EOS_LobbySearch_SetMaxResultsName = "EOS_LobbySearch_SetMaxResults"; + private const string EOS_LobbySearch_SetParameterName = "EOS_LobbySearch_SetParameter"; + private const string EOS_LobbySearch_SetTargetUserIdName = "EOS_LobbySearch_SetTargetUserId"; + private const string EOS_Lobby_AddNotifyJoinLobbyAcceptedName = "EOS_Lobby_AddNotifyJoinLobbyAccepted"; + private const string EOS_Lobby_AddNotifyLeaveLobbyRequestedName = "EOS_Lobby_AddNotifyLeaveLobbyRequested"; + private const string EOS_Lobby_AddNotifyLobbyInviteAcceptedName = "EOS_Lobby_AddNotifyLobbyInviteAccepted"; + private const string EOS_Lobby_AddNotifyLobbyInviteReceivedName = "EOS_Lobby_AddNotifyLobbyInviteReceived"; + private const string EOS_Lobby_AddNotifyLobbyInviteRejectedName = "EOS_Lobby_AddNotifyLobbyInviteRejected"; + private const string EOS_Lobby_AddNotifyLobbyMemberStatusReceivedName = "EOS_Lobby_AddNotifyLobbyMemberStatusReceived"; + private const string EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedName = "EOS_Lobby_AddNotifyLobbyMemberUpdateReceived"; + private const string EOS_Lobby_AddNotifyLobbyUpdateReceivedName = "EOS_Lobby_AddNotifyLobbyUpdateReceived"; + private const string EOS_Lobby_AddNotifyRTCRoomConnectionChangedName = "EOS_Lobby_AddNotifyRTCRoomConnectionChanged"; + private const string EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedName = "EOS_Lobby_AddNotifySendLobbyNativeInviteRequested"; + private const string EOS_Lobby_Attribute_ReleaseName = "EOS_Lobby_Attribute_Release"; + private const string EOS_Lobby_CopyLobbyDetailsHandleName = "EOS_Lobby_CopyLobbyDetailsHandle"; + private const string EOS_Lobby_CopyLobbyDetailsHandleByInviteIdName = "EOS_Lobby_CopyLobbyDetailsHandleByInviteId"; + private const string EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdName = "EOS_Lobby_CopyLobbyDetailsHandleByUiEventId"; + private const string EOS_Lobby_CreateLobbyName = "EOS_Lobby_CreateLobby"; + private const string EOS_Lobby_CreateLobbySearchName = "EOS_Lobby_CreateLobbySearch"; + private const string EOS_Lobby_DestroyLobbyName = "EOS_Lobby_DestroyLobby"; + private const string EOS_Lobby_GetConnectStringName = "EOS_Lobby_GetConnectString"; + private const string EOS_Lobby_GetInviteCountName = "EOS_Lobby_GetInviteCount"; + private const string EOS_Lobby_GetInviteIdByIndexName = "EOS_Lobby_GetInviteIdByIndex"; + private const string EOS_Lobby_GetRTCRoomNameName = "EOS_Lobby_GetRTCRoomName"; + private const string EOS_Lobby_HardMuteMemberName = "EOS_Lobby_HardMuteMember"; + private const string EOS_Lobby_IsRTCRoomConnectedName = "EOS_Lobby_IsRTCRoomConnected"; + private const string EOS_Lobby_JoinLobbyName = "EOS_Lobby_JoinLobby"; + private const string EOS_Lobby_JoinLobbyByIdName = "EOS_Lobby_JoinLobbyById"; + private const string EOS_Lobby_JoinRTCRoomName = "EOS_Lobby_JoinRTCRoom"; + private const string EOS_Lobby_KickMemberName = "EOS_Lobby_KickMember"; + private const string EOS_Lobby_LeaveLobbyName = "EOS_Lobby_LeaveLobby"; + private const string EOS_Lobby_LeaveRTCRoomName = "EOS_Lobby_LeaveRTCRoom"; + private const string EOS_Lobby_ParseConnectStringName = "EOS_Lobby_ParseConnectString"; + private const string EOS_Lobby_PromoteMemberName = "EOS_Lobby_PromoteMember"; + private const string EOS_Lobby_QueryInvitesName = "EOS_Lobby_QueryInvites"; + private const string EOS_Lobby_RejectInviteName = "EOS_Lobby_RejectInvite"; + private const string EOS_Lobby_RemoveNotifyJoinLobbyAcceptedName = "EOS_Lobby_RemoveNotifyJoinLobbyAccepted"; + private const string EOS_Lobby_RemoveNotifyLeaveLobbyRequestedName = "EOS_Lobby_RemoveNotifyLeaveLobbyRequested"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteAcceptedName = "EOS_Lobby_RemoveNotifyLobbyInviteAccepted"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteReceivedName = "EOS_Lobby_RemoveNotifyLobbyInviteReceived"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteRejectedName = "EOS_Lobby_RemoveNotifyLobbyInviteRejected"; + private const string EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedName = "EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived"; + private const string EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedName = "EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived"; + private const string EOS_Lobby_RemoveNotifyLobbyUpdateReceivedName = "EOS_Lobby_RemoveNotifyLobbyUpdateReceived"; + private const string EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedName = "EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged"; + private const string EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedName = "EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested"; + private const string EOS_Lobby_SendInviteName = "EOS_Lobby_SendInvite"; + private const string EOS_Lobby_UpdateLobbyName = "EOS_Lobby_UpdateLobby"; + private const string EOS_Lobby_UpdateLobbyModificationName = "EOS_Lobby_UpdateLobbyModification"; + private const string EOS_Logging_SetCallbackName = "EOS_Logging_SetCallback"; + private const string EOS_Logging_SetLogLevelName = "EOS_Logging_SetLogLevel"; + private const string EOS_Metrics_BeginPlayerSessionName = "EOS_Metrics_BeginPlayerSession"; + private const string EOS_Metrics_EndPlayerSessionName = "EOS_Metrics_EndPlayerSession"; + private const string EOS_Mods_CopyModInfoName = "EOS_Mods_CopyModInfo"; + private const string EOS_Mods_EnumerateModsName = "EOS_Mods_EnumerateMods"; + private const string EOS_Mods_InstallModName = "EOS_Mods_InstallMod"; + private const string EOS_Mods_ModInfo_ReleaseName = "EOS_Mods_ModInfo_Release"; + private const string EOS_Mods_UninstallModName = "EOS_Mods_UninstallMod"; + private const string EOS_Mods_UpdateModName = "EOS_Mods_UpdateMod"; + private const string EOS_P2P_AcceptConnectionName = "EOS_P2P_AcceptConnection"; + private const string EOS_P2P_AddNotifyIncomingPacketQueueFullName = "EOS_P2P_AddNotifyIncomingPacketQueueFull"; + private const string EOS_P2P_AddNotifyPeerConnectionClosedName = "EOS_P2P_AddNotifyPeerConnectionClosed"; + private const string EOS_P2P_AddNotifyPeerConnectionEstablishedName = "EOS_P2P_AddNotifyPeerConnectionEstablished"; + private const string EOS_P2P_AddNotifyPeerConnectionInterruptedName = "EOS_P2P_AddNotifyPeerConnectionInterrupted"; + private const string EOS_P2P_AddNotifyPeerConnectionRequestName = "EOS_P2P_AddNotifyPeerConnectionRequest"; + private const string EOS_P2P_ClearPacketQueueName = "EOS_P2P_ClearPacketQueue"; + private const string EOS_P2P_CloseConnectionName = "EOS_P2P_CloseConnection"; + private const string EOS_P2P_CloseConnectionsName = "EOS_P2P_CloseConnections"; + private const string EOS_P2P_GetNATTypeName = "EOS_P2P_GetNATType"; + private const string EOS_P2P_GetNextReceivedPacketSizeName = "EOS_P2P_GetNextReceivedPacketSize"; + private const string EOS_P2P_GetPacketQueueInfoName = "EOS_P2P_GetPacketQueueInfo"; + private const string EOS_P2P_GetPortRangeName = "EOS_P2P_GetPortRange"; + private const string EOS_P2P_GetRelayControlName = "EOS_P2P_GetRelayControl"; + private const string EOS_P2P_QueryNATTypeName = "EOS_P2P_QueryNATType"; + private const string EOS_P2P_ReceivePacketName = "EOS_P2P_ReceivePacket"; + private const string EOS_P2P_RemoveNotifyIncomingPacketQueueFullName = "EOS_P2P_RemoveNotifyIncomingPacketQueueFull"; + private const string EOS_P2P_RemoveNotifyPeerConnectionClosedName = "EOS_P2P_RemoveNotifyPeerConnectionClosed"; + private const string EOS_P2P_RemoveNotifyPeerConnectionEstablishedName = "EOS_P2P_RemoveNotifyPeerConnectionEstablished"; + private const string EOS_P2P_RemoveNotifyPeerConnectionInterruptedName = "EOS_P2P_RemoveNotifyPeerConnectionInterrupted"; + private const string EOS_P2P_RemoveNotifyPeerConnectionRequestName = "EOS_P2P_RemoveNotifyPeerConnectionRequest"; + private const string EOS_P2P_SendPacketName = "EOS_P2P_SendPacket"; + private const string EOS_P2P_SetPacketQueueSizeName = "EOS_P2P_SetPacketQueueSize"; + private const string EOS_P2P_SetPortRangeName = "EOS_P2P_SetPortRange"; + private const string EOS_P2P_SetRelayControlName = "EOS_P2P_SetRelayControl"; + private const string EOS_Platform_CheckForLauncherAndRestartName = "EOS_Platform_CheckForLauncherAndRestart"; + private const string EOS_Platform_CreateName = "EOS_Platform_Create"; + private const string EOS_Platform_GetAchievementsInterfaceName = "EOS_Platform_GetAchievementsInterface"; + private const string EOS_Platform_GetActiveCountryCodeName = "EOS_Platform_GetActiveCountryCode"; + private const string EOS_Platform_GetActiveLocaleCodeName = "EOS_Platform_GetActiveLocaleCode"; + private const string EOS_Platform_GetAntiCheatClientInterfaceName = "EOS_Platform_GetAntiCheatClientInterface"; + private const string EOS_Platform_GetAntiCheatServerInterfaceName = "EOS_Platform_GetAntiCheatServerInterface"; + private const string EOS_Platform_GetApplicationStatusName = "EOS_Platform_GetApplicationStatus"; + private const string EOS_Platform_GetAuthInterfaceName = "EOS_Platform_GetAuthInterface"; + private const string EOS_Platform_GetConnectInterfaceName = "EOS_Platform_GetConnectInterface"; + private const string EOS_Platform_GetCustomInvitesInterfaceName = "EOS_Platform_GetCustomInvitesInterface"; + private const string EOS_Platform_GetDesktopCrossplayStatusName = "EOS_Platform_GetDesktopCrossplayStatus"; + private const string EOS_Platform_GetEcomInterfaceName = "EOS_Platform_GetEcomInterface"; + private const string EOS_Platform_GetFriendsInterfaceName = "EOS_Platform_GetFriendsInterface"; + private const string EOS_Platform_GetIntegratedPlatformInterfaceName = "EOS_Platform_GetIntegratedPlatformInterface"; + private const string EOS_Platform_GetKWSInterfaceName = "EOS_Platform_GetKWSInterface"; + private const string EOS_Platform_GetLeaderboardsInterfaceName = "EOS_Platform_GetLeaderboardsInterface"; + private const string EOS_Platform_GetLobbyInterfaceName = "EOS_Platform_GetLobbyInterface"; + private const string EOS_Platform_GetMetricsInterfaceName = "EOS_Platform_GetMetricsInterface"; + private const string EOS_Platform_GetModsInterfaceName = "EOS_Platform_GetModsInterface"; + private const string EOS_Platform_GetNetworkStatusName = "EOS_Platform_GetNetworkStatus"; + private const string EOS_Platform_GetOverrideCountryCodeName = "EOS_Platform_GetOverrideCountryCode"; + private const string EOS_Platform_GetOverrideLocaleCodeName = "EOS_Platform_GetOverrideLocaleCode"; + private const string EOS_Platform_GetP2PInterfaceName = "EOS_Platform_GetP2PInterface"; + private const string EOS_Platform_GetPlayerDataStorageInterfaceName = "EOS_Platform_GetPlayerDataStorageInterface"; + private const string EOS_Platform_GetPresenceInterfaceName = "EOS_Platform_GetPresenceInterface"; + private const string EOS_Platform_GetProgressionSnapshotInterfaceName = "EOS_Platform_GetProgressionSnapshotInterface"; + private const string EOS_Platform_GetRTCAdminInterfaceName = "EOS_Platform_GetRTCAdminInterface"; + private const string EOS_Platform_GetRTCInterfaceName = "EOS_Platform_GetRTCInterface"; + private const string EOS_Platform_GetReportsInterfaceName = "EOS_Platform_GetReportsInterface"; + private const string EOS_Platform_GetSanctionsInterfaceName = "EOS_Platform_GetSanctionsInterface"; + private const string EOS_Platform_GetSessionsInterfaceName = "EOS_Platform_GetSessionsInterface"; + private const string EOS_Platform_GetStatsInterfaceName = "EOS_Platform_GetStatsInterface"; + private const string EOS_Platform_GetTitleStorageInterfaceName = "EOS_Platform_GetTitleStorageInterface"; + private const string EOS_Platform_GetUIInterfaceName = "EOS_Platform_GetUIInterface"; + private const string EOS_Platform_GetUserInfoInterfaceName = "EOS_Platform_GetUserInfoInterface"; + private const string EOS_Platform_ReleaseName = "EOS_Platform_Release"; + private const string EOS_Platform_SetApplicationStatusName = "EOS_Platform_SetApplicationStatus"; + private const string EOS_Platform_SetNetworkStatusName = "EOS_Platform_SetNetworkStatus"; + private const string EOS_Platform_SetOverrideCountryCodeName = "EOS_Platform_SetOverrideCountryCode"; + private const string EOS_Platform_SetOverrideLocaleCodeName = "EOS_Platform_SetOverrideLocaleCode"; + private const string EOS_Platform_TickName = "EOS_Platform_Tick"; + private const string EOS_PlayerDataStorageFileTransferRequest_CancelRequestName = "EOS_PlayerDataStorageFileTransferRequest_CancelRequest"; + private const string EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateName = "EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState"; + private const string EOS_PlayerDataStorageFileTransferRequest_GetFilenameName = "EOS_PlayerDataStorageFileTransferRequest_GetFilename"; + private const string EOS_PlayerDataStorageFileTransferRequest_ReleaseName = "EOS_PlayerDataStorageFileTransferRequest_Release"; + private const string EOS_PlayerDataStorage_CopyFileMetadataAtIndexName = "EOS_PlayerDataStorage_CopyFileMetadataAtIndex"; + private const string EOS_PlayerDataStorage_CopyFileMetadataByFilenameName = "EOS_PlayerDataStorage_CopyFileMetadataByFilename"; + private const string EOS_PlayerDataStorage_DeleteCacheName = "EOS_PlayerDataStorage_DeleteCache"; + private const string EOS_PlayerDataStorage_DeleteFileName = "EOS_PlayerDataStorage_DeleteFile"; + private const string EOS_PlayerDataStorage_DuplicateFileName = "EOS_PlayerDataStorage_DuplicateFile"; + private const string EOS_PlayerDataStorage_FileMetadata_ReleaseName = "EOS_PlayerDataStorage_FileMetadata_Release"; + private const string EOS_PlayerDataStorage_GetFileMetadataCountName = "EOS_PlayerDataStorage_GetFileMetadataCount"; + private const string EOS_PlayerDataStorage_QueryFileName = "EOS_PlayerDataStorage_QueryFile"; + private const string EOS_PlayerDataStorage_QueryFileListName = "EOS_PlayerDataStorage_QueryFileList"; + private const string EOS_PlayerDataStorage_ReadFileName = "EOS_PlayerDataStorage_ReadFile"; + private const string EOS_PlayerDataStorage_WriteFileName = "EOS_PlayerDataStorage_WriteFile"; + private const string EOS_PresenceModification_DeleteDataName = "EOS_PresenceModification_DeleteData"; + private const string EOS_PresenceModification_ReleaseName = "EOS_PresenceModification_Release"; + private const string EOS_PresenceModification_SetDataName = "EOS_PresenceModification_SetData"; + private const string EOS_PresenceModification_SetJoinInfoName = "EOS_PresenceModification_SetJoinInfo"; + private const string EOS_PresenceModification_SetRawRichTextName = "EOS_PresenceModification_SetRawRichText"; + private const string EOS_PresenceModification_SetStatusName = "EOS_PresenceModification_SetStatus"; + private const string EOS_PresenceModification_SetTemplateDataName = "EOS_PresenceModification_SetTemplateData"; + private const string EOS_PresenceModification_SetTemplateIdName = "EOS_PresenceModification_SetTemplateId"; + private const string EOS_Presence_AddNotifyJoinGameAcceptedName = "EOS_Presence_AddNotifyJoinGameAccepted"; + private const string EOS_Presence_AddNotifyOnPresenceChangedName = "EOS_Presence_AddNotifyOnPresenceChanged"; + private const string EOS_Presence_CopyPresenceName = "EOS_Presence_CopyPresence"; + private const string EOS_Presence_CreatePresenceModificationName = "EOS_Presence_CreatePresenceModification"; + private const string EOS_Presence_GetJoinInfoName = "EOS_Presence_GetJoinInfo"; + private const string EOS_Presence_HasPresenceName = "EOS_Presence_HasPresence"; + private const string EOS_Presence_Info_ReleaseName = "EOS_Presence_Info_Release"; + private const string EOS_Presence_QueryPresenceName = "EOS_Presence_QueryPresence"; + private const string EOS_Presence_RemoveNotifyJoinGameAcceptedName = "EOS_Presence_RemoveNotifyJoinGameAccepted"; + private const string EOS_Presence_RemoveNotifyOnPresenceChangedName = "EOS_Presence_RemoveNotifyOnPresenceChanged"; + private const string EOS_Presence_SetPresenceName = "EOS_Presence_SetPresence"; + private const string EOS_ProductUserId_FromStringName = "EOS_ProductUserId_FromString"; + private const string EOS_ProductUserId_IsValidName = "EOS_ProductUserId_IsValid"; + private const string EOS_ProductUserId_ToStringName = "EOS_ProductUserId_ToString"; + private const string EOS_ProgressionSnapshot_AddProgressionName = "EOS_ProgressionSnapshot_AddProgression"; + private const string EOS_ProgressionSnapshot_BeginSnapshotName = "EOS_ProgressionSnapshot_BeginSnapshot"; + private const string EOS_ProgressionSnapshot_DeleteSnapshotName = "EOS_ProgressionSnapshot_DeleteSnapshot"; + private const string EOS_ProgressionSnapshot_EndSnapshotName = "EOS_ProgressionSnapshot_EndSnapshot"; + private const string EOS_ProgressionSnapshot_SubmitSnapshotName = "EOS_ProgressionSnapshot_SubmitSnapshot"; + private const string EOS_RTCAdmin_CopyUserTokenByIndexName = "EOS_RTCAdmin_CopyUserTokenByIndex"; + private const string EOS_RTCAdmin_CopyUserTokenByUserIdName = "EOS_RTCAdmin_CopyUserTokenByUserId"; + private const string EOS_RTCAdmin_KickName = "EOS_RTCAdmin_Kick"; + private const string EOS_RTCAdmin_QueryJoinRoomTokenName = "EOS_RTCAdmin_QueryJoinRoomToken"; + private const string EOS_RTCAdmin_SetParticipantHardMuteName = "EOS_RTCAdmin_SetParticipantHardMute"; + private const string EOS_RTCAdmin_UserToken_ReleaseName = "EOS_RTCAdmin_UserToken_Release"; + private const string EOS_RTCAudio_AddNotifyAudioBeforeRenderName = "EOS_RTCAudio_AddNotifyAudioBeforeRender"; + private const string EOS_RTCAudio_AddNotifyAudioBeforeSendName = "EOS_RTCAudio_AddNotifyAudioBeforeSend"; + private const string EOS_RTCAudio_AddNotifyAudioDevicesChangedName = "EOS_RTCAudio_AddNotifyAudioDevicesChanged"; + private const string EOS_RTCAudio_AddNotifyAudioInputStateName = "EOS_RTCAudio_AddNotifyAudioInputState"; + private const string EOS_RTCAudio_AddNotifyAudioOutputStateName = "EOS_RTCAudio_AddNotifyAudioOutputState"; + private const string EOS_RTCAudio_AddNotifyParticipantUpdatedName = "EOS_RTCAudio_AddNotifyParticipantUpdated"; + private const string EOS_RTCAudio_CopyInputDeviceInformationByIndexName = "EOS_RTCAudio_CopyInputDeviceInformationByIndex"; + private const string EOS_RTCAudio_CopyOutputDeviceInformationByIndexName = "EOS_RTCAudio_CopyOutputDeviceInformationByIndex"; + private const string EOS_RTCAudio_GetAudioInputDeviceByIndexName = "EOS_RTCAudio_GetAudioInputDeviceByIndex"; + private const string EOS_RTCAudio_GetAudioInputDevicesCountName = "EOS_RTCAudio_GetAudioInputDevicesCount"; + private const string EOS_RTCAudio_GetAudioOutputDeviceByIndexName = "EOS_RTCAudio_GetAudioOutputDeviceByIndex"; + private const string EOS_RTCAudio_GetAudioOutputDevicesCountName = "EOS_RTCAudio_GetAudioOutputDevicesCount"; + private const string EOS_RTCAudio_GetInputDevicesCountName = "EOS_RTCAudio_GetInputDevicesCount"; + private const string EOS_RTCAudio_GetOutputDevicesCountName = "EOS_RTCAudio_GetOutputDevicesCount"; + private const string EOS_RTCAudio_InputDeviceInformation_ReleaseName = "EOS_RTCAudio_InputDeviceInformation_Release"; + private const string EOS_RTCAudio_OutputDeviceInformation_ReleaseName = "EOS_RTCAudio_OutputDeviceInformation_Release"; + private const string EOS_RTCAudio_QueryInputDevicesInformationName = "EOS_RTCAudio_QueryInputDevicesInformation"; + private const string EOS_RTCAudio_QueryOutputDevicesInformationName = "EOS_RTCAudio_QueryOutputDevicesInformation"; + private const string EOS_RTCAudio_RegisterPlatformAudioUserName = "EOS_RTCAudio_RegisterPlatformAudioUser"; + private const string EOS_RTCAudio_RegisterPlatformUserName = "EOS_RTCAudio_RegisterPlatformUser"; + private const string EOS_RTCAudio_RemoveNotifyAudioBeforeRenderName = "EOS_RTCAudio_RemoveNotifyAudioBeforeRender"; + private const string EOS_RTCAudio_RemoveNotifyAudioBeforeSendName = "EOS_RTCAudio_RemoveNotifyAudioBeforeSend"; + private const string EOS_RTCAudio_RemoveNotifyAudioDevicesChangedName = "EOS_RTCAudio_RemoveNotifyAudioDevicesChanged"; + private const string EOS_RTCAudio_RemoveNotifyAudioInputStateName = "EOS_RTCAudio_RemoveNotifyAudioInputState"; + private const string EOS_RTCAudio_RemoveNotifyAudioOutputStateName = "EOS_RTCAudio_RemoveNotifyAudioOutputState"; + private const string EOS_RTCAudio_RemoveNotifyParticipantUpdatedName = "EOS_RTCAudio_RemoveNotifyParticipantUpdated"; + private const string EOS_RTCAudio_SendAudioName = "EOS_RTCAudio_SendAudio"; + private const string EOS_RTCAudio_SetAudioInputSettingsName = "EOS_RTCAudio_SetAudioInputSettings"; + private const string EOS_RTCAudio_SetAudioOutputSettingsName = "EOS_RTCAudio_SetAudioOutputSettings"; + private const string EOS_RTCAudio_SetInputDeviceSettingsName = "EOS_RTCAudio_SetInputDeviceSettings"; + private const string EOS_RTCAudio_SetOutputDeviceSettingsName = "EOS_RTCAudio_SetOutputDeviceSettings"; + private const string EOS_RTCAudio_UnregisterPlatformAudioUserName = "EOS_RTCAudio_UnregisterPlatformAudioUser"; + private const string EOS_RTCAudio_UnregisterPlatformUserName = "EOS_RTCAudio_UnregisterPlatformUser"; + private const string EOS_RTCAudio_UpdateParticipantVolumeName = "EOS_RTCAudio_UpdateParticipantVolume"; + private const string EOS_RTCAudio_UpdateReceivingName = "EOS_RTCAudio_UpdateReceiving"; + private const string EOS_RTCAudio_UpdateReceivingVolumeName = "EOS_RTCAudio_UpdateReceivingVolume"; + private const string EOS_RTCAudio_UpdateSendingName = "EOS_RTCAudio_UpdateSending"; + private const string EOS_RTCAudio_UpdateSendingVolumeName = "EOS_RTCAudio_UpdateSendingVolume"; + private const string EOS_RTCData_AddNotifyDataReceivedName = "EOS_RTCData_AddNotifyDataReceived"; + private const string EOS_RTCData_AddNotifyParticipantUpdatedName = "EOS_RTCData_AddNotifyParticipantUpdated"; + private const string EOS_RTCData_RemoveNotifyDataReceivedName = "EOS_RTCData_RemoveNotifyDataReceived"; + private const string EOS_RTCData_RemoveNotifyParticipantUpdatedName = "EOS_RTCData_RemoveNotifyParticipantUpdated"; + private const string EOS_RTCData_SendDataName = "EOS_RTCData_SendData"; + private const string EOS_RTCData_UpdateReceivingName = "EOS_RTCData_UpdateReceiving"; + private const string EOS_RTCData_UpdateSendingName = "EOS_RTCData_UpdateSending"; + private const string EOS_RTC_AddNotifyDisconnectedName = "EOS_RTC_AddNotifyDisconnected"; + private const string EOS_RTC_AddNotifyParticipantStatusChangedName = "EOS_RTC_AddNotifyParticipantStatusChanged"; + private const string EOS_RTC_AddNotifyRoomBeforeJoinName = "EOS_RTC_AddNotifyRoomBeforeJoin"; + private const string EOS_RTC_AddNotifyRoomStatisticsUpdatedName = "EOS_RTC_AddNotifyRoomStatisticsUpdated"; + private const string EOS_RTC_BlockParticipantName = "EOS_RTC_BlockParticipant"; + private const string EOS_RTC_GetAudioInterfaceName = "EOS_RTC_GetAudioInterface"; + private const string EOS_RTC_GetDataInterfaceName = "EOS_RTC_GetDataInterface"; + private const string EOS_RTC_JoinRoomName = "EOS_RTC_JoinRoom"; + private const string EOS_RTC_LeaveRoomName = "EOS_RTC_LeaveRoom"; + private const string EOS_RTC_RemoveNotifyDisconnectedName = "EOS_RTC_RemoveNotifyDisconnected"; + private const string EOS_RTC_RemoveNotifyParticipantStatusChangedName = "EOS_RTC_RemoveNotifyParticipantStatusChanged"; + private const string EOS_RTC_RemoveNotifyRoomBeforeJoinName = "EOS_RTC_RemoveNotifyRoomBeforeJoin"; + private const string EOS_RTC_RemoveNotifyRoomStatisticsUpdatedName = "EOS_RTC_RemoveNotifyRoomStatisticsUpdated"; + private const string EOS_RTC_SetRoomSettingName = "EOS_RTC_SetRoomSetting"; + private const string EOS_RTC_SetSettingName = "EOS_RTC_SetSetting"; + private const string EOS_Reports_SendPlayerBehaviorReportName = "EOS_Reports_SendPlayerBehaviorReport"; + private const string EOS_Sanctions_CopyPlayerSanctionByIndexName = "EOS_Sanctions_CopyPlayerSanctionByIndex"; + private const string EOS_Sanctions_CreatePlayerSanctionAppealName = "EOS_Sanctions_CreatePlayerSanctionAppeal"; + private const string EOS_Sanctions_GetPlayerSanctionCountName = "EOS_Sanctions_GetPlayerSanctionCount"; + private const string EOS_Sanctions_PlayerSanction_ReleaseName = "EOS_Sanctions_PlayerSanction_Release"; + private const string EOS_Sanctions_QueryActivePlayerSanctionsName = "EOS_Sanctions_QueryActivePlayerSanctions"; + private const string EOS_SessionDetails_Attribute_ReleaseName = "EOS_SessionDetails_Attribute_Release"; + private const string EOS_SessionDetails_CopyInfoName = "EOS_SessionDetails_CopyInfo"; + private const string EOS_SessionDetails_CopySessionAttributeByIndexName = "EOS_SessionDetails_CopySessionAttributeByIndex"; + private const string EOS_SessionDetails_CopySessionAttributeByKeyName = "EOS_SessionDetails_CopySessionAttributeByKey"; + private const string EOS_SessionDetails_GetSessionAttributeCountName = "EOS_SessionDetails_GetSessionAttributeCount"; + private const string EOS_SessionDetails_Info_ReleaseName = "EOS_SessionDetails_Info_Release"; + private const string EOS_SessionDetails_ReleaseName = "EOS_SessionDetails_Release"; + private const string EOS_SessionModification_AddAttributeName = "EOS_SessionModification_AddAttribute"; + private const string EOS_SessionModification_ReleaseName = "EOS_SessionModification_Release"; + private const string EOS_SessionModification_RemoveAttributeName = "EOS_SessionModification_RemoveAttribute"; + private const string EOS_SessionModification_SetAllowedPlatformIdsName = "EOS_SessionModification_SetAllowedPlatformIds"; + private const string EOS_SessionModification_SetBucketIdName = "EOS_SessionModification_SetBucketId"; + private const string EOS_SessionModification_SetHostAddressName = "EOS_SessionModification_SetHostAddress"; + private const string EOS_SessionModification_SetInvitesAllowedName = "EOS_SessionModification_SetInvitesAllowed"; + private const string EOS_SessionModification_SetJoinInProgressAllowedName = "EOS_SessionModification_SetJoinInProgressAllowed"; + private const string EOS_SessionModification_SetMaxPlayersName = "EOS_SessionModification_SetMaxPlayers"; + private const string EOS_SessionModification_SetPermissionLevelName = "EOS_SessionModification_SetPermissionLevel"; + private const string EOS_SessionSearch_CopySearchResultByIndexName = "EOS_SessionSearch_CopySearchResultByIndex"; + private const string EOS_SessionSearch_FindName = "EOS_SessionSearch_Find"; + private const string EOS_SessionSearch_GetSearchResultCountName = "EOS_SessionSearch_GetSearchResultCount"; + private const string EOS_SessionSearch_ReleaseName = "EOS_SessionSearch_Release"; + private const string EOS_SessionSearch_RemoveParameterName = "EOS_SessionSearch_RemoveParameter"; + private const string EOS_SessionSearch_SetMaxResultsName = "EOS_SessionSearch_SetMaxResults"; + private const string EOS_SessionSearch_SetParameterName = "EOS_SessionSearch_SetParameter"; + private const string EOS_SessionSearch_SetSessionIdName = "EOS_SessionSearch_SetSessionId"; + private const string EOS_SessionSearch_SetTargetUserIdName = "EOS_SessionSearch_SetTargetUserId"; + private const string EOS_Sessions_AddNotifyJoinSessionAcceptedName = "EOS_Sessions_AddNotifyJoinSessionAccepted"; + private const string EOS_Sessions_AddNotifyLeaveSessionRequestedName = "EOS_Sessions_AddNotifyLeaveSessionRequested"; + private const string EOS_Sessions_AddNotifySendSessionNativeInviteRequestedName = "EOS_Sessions_AddNotifySendSessionNativeInviteRequested"; + private const string EOS_Sessions_AddNotifySessionInviteAcceptedName = "EOS_Sessions_AddNotifySessionInviteAccepted"; + private const string EOS_Sessions_AddNotifySessionInviteReceivedName = "EOS_Sessions_AddNotifySessionInviteReceived"; + private const string EOS_Sessions_AddNotifySessionInviteRejectedName = "EOS_Sessions_AddNotifySessionInviteRejected"; + private const string EOS_Sessions_CopyActiveSessionHandleName = "EOS_Sessions_CopyActiveSessionHandle"; + private const string EOS_Sessions_CopySessionHandleByInviteIdName = "EOS_Sessions_CopySessionHandleByInviteId"; + private const string EOS_Sessions_CopySessionHandleByUiEventIdName = "EOS_Sessions_CopySessionHandleByUiEventId"; + private const string EOS_Sessions_CopySessionHandleForPresenceName = "EOS_Sessions_CopySessionHandleForPresence"; + private const string EOS_Sessions_CreateSessionModificationName = "EOS_Sessions_CreateSessionModification"; + private const string EOS_Sessions_CreateSessionSearchName = "EOS_Sessions_CreateSessionSearch"; + private const string EOS_Sessions_DestroySessionName = "EOS_Sessions_DestroySession"; + private const string EOS_Sessions_DumpSessionStateName = "EOS_Sessions_DumpSessionState"; + private const string EOS_Sessions_EndSessionName = "EOS_Sessions_EndSession"; + private const string EOS_Sessions_GetInviteCountName = "EOS_Sessions_GetInviteCount"; + private const string EOS_Sessions_GetInviteIdByIndexName = "EOS_Sessions_GetInviteIdByIndex"; + private const string EOS_Sessions_IsUserInSessionName = "EOS_Sessions_IsUserInSession"; + private const string EOS_Sessions_JoinSessionName = "EOS_Sessions_JoinSession"; + private const string EOS_Sessions_QueryInvitesName = "EOS_Sessions_QueryInvites"; + private const string EOS_Sessions_RegisterPlayersName = "EOS_Sessions_RegisterPlayers"; + private const string EOS_Sessions_RejectInviteName = "EOS_Sessions_RejectInvite"; + private const string EOS_Sessions_RemoveNotifyJoinSessionAcceptedName = "EOS_Sessions_RemoveNotifyJoinSessionAccepted"; + private const string EOS_Sessions_RemoveNotifyLeaveSessionRequestedName = "EOS_Sessions_RemoveNotifyLeaveSessionRequested"; + private const string EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedName = "EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested"; + private const string EOS_Sessions_RemoveNotifySessionInviteAcceptedName = "EOS_Sessions_RemoveNotifySessionInviteAccepted"; + private const string EOS_Sessions_RemoveNotifySessionInviteReceivedName = "EOS_Sessions_RemoveNotifySessionInviteReceived"; + private const string EOS_Sessions_RemoveNotifySessionInviteRejectedName = "EOS_Sessions_RemoveNotifySessionInviteRejected"; + private const string EOS_Sessions_SendInviteName = "EOS_Sessions_SendInvite"; + private const string EOS_Sessions_StartSessionName = "EOS_Sessions_StartSession"; + private const string EOS_Sessions_UnregisterPlayersName = "EOS_Sessions_UnregisterPlayers"; + private const string EOS_Sessions_UpdateSessionName = "EOS_Sessions_UpdateSession"; + private const string EOS_Sessions_UpdateSessionModificationName = "EOS_Sessions_UpdateSessionModification"; + private const string EOS_ShutdownName = "EOS_Shutdown"; + private const string EOS_Stats_CopyStatByIndexName = "EOS_Stats_CopyStatByIndex"; + private const string EOS_Stats_CopyStatByNameName = "EOS_Stats_CopyStatByName"; + private const string EOS_Stats_GetStatsCountName = "EOS_Stats_GetStatsCount"; + private const string EOS_Stats_IngestStatName = "EOS_Stats_IngestStat"; + private const string EOS_Stats_QueryStatsName = "EOS_Stats_QueryStats"; + private const string EOS_Stats_Stat_ReleaseName = "EOS_Stats_Stat_Release"; + private const string EOS_TitleStorageFileTransferRequest_CancelRequestName = "EOS_TitleStorageFileTransferRequest_CancelRequest"; + private const string EOS_TitleStorageFileTransferRequest_GetFileRequestStateName = "EOS_TitleStorageFileTransferRequest_GetFileRequestState"; + private const string EOS_TitleStorageFileTransferRequest_GetFilenameName = "EOS_TitleStorageFileTransferRequest_GetFilename"; + private const string EOS_TitleStorageFileTransferRequest_ReleaseName = "EOS_TitleStorageFileTransferRequest_Release"; + private const string EOS_TitleStorage_CopyFileMetadataAtIndexName = "EOS_TitleStorage_CopyFileMetadataAtIndex"; + private const string EOS_TitleStorage_CopyFileMetadataByFilenameName = "EOS_TitleStorage_CopyFileMetadataByFilename"; + private const string EOS_TitleStorage_DeleteCacheName = "EOS_TitleStorage_DeleteCache"; + private const string EOS_TitleStorage_FileMetadata_ReleaseName = "EOS_TitleStorage_FileMetadata_Release"; + private const string EOS_TitleStorage_GetFileMetadataCountName = "EOS_TitleStorage_GetFileMetadataCount"; + private const string EOS_TitleStorage_QueryFileName = "EOS_TitleStorage_QueryFile"; + private const string EOS_TitleStorage_QueryFileListName = "EOS_TitleStorage_QueryFileList"; + private const string EOS_TitleStorage_ReadFileName = "EOS_TitleStorage_ReadFile"; + private const string EOS_UI_AcknowledgeEventIdName = "EOS_UI_AcknowledgeEventId"; + private const string EOS_UI_AddNotifyDisplaySettingsUpdatedName = "EOS_UI_AddNotifyDisplaySettingsUpdated"; + private const string EOS_UI_AddNotifyMemoryMonitorName = "EOS_UI_AddNotifyMemoryMonitor"; + private const string EOS_UI_AddNotifyOnScreenKeyboardRequestedName = "EOS_UI_AddNotifyOnScreenKeyboardRequested"; + private const string EOS_UI_ConfigureOnScreenKeyboardName = "EOS_UI_ConfigureOnScreenKeyboard"; + private const string EOS_UI_GetFriendsExclusiveInputName = "EOS_UI_GetFriendsExclusiveInput"; + private const string EOS_UI_GetFriendsVisibleName = "EOS_UI_GetFriendsVisible"; + private const string EOS_UI_GetNotificationLocationPreferenceName = "EOS_UI_GetNotificationLocationPreference"; + private const string EOS_UI_GetToggleFriendsButtonName = "EOS_UI_GetToggleFriendsButton"; + private const string EOS_UI_GetToggleFriendsKeyName = "EOS_UI_GetToggleFriendsKey"; + private const string EOS_UI_HideFriendsName = "EOS_UI_HideFriends"; + private const string EOS_UI_IsSocialOverlayPausedName = "EOS_UI_IsSocialOverlayPaused"; + private const string EOS_UI_IsValidButtonCombinationName = "EOS_UI_IsValidButtonCombination"; + private const string EOS_UI_IsValidKeyCombinationName = "EOS_UI_IsValidKeyCombination"; + private const string EOS_UI_PauseSocialOverlayName = "EOS_UI_PauseSocialOverlay"; + private const string EOS_UI_PrePresentName = "EOS_UI_PrePresent"; + private const string EOS_UI_RemoveNotifyDisplaySettingsUpdatedName = "EOS_UI_RemoveNotifyDisplaySettingsUpdated"; + private const string EOS_UI_RemoveNotifyMemoryMonitorName = "EOS_UI_RemoveNotifyMemoryMonitor"; + private const string EOS_UI_RemoveNotifyOnScreenKeyboardRequestedName = "EOS_UI_RemoveNotifyOnScreenKeyboardRequested"; + private const string EOS_UI_ReportInputStateName = "EOS_UI_ReportInputState"; + private const string EOS_UI_SetDisplayPreferenceName = "EOS_UI_SetDisplayPreference"; + private const string EOS_UI_SetToggleFriendsButtonName = "EOS_UI_SetToggleFriendsButton"; + private const string EOS_UI_SetToggleFriendsKeyName = "EOS_UI_SetToggleFriendsKey"; + private const string EOS_UI_ShowBlockPlayerName = "EOS_UI_ShowBlockPlayer"; + private const string EOS_UI_ShowFriendsName = "EOS_UI_ShowFriends"; + private const string EOS_UI_ShowNativeProfileName = "EOS_UI_ShowNativeProfile"; + private const string EOS_UI_ShowReportPlayerName = "EOS_UI_ShowReportPlayer"; + private const string EOS_UserInfo_BestDisplayName_ReleaseName = "EOS_UserInfo_BestDisplayName_Release"; + private const string EOS_UserInfo_CopyBestDisplayNameName = "EOS_UserInfo_CopyBestDisplayName"; + private const string EOS_UserInfo_CopyBestDisplayNameWithPlatformName = "EOS_UserInfo_CopyBestDisplayNameWithPlatform"; + private const string EOS_UserInfo_CopyExternalUserInfoByAccountIdName = "EOS_UserInfo_CopyExternalUserInfoByAccountId"; + private const string EOS_UserInfo_CopyExternalUserInfoByAccountTypeName = "EOS_UserInfo_CopyExternalUserInfoByAccountType"; + private const string EOS_UserInfo_CopyExternalUserInfoByIndexName = "EOS_UserInfo_CopyExternalUserInfoByIndex"; + private const string EOS_UserInfo_CopyUserInfoName = "EOS_UserInfo_CopyUserInfo"; + private const string EOS_UserInfo_ExternalUserInfo_ReleaseName = "EOS_UserInfo_ExternalUserInfo_Release"; + private const string EOS_UserInfo_GetExternalUserInfoCountName = "EOS_UserInfo_GetExternalUserInfoCount"; + private const string EOS_UserInfo_GetLocalPlatformTypeName = "EOS_UserInfo_GetLocalPlatformType"; + private const string EOS_UserInfo_QueryUserInfoName = "EOS_UserInfo_QueryUserInfo"; + private const string EOS_UserInfo_QueryUserInfoByDisplayNameName = "EOS_UserInfo_QueryUserInfoByDisplayName"; + private const string EOS_UserInfo_QueryUserInfoByExternalAccountName = "EOS_UserInfo_QueryUserInfoByExternalAccount"; + private const string EOS_UserInfo_ReleaseName = "EOS_UserInfo_Release"; +#endif +#if EOS_DYNAMIC_BINDINGS_MANGLING_APPLE + private const string EOS_Achievements_AddNotifyAchievementsUnlockedName = "_EOS_Achievements_AddNotifyAchievementsUnlocked"; + private const string EOS_Achievements_AddNotifyAchievementsUnlockedV2Name = "_EOS_Achievements_AddNotifyAchievementsUnlockedV2"; + private const string EOS_Achievements_CopyAchievementDefinitionByAchievementIdName = "_EOS_Achievements_CopyAchievementDefinitionByAchievementId"; + private const string EOS_Achievements_CopyAchievementDefinitionByIndexName = "_EOS_Achievements_CopyAchievementDefinitionByIndex"; + private const string EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdName = "_EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId"; + private const string EOS_Achievements_CopyAchievementDefinitionV2ByIndexName = "_EOS_Achievements_CopyAchievementDefinitionV2ByIndex"; + private const string EOS_Achievements_CopyPlayerAchievementByAchievementIdName = "_EOS_Achievements_CopyPlayerAchievementByAchievementId"; + private const string EOS_Achievements_CopyPlayerAchievementByIndexName = "_EOS_Achievements_CopyPlayerAchievementByIndex"; + private const string EOS_Achievements_CopyUnlockedAchievementByAchievementIdName = "_EOS_Achievements_CopyUnlockedAchievementByAchievementId"; + private const string EOS_Achievements_CopyUnlockedAchievementByIndexName = "_EOS_Achievements_CopyUnlockedAchievementByIndex"; + private const string EOS_Achievements_DefinitionV2_ReleaseName = "_EOS_Achievements_DefinitionV2_Release"; + private const string EOS_Achievements_Definition_ReleaseName = "_EOS_Achievements_Definition_Release"; + private const string EOS_Achievements_GetAchievementDefinitionCountName = "_EOS_Achievements_GetAchievementDefinitionCount"; + private const string EOS_Achievements_GetPlayerAchievementCountName = "_EOS_Achievements_GetPlayerAchievementCount"; + private const string EOS_Achievements_GetUnlockedAchievementCountName = "_EOS_Achievements_GetUnlockedAchievementCount"; + private const string EOS_Achievements_PlayerAchievement_ReleaseName = "_EOS_Achievements_PlayerAchievement_Release"; + private const string EOS_Achievements_QueryDefinitionsName = "_EOS_Achievements_QueryDefinitions"; + private const string EOS_Achievements_QueryPlayerAchievementsName = "_EOS_Achievements_QueryPlayerAchievements"; + private const string EOS_Achievements_RemoveNotifyAchievementsUnlockedName = "_EOS_Achievements_RemoveNotifyAchievementsUnlocked"; + private const string EOS_Achievements_UnlockAchievementsName = "_EOS_Achievements_UnlockAchievements"; + private const string EOS_Achievements_UnlockedAchievement_ReleaseName = "_EOS_Achievements_UnlockedAchievement_Release"; + private const string EOS_ActiveSession_CopyInfoName = "_EOS_ActiveSession_CopyInfo"; + private const string EOS_ActiveSession_GetRegisteredPlayerByIndexName = "_EOS_ActiveSession_GetRegisteredPlayerByIndex"; + private const string EOS_ActiveSession_GetRegisteredPlayerCountName = "_EOS_ActiveSession_GetRegisteredPlayerCount"; + private const string EOS_ActiveSession_Info_ReleaseName = "_EOS_ActiveSession_Info_Release"; + private const string EOS_ActiveSession_ReleaseName = "_EOS_ActiveSession_Release"; + private const string EOS_AntiCheatClient_AddExternalIntegrityCatalogName = "_EOS_AntiCheatClient_AddExternalIntegrityCatalog"; + private const string EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedName = "_EOS_AntiCheatClient_AddNotifyClientIntegrityViolated"; + private const string EOS_AntiCheatClient_AddNotifyMessageToPeerName = "_EOS_AntiCheatClient_AddNotifyMessageToPeer"; + private const string EOS_AntiCheatClient_AddNotifyMessageToServerName = "_EOS_AntiCheatClient_AddNotifyMessageToServer"; + private const string EOS_AntiCheatClient_AddNotifyPeerActionRequiredName = "_EOS_AntiCheatClient_AddNotifyPeerActionRequired"; + private const string EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedName = "_EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged"; + private const string EOS_AntiCheatClient_BeginSessionName = "_EOS_AntiCheatClient_BeginSession"; + private const string EOS_AntiCheatClient_EndSessionName = "_EOS_AntiCheatClient_EndSession"; + private const string EOS_AntiCheatClient_GetModuleBuildIdName = "_EOS_AntiCheatClient_GetModuleBuildId"; + private const string EOS_AntiCheatClient_GetProtectMessageOutputLengthName = "_EOS_AntiCheatClient_GetProtectMessageOutputLength"; + private const string EOS_AntiCheatClient_PollStatusName = "_EOS_AntiCheatClient_PollStatus"; + private const string EOS_AntiCheatClient_ProtectMessageName = "_EOS_AntiCheatClient_ProtectMessage"; + private const string EOS_AntiCheatClient_ReceiveMessageFromPeerName = "_EOS_AntiCheatClient_ReceiveMessageFromPeer"; + private const string EOS_AntiCheatClient_ReceiveMessageFromServerName = "_EOS_AntiCheatClient_ReceiveMessageFromServer"; + private const string EOS_AntiCheatClient_RegisterPeerName = "_EOS_AntiCheatClient_RegisterPeer"; + private const string EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedName = "_EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated"; + private const string EOS_AntiCheatClient_RemoveNotifyMessageToPeerName = "_EOS_AntiCheatClient_RemoveNotifyMessageToPeer"; + private const string EOS_AntiCheatClient_RemoveNotifyMessageToServerName = "_EOS_AntiCheatClient_RemoveNotifyMessageToServer"; + private const string EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredName = "_EOS_AntiCheatClient_RemoveNotifyPeerActionRequired"; + private const string EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedName = "_EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged"; + private const string EOS_AntiCheatClient_Reserved01Name = "_EOS_AntiCheatClient_Reserved01"; + private const string EOS_AntiCheatClient_Reserved02Name = "_EOS_AntiCheatClient_Reserved02"; + private const string EOS_AntiCheatClient_UnprotectMessageName = "_EOS_AntiCheatClient_UnprotectMessage"; + private const string EOS_AntiCheatClient_UnregisterPeerName = "_EOS_AntiCheatClient_UnregisterPeer"; + private const string EOS_AntiCheatServer_AddNotifyClientActionRequiredName = "_EOS_AntiCheatServer_AddNotifyClientActionRequired"; + private const string EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedName = "_EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged"; + private const string EOS_AntiCheatServer_AddNotifyMessageToClientName = "_EOS_AntiCheatServer_AddNotifyMessageToClient"; + private const string EOS_AntiCheatServer_BeginSessionName = "_EOS_AntiCheatServer_BeginSession"; + private const string EOS_AntiCheatServer_EndSessionName = "_EOS_AntiCheatServer_EndSession"; + private const string EOS_AntiCheatServer_GetProtectMessageOutputLengthName = "_EOS_AntiCheatServer_GetProtectMessageOutputLength"; + private const string EOS_AntiCheatServer_LogEventName = "_EOS_AntiCheatServer_LogEvent"; + private const string EOS_AntiCheatServer_LogGameRoundEndName = "_EOS_AntiCheatServer_LogGameRoundEnd"; + private const string EOS_AntiCheatServer_LogGameRoundStartName = "_EOS_AntiCheatServer_LogGameRoundStart"; + private const string EOS_AntiCheatServer_LogPlayerDespawnName = "_EOS_AntiCheatServer_LogPlayerDespawn"; + private const string EOS_AntiCheatServer_LogPlayerReviveName = "_EOS_AntiCheatServer_LogPlayerRevive"; + private const string EOS_AntiCheatServer_LogPlayerSpawnName = "_EOS_AntiCheatServer_LogPlayerSpawn"; + private const string EOS_AntiCheatServer_LogPlayerTakeDamageName = "_EOS_AntiCheatServer_LogPlayerTakeDamage"; + private const string EOS_AntiCheatServer_LogPlayerTickName = "_EOS_AntiCheatServer_LogPlayerTick"; + private const string EOS_AntiCheatServer_LogPlayerUseAbilityName = "_EOS_AntiCheatServer_LogPlayerUseAbility"; + private const string EOS_AntiCheatServer_LogPlayerUseWeaponName = "_EOS_AntiCheatServer_LogPlayerUseWeapon"; + private const string EOS_AntiCheatServer_ProtectMessageName = "_EOS_AntiCheatServer_ProtectMessage"; + private const string EOS_AntiCheatServer_ReceiveMessageFromClientName = "_EOS_AntiCheatServer_ReceiveMessageFromClient"; + private const string EOS_AntiCheatServer_RegisterClientName = "_EOS_AntiCheatServer_RegisterClient"; + private const string EOS_AntiCheatServer_RegisterEventName = "_EOS_AntiCheatServer_RegisterEvent"; + private const string EOS_AntiCheatServer_RemoveNotifyClientActionRequiredName = "_EOS_AntiCheatServer_RemoveNotifyClientActionRequired"; + private const string EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedName = "_EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged"; + private const string EOS_AntiCheatServer_RemoveNotifyMessageToClientName = "_EOS_AntiCheatServer_RemoveNotifyMessageToClient"; + private const string EOS_AntiCheatServer_SetClientDetailsName = "_EOS_AntiCheatServer_SetClientDetails"; + private const string EOS_AntiCheatServer_SetClientNetworkStateName = "_EOS_AntiCheatServer_SetClientNetworkState"; + private const string EOS_AntiCheatServer_SetGameSessionIdName = "_EOS_AntiCheatServer_SetGameSessionId"; + private const string EOS_AntiCheatServer_UnprotectMessageName = "_EOS_AntiCheatServer_UnprotectMessage"; + private const string EOS_AntiCheatServer_UnregisterClientName = "_EOS_AntiCheatServer_UnregisterClient"; + private const string EOS_Auth_AddNotifyLoginStatusChangedName = "_EOS_Auth_AddNotifyLoginStatusChanged"; + private const string EOS_Auth_CopyIdTokenName = "_EOS_Auth_CopyIdToken"; + private const string EOS_Auth_CopyUserAuthTokenName = "_EOS_Auth_CopyUserAuthToken"; + private const string EOS_Auth_DeletePersistentAuthName = "_EOS_Auth_DeletePersistentAuth"; + private const string EOS_Auth_GetLoggedInAccountByIndexName = "_EOS_Auth_GetLoggedInAccountByIndex"; + private const string EOS_Auth_GetLoggedInAccountsCountName = "_EOS_Auth_GetLoggedInAccountsCount"; + private const string EOS_Auth_GetLoginStatusName = "_EOS_Auth_GetLoginStatus"; + private const string EOS_Auth_GetMergedAccountByIndexName = "_EOS_Auth_GetMergedAccountByIndex"; + private const string EOS_Auth_GetMergedAccountsCountName = "_EOS_Auth_GetMergedAccountsCount"; + private const string EOS_Auth_GetSelectedAccountIdName = "_EOS_Auth_GetSelectedAccountId"; + private const string EOS_Auth_IdToken_ReleaseName = "_EOS_Auth_IdToken_Release"; + private const string EOS_Auth_LinkAccountName = "_EOS_Auth_LinkAccount"; + private const string EOS_Auth_LoginName = "_EOS_Auth_Login"; + private const string EOS_Auth_LogoutName = "_EOS_Auth_Logout"; + private const string EOS_Auth_QueryIdTokenName = "_EOS_Auth_QueryIdToken"; + private const string EOS_Auth_RemoveNotifyLoginStatusChangedName = "_EOS_Auth_RemoveNotifyLoginStatusChanged"; + private const string EOS_Auth_Token_ReleaseName = "_EOS_Auth_Token_Release"; + private const string EOS_Auth_VerifyIdTokenName = "_EOS_Auth_VerifyIdToken"; + private const string EOS_Auth_VerifyUserAuthName = "_EOS_Auth_VerifyUserAuth"; + private const string EOS_ByteArray_ToStringName = "_EOS_ByteArray_ToString"; + private const string EOS_Connect_AddNotifyAuthExpirationName = "_EOS_Connect_AddNotifyAuthExpiration"; + private const string EOS_Connect_AddNotifyLoginStatusChangedName = "_EOS_Connect_AddNotifyLoginStatusChanged"; + private const string EOS_Connect_CopyIdTokenName = "_EOS_Connect_CopyIdToken"; + private const string EOS_Connect_CopyProductUserExternalAccountByAccountIdName = "_EOS_Connect_CopyProductUserExternalAccountByAccountId"; + private const string EOS_Connect_CopyProductUserExternalAccountByAccountTypeName = "_EOS_Connect_CopyProductUserExternalAccountByAccountType"; + private const string EOS_Connect_CopyProductUserExternalAccountByIndexName = "_EOS_Connect_CopyProductUserExternalAccountByIndex"; + private const string EOS_Connect_CopyProductUserInfoName = "_EOS_Connect_CopyProductUserInfo"; + private const string EOS_Connect_CreateDeviceIdName = "_EOS_Connect_CreateDeviceId"; + private const string EOS_Connect_CreateUserName = "_EOS_Connect_CreateUser"; + private const string EOS_Connect_DeleteDeviceIdName = "_EOS_Connect_DeleteDeviceId"; + private const string EOS_Connect_ExternalAccountInfo_ReleaseName = "_EOS_Connect_ExternalAccountInfo_Release"; + private const string EOS_Connect_GetExternalAccountMappingName = "_EOS_Connect_GetExternalAccountMapping"; + private const string EOS_Connect_GetLoggedInUserByIndexName = "_EOS_Connect_GetLoggedInUserByIndex"; + private const string EOS_Connect_GetLoggedInUsersCountName = "_EOS_Connect_GetLoggedInUsersCount"; + private const string EOS_Connect_GetLoginStatusName = "_EOS_Connect_GetLoginStatus"; + private const string EOS_Connect_GetProductUserExternalAccountCountName = "_EOS_Connect_GetProductUserExternalAccountCount"; + private const string EOS_Connect_GetProductUserIdMappingName = "_EOS_Connect_GetProductUserIdMapping"; + private const string EOS_Connect_IdToken_ReleaseName = "_EOS_Connect_IdToken_Release"; + private const string EOS_Connect_LinkAccountName = "_EOS_Connect_LinkAccount"; + private const string EOS_Connect_LoginName = "_EOS_Connect_Login"; + private const string EOS_Connect_LogoutName = "_EOS_Connect_Logout"; + private const string EOS_Connect_QueryExternalAccountMappingsName = "_EOS_Connect_QueryExternalAccountMappings"; + private const string EOS_Connect_QueryProductUserIdMappingsName = "_EOS_Connect_QueryProductUserIdMappings"; + private const string EOS_Connect_RemoveNotifyAuthExpirationName = "_EOS_Connect_RemoveNotifyAuthExpiration"; + private const string EOS_Connect_RemoveNotifyLoginStatusChangedName = "_EOS_Connect_RemoveNotifyLoginStatusChanged"; + private const string EOS_Connect_TransferDeviceIdAccountName = "_EOS_Connect_TransferDeviceIdAccount"; + private const string EOS_Connect_UnlinkAccountName = "_EOS_Connect_UnlinkAccount"; + private const string EOS_Connect_VerifyIdTokenName = "_EOS_Connect_VerifyIdToken"; + private const string EOS_ContinuanceToken_ToStringName = "_EOS_ContinuanceToken_ToString"; + private const string EOS_CustomInvites_AcceptRequestToJoinName = "_EOS_CustomInvites_AcceptRequestToJoin"; + private const string EOS_CustomInvites_AddNotifyCustomInviteAcceptedName = "_EOS_CustomInvites_AddNotifyCustomInviteAccepted"; + private const string EOS_CustomInvites_AddNotifyCustomInviteReceivedName = "_EOS_CustomInvites_AddNotifyCustomInviteReceived"; + private const string EOS_CustomInvites_AddNotifyCustomInviteRejectedName = "_EOS_CustomInvites_AddNotifyCustomInviteRejected"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinAcceptedName = "_EOS_CustomInvites_AddNotifyRequestToJoinAccepted"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinReceivedName = "_EOS_CustomInvites_AddNotifyRequestToJoinReceived"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinRejectedName = "_EOS_CustomInvites_AddNotifyRequestToJoinRejected"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedName = "_EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived"; + private const string EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedName = "_EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested"; + private const string EOS_CustomInvites_FinalizeInviteName = "_EOS_CustomInvites_FinalizeInvite"; + private const string EOS_CustomInvites_RejectRequestToJoinName = "_EOS_CustomInvites_RejectRequestToJoin"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedName = "_EOS_CustomInvites_RemoveNotifyCustomInviteAccepted"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteReceivedName = "_EOS_CustomInvites_RemoveNotifyCustomInviteReceived"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteRejectedName = "_EOS_CustomInvites_RemoveNotifyCustomInviteRejected"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinReceived"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinRejected"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived"; + private const string EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedName = "_EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested"; + private const string EOS_CustomInvites_SendCustomInviteName = "_EOS_CustomInvites_SendCustomInvite"; + private const string EOS_CustomInvites_SendRequestToJoinName = "_EOS_CustomInvites_SendRequestToJoin"; + private const string EOS_CustomInvites_SetCustomInviteName = "_EOS_CustomInvites_SetCustomInvite"; + private const string EOS_EApplicationStatus_ToStringName = "_EOS_EApplicationStatus_ToString"; + private const string EOS_ENetworkStatus_ToStringName = "_EOS_ENetworkStatus_ToString"; + private const string EOS_EResult_IsOperationCompleteName = "_EOS_EResult_IsOperationComplete"; + private const string EOS_EResult_ToStringName = "_EOS_EResult_ToString"; + private const string EOS_Ecom_CatalogItem_ReleaseName = "_EOS_Ecom_CatalogItem_Release"; + private const string EOS_Ecom_CatalogOffer_ReleaseName = "_EOS_Ecom_CatalogOffer_Release"; + private const string EOS_Ecom_CatalogRelease_ReleaseName = "_EOS_Ecom_CatalogRelease_Release"; + private const string EOS_Ecom_CheckoutName = "_EOS_Ecom_Checkout"; + private const string EOS_Ecom_CopyEntitlementByIdName = "_EOS_Ecom_CopyEntitlementById"; + private const string EOS_Ecom_CopyEntitlementByIndexName = "_EOS_Ecom_CopyEntitlementByIndex"; + private const string EOS_Ecom_CopyEntitlementByNameAndIndexName = "_EOS_Ecom_CopyEntitlementByNameAndIndex"; + private const string EOS_Ecom_CopyItemByIdName = "_EOS_Ecom_CopyItemById"; + private const string EOS_Ecom_CopyItemImageInfoByIndexName = "_EOS_Ecom_CopyItemImageInfoByIndex"; + private const string EOS_Ecom_CopyItemReleaseByIndexName = "_EOS_Ecom_CopyItemReleaseByIndex"; + private const string EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexName = "_EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex"; + private const string EOS_Ecom_CopyLastRedeemedEntitlementByIndexName = "_EOS_Ecom_CopyLastRedeemedEntitlementByIndex"; + private const string EOS_Ecom_CopyOfferByIdName = "_EOS_Ecom_CopyOfferById"; + private const string EOS_Ecom_CopyOfferByIndexName = "_EOS_Ecom_CopyOfferByIndex"; + private const string EOS_Ecom_CopyOfferImageInfoByIndexName = "_EOS_Ecom_CopyOfferImageInfoByIndex"; + private const string EOS_Ecom_CopyOfferItemByIndexName = "_EOS_Ecom_CopyOfferItemByIndex"; + private const string EOS_Ecom_CopyTransactionByIdName = "_EOS_Ecom_CopyTransactionById"; + private const string EOS_Ecom_CopyTransactionByIndexName = "_EOS_Ecom_CopyTransactionByIndex"; + private const string EOS_Ecom_Entitlement_ReleaseName = "_EOS_Ecom_Entitlement_Release"; + private const string EOS_Ecom_GetEntitlementsByNameCountName = "_EOS_Ecom_GetEntitlementsByNameCount"; + private const string EOS_Ecom_GetEntitlementsCountName = "_EOS_Ecom_GetEntitlementsCount"; + private const string EOS_Ecom_GetItemImageInfoCountName = "_EOS_Ecom_GetItemImageInfoCount"; + private const string EOS_Ecom_GetItemReleaseCountName = "_EOS_Ecom_GetItemReleaseCount"; + private const string EOS_Ecom_GetLastRedeemEntitlementsResultCountName = "_EOS_Ecom_GetLastRedeemEntitlementsResultCount"; + private const string EOS_Ecom_GetLastRedeemedEntitlementsCountName = "_EOS_Ecom_GetLastRedeemedEntitlementsCount"; + private const string EOS_Ecom_GetOfferCountName = "_EOS_Ecom_GetOfferCount"; + private const string EOS_Ecom_GetOfferImageInfoCountName = "_EOS_Ecom_GetOfferImageInfoCount"; + private const string EOS_Ecom_GetOfferItemCountName = "_EOS_Ecom_GetOfferItemCount"; + private const string EOS_Ecom_GetTransactionCountName = "_EOS_Ecom_GetTransactionCount"; + private const string EOS_Ecom_KeyImageInfo_ReleaseName = "_EOS_Ecom_KeyImageInfo_Release"; + private const string EOS_Ecom_QueryEntitlementTokenName = "_EOS_Ecom_QueryEntitlementToken"; + private const string EOS_Ecom_QueryEntitlementsName = "_EOS_Ecom_QueryEntitlements"; + private const string EOS_Ecom_QueryOffersName = "_EOS_Ecom_QueryOffers"; + private const string EOS_Ecom_QueryOwnershipName = "_EOS_Ecom_QueryOwnership"; + private const string EOS_Ecom_QueryOwnershipBySandboxIdsName = "_EOS_Ecom_QueryOwnershipBySandboxIds"; + private const string EOS_Ecom_QueryOwnershipTokenName = "_EOS_Ecom_QueryOwnershipToken"; + private const string EOS_Ecom_RedeemEntitlementsName = "_EOS_Ecom_RedeemEntitlements"; + private const string EOS_Ecom_Transaction_CopyEntitlementByIndexName = "_EOS_Ecom_Transaction_CopyEntitlementByIndex"; + private const string EOS_Ecom_Transaction_GetEntitlementsCountName = "_EOS_Ecom_Transaction_GetEntitlementsCount"; + private const string EOS_Ecom_Transaction_GetTransactionIdName = "_EOS_Ecom_Transaction_GetTransactionId"; + private const string EOS_Ecom_Transaction_ReleaseName = "_EOS_Ecom_Transaction_Release"; + private const string EOS_EpicAccountId_FromStringName = "_EOS_EpicAccountId_FromString"; + private const string EOS_EpicAccountId_IsValidName = "_EOS_EpicAccountId_IsValid"; + private const string EOS_EpicAccountId_ToStringName = "_EOS_EpicAccountId_ToString"; + private const string EOS_Friends_AcceptInviteName = "_EOS_Friends_AcceptInvite"; + private const string EOS_Friends_AddNotifyBlockedUsersUpdateName = "_EOS_Friends_AddNotifyBlockedUsersUpdate"; + private const string EOS_Friends_AddNotifyFriendsUpdateName = "_EOS_Friends_AddNotifyFriendsUpdate"; + private const string EOS_Friends_GetBlockedUserAtIndexName = "_EOS_Friends_GetBlockedUserAtIndex"; + private const string EOS_Friends_GetBlockedUsersCountName = "_EOS_Friends_GetBlockedUsersCount"; + private const string EOS_Friends_GetFriendAtIndexName = "_EOS_Friends_GetFriendAtIndex"; + private const string EOS_Friends_GetFriendsCountName = "_EOS_Friends_GetFriendsCount"; + private const string EOS_Friends_GetStatusName = "_EOS_Friends_GetStatus"; + private const string EOS_Friends_QueryFriendsName = "_EOS_Friends_QueryFriends"; + private const string EOS_Friends_RejectInviteName = "_EOS_Friends_RejectInvite"; + private const string EOS_Friends_RemoveNotifyBlockedUsersUpdateName = "_EOS_Friends_RemoveNotifyBlockedUsersUpdate"; + private const string EOS_Friends_RemoveNotifyFriendsUpdateName = "_EOS_Friends_RemoveNotifyFriendsUpdate"; + private const string EOS_Friends_SendInviteName = "_EOS_Friends_SendInvite"; + private const string EOS_GetVersionName = "_EOS_GetVersion"; + private const string EOS_InitializeName = "_EOS_Initialize"; + private const string EOS_IntegratedPlatformOptionsContainer_AddName = "_EOS_IntegratedPlatformOptionsContainer_Add"; + private const string EOS_IntegratedPlatformOptionsContainer_ReleaseName = "_EOS_IntegratedPlatformOptionsContainer_Release"; + private const string EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedName = "_EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged"; + private const string EOS_IntegratedPlatform_ClearUserPreLogoutCallbackName = "_EOS_IntegratedPlatform_ClearUserPreLogoutCallback"; + private const string EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerName = "_EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer"; + private const string EOS_IntegratedPlatform_FinalizeDeferredUserLogoutName = "_EOS_IntegratedPlatform_FinalizeDeferredUserLogout"; + private const string EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedName = "_EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged"; + private const string EOS_IntegratedPlatform_SetUserLoginStatusName = "_EOS_IntegratedPlatform_SetUserLoginStatus"; + private const string EOS_IntegratedPlatform_SetUserPreLogoutCallbackName = "_EOS_IntegratedPlatform_SetUserPreLogoutCallback"; + private const string EOS_KWS_AddNotifyPermissionsUpdateReceivedName = "_EOS_KWS_AddNotifyPermissionsUpdateReceived"; + private const string EOS_KWS_CopyPermissionByIndexName = "_EOS_KWS_CopyPermissionByIndex"; + private const string EOS_KWS_CreateUserName = "_EOS_KWS_CreateUser"; + private const string EOS_KWS_GetPermissionByKeyName = "_EOS_KWS_GetPermissionByKey"; + private const string EOS_KWS_GetPermissionsCountName = "_EOS_KWS_GetPermissionsCount"; + private const string EOS_KWS_PermissionStatus_ReleaseName = "_EOS_KWS_PermissionStatus_Release"; + private const string EOS_KWS_QueryAgeGateName = "_EOS_KWS_QueryAgeGate"; + private const string EOS_KWS_QueryPermissionsName = "_EOS_KWS_QueryPermissions"; + private const string EOS_KWS_RemoveNotifyPermissionsUpdateReceivedName = "_EOS_KWS_RemoveNotifyPermissionsUpdateReceived"; + private const string EOS_KWS_RequestPermissionsName = "_EOS_KWS_RequestPermissions"; + private const string EOS_KWS_UpdateParentEmailName = "_EOS_KWS_UpdateParentEmail"; + private const string EOS_Leaderboards_CopyLeaderboardDefinitionByIndexName = "_EOS_Leaderboards_CopyLeaderboardDefinitionByIndex"; + private const string EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdName = "_EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId"; + private const string EOS_Leaderboards_CopyLeaderboardRecordByIndexName = "_EOS_Leaderboards_CopyLeaderboardRecordByIndex"; + private const string EOS_Leaderboards_CopyLeaderboardRecordByUserIdName = "_EOS_Leaderboards_CopyLeaderboardRecordByUserId"; + private const string EOS_Leaderboards_CopyLeaderboardUserScoreByIndexName = "_EOS_Leaderboards_CopyLeaderboardUserScoreByIndex"; + private const string EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdName = "_EOS_Leaderboards_CopyLeaderboardUserScoreByUserId"; + private const string EOS_Leaderboards_Definition_ReleaseName = "_EOS_Leaderboards_Definition_Release"; + private const string EOS_Leaderboards_GetLeaderboardDefinitionCountName = "_EOS_Leaderboards_GetLeaderboardDefinitionCount"; + private const string EOS_Leaderboards_GetLeaderboardRecordCountName = "_EOS_Leaderboards_GetLeaderboardRecordCount"; + private const string EOS_Leaderboards_GetLeaderboardUserScoreCountName = "_EOS_Leaderboards_GetLeaderboardUserScoreCount"; + private const string EOS_Leaderboards_LeaderboardRecord_ReleaseName = "_EOS_Leaderboards_LeaderboardRecord_Release"; + private const string EOS_Leaderboards_LeaderboardUserScore_ReleaseName = "_EOS_Leaderboards_LeaderboardUserScore_Release"; + private const string EOS_Leaderboards_QueryLeaderboardDefinitionsName = "_EOS_Leaderboards_QueryLeaderboardDefinitions"; + private const string EOS_Leaderboards_QueryLeaderboardRanksName = "_EOS_Leaderboards_QueryLeaderboardRanks"; + private const string EOS_Leaderboards_QueryLeaderboardUserScoresName = "_EOS_Leaderboards_QueryLeaderboardUserScores"; + private const string EOS_LobbyDetails_CopyAttributeByIndexName = "_EOS_LobbyDetails_CopyAttributeByIndex"; + private const string EOS_LobbyDetails_CopyAttributeByKeyName = "_EOS_LobbyDetails_CopyAttributeByKey"; + private const string EOS_LobbyDetails_CopyInfoName = "_EOS_LobbyDetails_CopyInfo"; + private const string EOS_LobbyDetails_CopyMemberAttributeByIndexName = "_EOS_LobbyDetails_CopyMemberAttributeByIndex"; + private const string EOS_LobbyDetails_CopyMemberAttributeByKeyName = "_EOS_LobbyDetails_CopyMemberAttributeByKey"; + private const string EOS_LobbyDetails_CopyMemberInfoName = "_EOS_LobbyDetails_CopyMemberInfo"; + private const string EOS_LobbyDetails_GetAttributeCountName = "_EOS_LobbyDetails_GetAttributeCount"; + private const string EOS_LobbyDetails_GetLobbyOwnerName = "_EOS_LobbyDetails_GetLobbyOwner"; + private const string EOS_LobbyDetails_GetMemberAttributeCountName = "_EOS_LobbyDetails_GetMemberAttributeCount"; + private const string EOS_LobbyDetails_GetMemberByIndexName = "_EOS_LobbyDetails_GetMemberByIndex"; + private const string EOS_LobbyDetails_GetMemberCountName = "_EOS_LobbyDetails_GetMemberCount"; + private const string EOS_LobbyDetails_Info_ReleaseName = "_EOS_LobbyDetails_Info_Release"; + private const string EOS_LobbyDetails_MemberInfo_ReleaseName = "_EOS_LobbyDetails_MemberInfo_Release"; + private const string EOS_LobbyDetails_ReleaseName = "_EOS_LobbyDetails_Release"; + private const string EOS_LobbyModification_AddAttributeName = "_EOS_LobbyModification_AddAttribute"; + private const string EOS_LobbyModification_AddMemberAttributeName = "_EOS_LobbyModification_AddMemberAttribute"; + private const string EOS_LobbyModification_ReleaseName = "_EOS_LobbyModification_Release"; + private const string EOS_LobbyModification_RemoveAttributeName = "_EOS_LobbyModification_RemoveAttribute"; + private const string EOS_LobbyModification_RemoveMemberAttributeName = "_EOS_LobbyModification_RemoveMemberAttribute"; + private const string EOS_LobbyModification_SetAllowedPlatformIdsName = "_EOS_LobbyModification_SetAllowedPlatformIds"; + private const string EOS_LobbyModification_SetBucketIdName = "_EOS_LobbyModification_SetBucketId"; + private const string EOS_LobbyModification_SetInvitesAllowedName = "_EOS_LobbyModification_SetInvitesAllowed"; + private const string EOS_LobbyModification_SetMaxMembersName = "_EOS_LobbyModification_SetMaxMembers"; + private const string EOS_LobbyModification_SetPermissionLevelName = "_EOS_LobbyModification_SetPermissionLevel"; + private const string EOS_LobbySearch_CopySearchResultByIndexName = "_EOS_LobbySearch_CopySearchResultByIndex"; + private const string EOS_LobbySearch_FindName = "_EOS_LobbySearch_Find"; + private const string EOS_LobbySearch_GetSearchResultCountName = "_EOS_LobbySearch_GetSearchResultCount"; + private const string EOS_LobbySearch_ReleaseName = "_EOS_LobbySearch_Release"; + private const string EOS_LobbySearch_RemoveParameterName = "_EOS_LobbySearch_RemoveParameter"; + private const string EOS_LobbySearch_SetLobbyIdName = "_EOS_LobbySearch_SetLobbyId"; + private const string EOS_LobbySearch_SetMaxResultsName = "_EOS_LobbySearch_SetMaxResults"; + private const string EOS_LobbySearch_SetParameterName = "_EOS_LobbySearch_SetParameter"; + private const string EOS_LobbySearch_SetTargetUserIdName = "_EOS_LobbySearch_SetTargetUserId"; + private const string EOS_Lobby_AddNotifyJoinLobbyAcceptedName = "_EOS_Lobby_AddNotifyJoinLobbyAccepted"; + private const string EOS_Lobby_AddNotifyLeaveLobbyRequestedName = "_EOS_Lobby_AddNotifyLeaveLobbyRequested"; + private const string EOS_Lobby_AddNotifyLobbyInviteAcceptedName = "_EOS_Lobby_AddNotifyLobbyInviteAccepted"; + private const string EOS_Lobby_AddNotifyLobbyInviteReceivedName = "_EOS_Lobby_AddNotifyLobbyInviteReceived"; + private const string EOS_Lobby_AddNotifyLobbyInviteRejectedName = "_EOS_Lobby_AddNotifyLobbyInviteRejected"; + private const string EOS_Lobby_AddNotifyLobbyMemberStatusReceivedName = "_EOS_Lobby_AddNotifyLobbyMemberStatusReceived"; + private const string EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedName = "_EOS_Lobby_AddNotifyLobbyMemberUpdateReceived"; + private const string EOS_Lobby_AddNotifyLobbyUpdateReceivedName = "_EOS_Lobby_AddNotifyLobbyUpdateReceived"; + private const string EOS_Lobby_AddNotifyRTCRoomConnectionChangedName = "_EOS_Lobby_AddNotifyRTCRoomConnectionChanged"; + private const string EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedName = "_EOS_Lobby_AddNotifySendLobbyNativeInviteRequested"; + private const string EOS_Lobby_Attribute_ReleaseName = "_EOS_Lobby_Attribute_Release"; + private const string EOS_Lobby_CopyLobbyDetailsHandleName = "_EOS_Lobby_CopyLobbyDetailsHandle"; + private const string EOS_Lobby_CopyLobbyDetailsHandleByInviteIdName = "_EOS_Lobby_CopyLobbyDetailsHandleByInviteId"; + private const string EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdName = "_EOS_Lobby_CopyLobbyDetailsHandleByUiEventId"; + private const string EOS_Lobby_CreateLobbyName = "_EOS_Lobby_CreateLobby"; + private const string EOS_Lobby_CreateLobbySearchName = "_EOS_Lobby_CreateLobbySearch"; + private const string EOS_Lobby_DestroyLobbyName = "_EOS_Lobby_DestroyLobby"; + private const string EOS_Lobby_GetConnectStringName = "_EOS_Lobby_GetConnectString"; + private const string EOS_Lobby_GetInviteCountName = "_EOS_Lobby_GetInviteCount"; + private const string EOS_Lobby_GetInviteIdByIndexName = "_EOS_Lobby_GetInviteIdByIndex"; + private const string EOS_Lobby_GetRTCRoomNameName = "_EOS_Lobby_GetRTCRoomName"; + private const string EOS_Lobby_HardMuteMemberName = "_EOS_Lobby_HardMuteMember"; + private const string EOS_Lobby_IsRTCRoomConnectedName = "_EOS_Lobby_IsRTCRoomConnected"; + private const string EOS_Lobby_JoinLobbyName = "_EOS_Lobby_JoinLobby"; + private const string EOS_Lobby_JoinLobbyByIdName = "_EOS_Lobby_JoinLobbyById"; + private const string EOS_Lobby_JoinRTCRoomName = "_EOS_Lobby_JoinRTCRoom"; + private const string EOS_Lobby_KickMemberName = "_EOS_Lobby_KickMember"; + private const string EOS_Lobby_LeaveLobbyName = "_EOS_Lobby_LeaveLobby"; + private const string EOS_Lobby_LeaveRTCRoomName = "_EOS_Lobby_LeaveRTCRoom"; + private const string EOS_Lobby_ParseConnectStringName = "_EOS_Lobby_ParseConnectString"; + private const string EOS_Lobby_PromoteMemberName = "_EOS_Lobby_PromoteMember"; + private const string EOS_Lobby_QueryInvitesName = "_EOS_Lobby_QueryInvites"; + private const string EOS_Lobby_RejectInviteName = "_EOS_Lobby_RejectInvite"; + private const string EOS_Lobby_RemoveNotifyJoinLobbyAcceptedName = "_EOS_Lobby_RemoveNotifyJoinLobbyAccepted"; + private const string EOS_Lobby_RemoveNotifyLeaveLobbyRequestedName = "_EOS_Lobby_RemoveNotifyLeaveLobbyRequested"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteAcceptedName = "_EOS_Lobby_RemoveNotifyLobbyInviteAccepted"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteReceivedName = "_EOS_Lobby_RemoveNotifyLobbyInviteReceived"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteRejectedName = "_EOS_Lobby_RemoveNotifyLobbyInviteRejected"; + private const string EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedName = "_EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived"; + private const string EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedName = "_EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived"; + private const string EOS_Lobby_RemoveNotifyLobbyUpdateReceivedName = "_EOS_Lobby_RemoveNotifyLobbyUpdateReceived"; + private const string EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedName = "_EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged"; + private const string EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedName = "_EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested"; + private const string EOS_Lobby_SendInviteName = "_EOS_Lobby_SendInvite"; + private const string EOS_Lobby_UpdateLobbyName = "_EOS_Lobby_UpdateLobby"; + private const string EOS_Lobby_UpdateLobbyModificationName = "_EOS_Lobby_UpdateLobbyModification"; + private const string EOS_Logging_SetCallbackName = "_EOS_Logging_SetCallback"; + private const string EOS_Logging_SetLogLevelName = "_EOS_Logging_SetLogLevel"; + private const string EOS_Metrics_BeginPlayerSessionName = "_EOS_Metrics_BeginPlayerSession"; + private const string EOS_Metrics_EndPlayerSessionName = "_EOS_Metrics_EndPlayerSession"; + private const string EOS_Mods_CopyModInfoName = "_EOS_Mods_CopyModInfo"; + private const string EOS_Mods_EnumerateModsName = "_EOS_Mods_EnumerateMods"; + private const string EOS_Mods_InstallModName = "_EOS_Mods_InstallMod"; + private const string EOS_Mods_ModInfo_ReleaseName = "_EOS_Mods_ModInfo_Release"; + private const string EOS_Mods_UninstallModName = "_EOS_Mods_UninstallMod"; + private const string EOS_Mods_UpdateModName = "_EOS_Mods_UpdateMod"; + private const string EOS_P2P_AcceptConnectionName = "_EOS_P2P_AcceptConnection"; + private const string EOS_P2P_AddNotifyIncomingPacketQueueFullName = "_EOS_P2P_AddNotifyIncomingPacketQueueFull"; + private const string EOS_P2P_AddNotifyPeerConnectionClosedName = "_EOS_P2P_AddNotifyPeerConnectionClosed"; + private const string EOS_P2P_AddNotifyPeerConnectionEstablishedName = "_EOS_P2P_AddNotifyPeerConnectionEstablished"; + private const string EOS_P2P_AddNotifyPeerConnectionInterruptedName = "_EOS_P2P_AddNotifyPeerConnectionInterrupted"; + private const string EOS_P2P_AddNotifyPeerConnectionRequestName = "_EOS_P2P_AddNotifyPeerConnectionRequest"; + private const string EOS_P2P_ClearPacketQueueName = "_EOS_P2P_ClearPacketQueue"; + private const string EOS_P2P_CloseConnectionName = "_EOS_P2P_CloseConnection"; + private const string EOS_P2P_CloseConnectionsName = "_EOS_P2P_CloseConnections"; + private const string EOS_P2P_GetNATTypeName = "_EOS_P2P_GetNATType"; + private const string EOS_P2P_GetNextReceivedPacketSizeName = "_EOS_P2P_GetNextReceivedPacketSize"; + private const string EOS_P2P_GetPacketQueueInfoName = "_EOS_P2P_GetPacketQueueInfo"; + private const string EOS_P2P_GetPortRangeName = "_EOS_P2P_GetPortRange"; + private const string EOS_P2P_GetRelayControlName = "_EOS_P2P_GetRelayControl"; + private const string EOS_P2P_QueryNATTypeName = "_EOS_P2P_QueryNATType"; + private const string EOS_P2P_ReceivePacketName = "_EOS_P2P_ReceivePacket"; + private const string EOS_P2P_RemoveNotifyIncomingPacketQueueFullName = "_EOS_P2P_RemoveNotifyIncomingPacketQueueFull"; + private const string EOS_P2P_RemoveNotifyPeerConnectionClosedName = "_EOS_P2P_RemoveNotifyPeerConnectionClosed"; + private const string EOS_P2P_RemoveNotifyPeerConnectionEstablishedName = "_EOS_P2P_RemoveNotifyPeerConnectionEstablished"; + private const string EOS_P2P_RemoveNotifyPeerConnectionInterruptedName = "_EOS_P2P_RemoveNotifyPeerConnectionInterrupted"; + private const string EOS_P2P_RemoveNotifyPeerConnectionRequestName = "_EOS_P2P_RemoveNotifyPeerConnectionRequest"; + private const string EOS_P2P_SendPacketName = "_EOS_P2P_SendPacket"; + private const string EOS_P2P_SetPacketQueueSizeName = "_EOS_P2P_SetPacketQueueSize"; + private const string EOS_P2P_SetPortRangeName = "_EOS_P2P_SetPortRange"; + private const string EOS_P2P_SetRelayControlName = "_EOS_P2P_SetRelayControl"; + private const string EOS_Platform_CheckForLauncherAndRestartName = "_EOS_Platform_CheckForLauncherAndRestart"; + private const string EOS_Platform_CreateName = "_EOS_Platform_Create"; + private const string EOS_Platform_GetAchievementsInterfaceName = "_EOS_Platform_GetAchievementsInterface"; + private const string EOS_Platform_GetActiveCountryCodeName = "_EOS_Platform_GetActiveCountryCode"; + private const string EOS_Platform_GetActiveLocaleCodeName = "_EOS_Platform_GetActiveLocaleCode"; + private const string EOS_Platform_GetAntiCheatClientInterfaceName = "_EOS_Platform_GetAntiCheatClientInterface"; + private const string EOS_Platform_GetAntiCheatServerInterfaceName = "_EOS_Platform_GetAntiCheatServerInterface"; + private const string EOS_Platform_GetApplicationStatusName = "_EOS_Platform_GetApplicationStatus"; + private const string EOS_Platform_GetAuthInterfaceName = "_EOS_Platform_GetAuthInterface"; + private const string EOS_Platform_GetConnectInterfaceName = "_EOS_Platform_GetConnectInterface"; + private const string EOS_Platform_GetCustomInvitesInterfaceName = "_EOS_Platform_GetCustomInvitesInterface"; + private const string EOS_Platform_GetDesktopCrossplayStatusName = "_EOS_Platform_GetDesktopCrossplayStatus"; + private const string EOS_Platform_GetEcomInterfaceName = "_EOS_Platform_GetEcomInterface"; + private const string EOS_Platform_GetFriendsInterfaceName = "_EOS_Platform_GetFriendsInterface"; + private const string EOS_Platform_GetIntegratedPlatformInterfaceName = "_EOS_Platform_GetIntegratedPlatformInterface"; + private const string EOS_Platform_GetKWSInterfaceName = "_EOS_Platform_GetKWSInterface"; + private const string EOS_Platform_GetLeaderboardsInterfaceName = "_EOS_Platform_GetLeaderboardsInterface"; + private const string EOS_Platform_GetLobbyInterfaceName = "_EOS_Platform_GetLobbyInterface"; + private const string EOS_Platform_GetMetricsInterfaceName = "_EOS_Platform_GetMetricsInterface"; + private const string EOS_Platform_GetModsInterfaceName = "_EOS_Platform_GetModsInterface"; + private const string EOS_Platform_GetNetworkStatusName = "_EOS_Platform_GetNetworkStatus"; + private const string EOS_Platform_GetOverrideCountryCodeName = "_EOS_Platform_GetOverrideCountryCode"; + private const string EOS_Platform_GetOverrideLocaleCodeName = "_EOS_Platform_GetOverrideLocaleCode"; + private const string EOS_Platform_GetP2PInterfaceName = "_EOS_Platform_GetP2PInterface"; + private const string EOS_Platform_GetPlayerDataStorageInterfaceName = "_EOS_Platform_GetPlayerDataStorageInterface"; + private const string EOS_Platform_GetPresenceInterfaceName = "_EOS_Platform_GetPresenceInterface"; + private const string EOS_Platform_GetProgressionSnapshotInterfaceName = "_EOS_Platform_GetProgressionSnapshotInterface"; + private const string EOS_Platform_GetRTCAdminInterfaceName = "_EOS_Platform_GetRTCAdminInterface"; + private const string EOS_Platform_GetRTCInterfaceName = "_EOS_Platform_GetRTCInterface"; + private const string EOS_Platform_GetReportsInterfaceName = "_EOS_Platform_GetReportsInterface"; + private const string EOS_Platform_GetSanctionsInterfaceName = "_EOS_Platform_GetSanctionsInterface"; + private const string EOS_Platform_GetSessionsInterfaceName = "_EOS_Platform_GetSessionsInterface"; + private const string EOS_Platform_GetStatsInterfaceName = "_EOS_Platform_GetStatsInterface"; + private const string EOS_Platform_GetTitleStorageInterfaceName = "_EOS_Platform_GetTitleStorageInterface"; + private const string EOS_Platform_GetUIInterfaceName = "_EOS_Platform_GetUIInterface"; + private const string EOS_Platform_GetUserInfoInterfaceName = "_EOS_Platform_GetUserInfoInterface"; + private const string EOS_Platform_ReleaseName = "_EOS_Platform_Release"; + private const string EOS_Platform_SetApplicationStatusName = "_EOS_Platform_SetApplicationStatus"; + private const string EOS_Platform_SetNetworkStatusName = "_EOS_Platform_SetNetworkStatus"; + private const string EOS_Platform_SetOverrideCountryCodeName = "_EOS_Platform_SetOverrideCountryCode"; + private const string EOS_Platform_SetOverrideLocaleCodeName = "_EOS_Platform_SetOverrideLocaleCode"; + private const string EOS_Platform_TickName = "_EOS_Platform_Tick"; + private const string EOS_PlayerDataStorageFileTransferRequest_CancelRequestName = "_EOS_PlayerDataStorageFileTransferRequest_CancelRequest"; + private const string EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateName = "_EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState"; + private const string EOS_PlayerDataStorageFileTransferRequest_GetFilenameName = "_EOS_PlayerDataStorageFileTransferRequest_GetFilename"; + private const string EOS_PlayerDataStorageFileTransferRequest_ReleaseName = "_EOS_PlayerDataStorageFileTransferRequest_Release"; + private const string EOS_PlayerDataStorage_CopyFileMetadataAtIndexName = "_EOS_PlayerDataStorage_CopyFileMetadataAtIndex"; + private const string EOS_PlayerDataStorage_CopyFileMetadataByFilenameName = "_EOS_PlayerDataStorage_CopyFileMetadataByFilename"; + private const string EOS_PlayerDataStorage_DeleteCacheName = "_EOS_PlayerDataStorage_DeleteCache"; + private const string EOS_PlayerDataStorage_DeleteFileName = "_EOS_PlayerDataStorage_DeleteFile"; + private const string EOS_PlayerDataStorage_DuplicateFileName = "_EOS_PlayerDataStorage_DuplicateFile"; + private const string EOS_PlayerDataStorage_FileMetadata_ReleaseName = "_EOS_PlayerDataStorage_FileMetadata_Release"; + private const string EOS_PlayerDataStorage_GetFileMetadataCountName = "_EOS_PlayerDataStorage_GetFileMetadataCount"; + private const string EOS_PlayerDataStorage_QueryFileName = "_EOS_PlayerDataStorage_QueryFile"; + private const string EOS_PlayerDataStorage_QueryFileListName = "_EOS_PlayerDataStorage_QueryFileList"; + private const string EOS_PlayerDataStorage_ReadFileName = "_EOS_PlayerDataStorage_ReadFile"; + private const string EOS_PlayerDataStorage_WriteFileName = "_EOS_PlayerDataStorage_WriteFile"; + private const string EOS_PresenceModification_DeleteDataName = "_EOS_PresenceModification_DeleteData"; + private const string EOS_PresenceModification_ReleaseName = "_EOS_PresenceModification_Release"; + private const string EOS_PresenceModification_SetDataName = "_EOS_PresenceModification_SetData"; + private const string EOS_PresenceModification_SetJoinInfoName = "_EOS_PresenceModification_SetJoinInfo"; + private const string EOS_PresenceModification_SetRawRichTextName = "_EOS_PresenceModification_SetRawRichText"; + private const string EOS_PresenceModification_SetStatusName = "_EOS_PresenceModification_SetStatus"; + private const string EOS_PresenceModification_SetTemplateDataName = "_EOS_PresenceModification_SetTemplateData"; + private const string EOS_PresenceModification_SetTemplateIdName = "_EOS_PresenceModification_SetTemplateId"; + private const string EOS_Presence_AddNotifyJoinGameAcceptedName = "_EOS_Presence_AddNotifyJoinGameAccepted"; + private const string EOS_Presence_AddNotifyOnPresenceChangedName = "_EOS_Presence_AddNotifyOnPresenceChanged"; + private const string EOS_Presence_CopyPresenceName = "_EOS_Presence_CopyPresence"; + private const string EOS_Presence_CreatePresenceModificationName = "_EOS_Presence_CreatePresenceModification"; + private const string EOS_Presence_GetJoinInfoName = "_EOS_Presence_GetJoinInfo"; + private const string EOS_Presence_HasPresenceName = "_EOS_Presence_HasPresence"; + private const string EOS_Presence_Info_ReleaseName = "_EOS_Presence_Info_Release"; + private const string EOS_Presence_QueryPresenceName = "_EOS_Presence_QueryPresence"; + private const string EOS_Presence_RemoveNotifyJoinGameAcceptedName = "_EOS_Presence_RemoveNotifyJoinGameAccepted"; + private const string EOS_Presence_RemoveNotifyOnPresenceChangedName = "_EOS_Presence_RemoveNotifyOnPresenceChanged"; + private const string EOS_Presence_SetPresenceName = "_EOS_Presence_SetPresence"; + private const string EOS_ProductUserId_FromStringName = "_EOS_ProductUserId_FromString"; + private const string EOS_ProductUserId_IsValidName = "_EOS_ProductUserId_IsValid"; + private const string EOS_ProductUserId_ToStringName = "_EOS_ProductUserId_ToString"; + private const string EOS_ProgressionSnapshot_AddProgressionName = "_EOS_ProgressionSnapshot_AddProgression"; + private const string EOS_ProgressionSnapshot_BeginSnapshotName = "_EOS_ProgressionSnapshot_BeginSnapshot"; + private const string EOS_ProgressionSnapshot_DeleteSnapshotName = "_EOS_ProgressionSnapshot_DeleteSnapshot"; + private const string EOS_ProgressionSnapshot_EndSnapshotName = "_EOS_ProgressionSnapshot_EndSnapshot"; + private const string EOS_ProgressionSnapshot_SubmitSnapshotName = "_EOS_ProgressionSnapshot_SubmitSnapshot"; + private const string EOS_RTCAdmin_CopyUserTokenByIndexName = "_EOS_RTCAdmin_CopyUserTokenByIndex"; + private const string EOS_RTCAdmin_CopyUserTokenByUserIdName = "_EOS_RTCAdmin_CopyUserTokenByUserId"; + private const string EOS_RTCAdmin_KickName = "_EOS_RTCAdmin_Kick"; + private const string EOS_RTCAdmin_QueryJoinRoomTokenName = "_EOS_RTCAdmin_QueryJoinRoomToken"; + private const string EOS_RTCAdmin_SetParticipantHardMuteName = "_EOS_RTCAdmin_SetParticipantHardMute"; + private const string EOS_RTCAdmin_UserToken_ReleaseName = "_EOS_RTCAdmin_UserToken_Release"; + private const string EOS_RTCAudio_AddNotifyAudioBeforeRenderName = "_EOS_RTCAudio_AddNotifyAudioBeforeRender"; + private const string EOS_RTCAudio_AddNotifyAudioBeforeSendName = "_EOS_RTCAudio_AddNotifyAudioBeforeSend"; + private const string EOS_RTCAudio_AddNotifyAudioDevicesChangedName = "_EOS_RTCAudio_AddNotifyAudioDevicesChanged"; + private const string EOS_RTCAudio_AddNotifyAudioInputStateName = "_EOS_RTCAudio_AddNotifyAudioInputState"; + private const string EOS_RTCAudio_AddNotifyAudioOutputStateName = "_EOS_RTCAudio_AddNotifyAudioOutputState"; + private const string EOS_RTCAudio_AddNotifyParticipantUpdatedName = "_EOS_RTCAudio_AddNotifyParticipantUpdated"; + private const string EOS_RTCAudio_CopyInputDeviceInformationByIndexName = "_EOS_RTCAudio_CopyInputDeviceInformationByIndex"; + private const string EOS_RTCAudio_CopyOutputDeviceInformationByIndexName = "_EOS_RTCAudio_CopyOutputDeviceInformationByIndex"; + private const string EOS_RTCAudio_GetAudioInputDeviceByIndexName = "_EOS_RTCAudio_GetAudioInputDeviceByIndex"; + private const string EOS_RTCAudio_GetAudioInputDevicesCountName = "_EOS_RTCAudio_GetAudioInputDevicesCount"; + private const string EOS_RTCAudio_GetAudioOutputDeviceByIndexName = "_EOS_RTCAudio_GetAudioOutputDeviceByIndex"; + private const string EOS_RTCAudio_GetAudioOutputDevicesCountName = "_EOS_RTCAudio_GetAudioOutputDevicesCount"; + private const string EOS_RTCAudio_GetInputDevicesCountName = "_EOS_RTCAudio_GetInputDevicesCount"; + private const string EOS_RTCAudio_GetOutputDevicesCountName = "_EOS_RTCAudio_GetOutputDevicesCount"; + private const string EOS_RTCAudio_InputDeviceInformation_ReleaseName = "_EOS_RTCAudio_InputDeviceInformation_Release"; + private const string EOS_RTCAudio_OutputDeviceInformation_ReleaseName = "_EOS_RTCAudio_OutputDeviceInformation_Release"; + private const string EOS_RTCAudio_QueryInputDevicesInformationName = "_EOS_RTCAudio_QueryInputDevicesInformation"; + private const string EOS_RTCAudio_QueryOutputDevicesInformationName = "_EOS_RTCAudio_QueryOutputDevicesInformation"; + private const string EOS_RTCAudio_RegisterPlatformAudioUserName = "_EOS_RTCAudio_RegisterPlatformAudioUser"; + private const string EOS_RTCAudio_RegisterPlatformUserName = "_EOS_RTCAudio_RegisterPlatformUser"; + private const string EOS_RTCAudio_RemoveNotifyAudioBeforeRenderName = "_EOS_RTCAudio_RemoveNotifyAudioBeforeRender"; + private const string EOS_RTCAudio_RemoveNotifyAudioBeforeSendName = "_EOS_RTCAudio_RemoveNotifyAudioBeforeSend"; + private const string EOS_RTCAudio_RemoveNotifyAudioDevicesChangedName = "_EOS_RTCAudio_RemoveNotifyAudioDevicesChanged"; + private const string EOS_RTCAudio_RemoveNotifyAudioInputStateName = "_EOS_RTCAudio_RemoveNotifyAudioInputState"; + private const string EOS_RTCAudio_RemoveNotifyAudioOutputStateName = "_EOS_RTCAudio_RemoveNotifyAudioOutputState"; + private const string EOS_RTCAudio_RemoveNotifyParticipantUpdatedName = "_EOS_RTCAudio_RemoveNotifyParticipantUpdated"; + private const string EOS_RTCAudio_SendAudioName = "_EOS_RTCAudio_SendAudio"; + private const string EOS_RTCAudio_SetAudioInputSettingsName = "_EOS_RTCAudio_SetAudioInputSettings"; + private const string EOS_RTCAudio_SetAudioOutputSettingsName = "_EOS_RTCAudio_SetAudioOutputSettings"; + private const string EOS_RTCAudio_SetInputDeviceSettingsName = "_EOS_RTCAudio_SetInputDeviceSettings"; + private const string EOS_RTCAudio_SetOutputDeviceSettingsName = "_EOS_RTCAudio_SetOutputDeviceSettings"; + private const string EOS_RTCAudio_UnregisterPlatformAudioUserName = "_EOS_RTCAudio_UnregisterPlatformAudioUser"; + private const string EOS_RTCAudio_UnregisterPlatformUserName = "_EOS_RTCAudio_UnregisterPlatformUser"; + private const string EOS_RTCAudio_UpdateParticipantVolumeName = "_EOS_RTCAudio_UpdateParticipantVolume"; + private const string EOS_RTCAudio_UpdateReceivingName = "_EOS_RTCAudio_UpdateReceiving"; + private const string EOS_RTCAudio_UpdateReceivingVolumeName = "_EOS_RTCAudio_UpdateReceivingVolume"; + private const string EOS_RTCAudio_UpdateSendingName = "_EOS_RTCAudio_UpdateSending"; + private const string EOS_RTCAudio_UpdateSendingVolumeName = "_EOS_RTCAudio_UpdateSendingVolume"; + private const string EOS_RTCData_AddNotifyDataReceivedName = "_EOS_RTCData_AddNotifyDataReceived"; + private const string EOS_RTCData_AddNotifyParticipantUpdatedName = "_EOS_RTCData_AddNotifyParticipantUpdated"; + private const string EOS_RTCData_RemoveNotifyDataReceivedName = "_EOS_RTCData_RemoveNotifyDataReceived"; + private const string EOS_RTCData_RemoveNotifyParticipantUpdatedName = "_EOS_RTCData_RemoveNotifyParticipantUpdated"; + private const string EOS_RTCData_SendDataName = "_EOS_RTCData_SendData"; + private const string EOS_RTCData_UpdateReceivingName = "_EOS_RTCData_UpdateReceiving"; + private const string EOS_RTCData_UpdateSendingName = "_EOS_RTCData_UpdateSending"; + private const string EOS_RTC_AddNotifyDisconnectedName = "_EOS_RTC_AddNotifyDisconnected"; + private const string EOS_RTC_AddNotifyParticipantStatusChangedName = "_EOS_RTC_AddNotifyParticipantStatusChanged"; + private const string EOS_RTC_AddNotifyRoomBeforeJoinName = "_EOS_RTC_AddNotifyRoomBeforeJoin"; + private const string EOS_RTC_AddNotifyRoomStatisticsUpdatedName = "_EOS_RTC_AddNotifyRoomStatisticsUpdated"; + private const string EOS_RTC_BlockParticipantName = "_EOS_RTC_BlockParticipant"; + private const string EOS_RTC_GetAudioInterfaceName = "_EOS_RTC_GetAudioInterface"; + private const string EOS_RTC_GetDataInterfaceName = "_EOS_RTC_GetDataInterface"; + private const string EOS_RTC_JoinRoomName = "_EOS_RTC_JoinRoom"; + private const string EOS_RTC_LeaveRoomName = "_EOS_RTC_LeaveRoom"; + private const string EOS_RTC_RemoveNotifyDisconnectedName = "_EOS_RTC_RemoveNotifyDisconnected"; + private const string EOS_RTC_RemoveNotifyParticipantStatusChangedName = "_EOS_RTC_RemoveNotifyParticipantStatusChanged"; + private const string EOS_RTC_RemoveNotifyRoomBeforeJoinName = "_EOS_RTC_RemoveNotifyRoomBeforeJoin"; + private const string EOS_RTC_RemoveNotifyRoomStatisticsUpdatedName = "_EOS_RTC_RemoveNotifyRoomStatisticsUpdated"; + private const string EOS_RTC_SetRoomSettingName = "_EOS_RTC_SetRoomSetting"; + private const string EOS_RTC_SetSettingName = "_EOS_RTC_SetSetting"; + private const string EOS_Reports_SendPlayerBehaviorReportName = "_EOS_Reports_SendPlayerBehaviorReport"; + private const string EOS_Sanctions_CopyPlayerSanctionByIndexName = "_EOS_Sanctions_CopyPlayerSanctionByIndex"; + private const string EOS_Sanctions_CreatePlayerSanctionAppealName = "_EOS_Sanctions_CreatePlayerSanctionAppeal"; + private const string EOS_Sanctions_GetPlayerSanctionCountName = "_EOS_Sanctions_GetPlayerSanctionCount"; + private const string EOS_Sanctions_PlayerSanction_ReleaseName = "_EOS_Sanctions_PlayerSanction_Release"; + private const string EOS_Sanctions_QueryActivePlayerSanctionsName = "_EOS_Sanctions_QueryActivePlayerSanctions"; + private const string EOS_SessionDetails_Attribute_ReleaseName = "_EOS_SessionDetails_Attribute_Release"; + private const string EOS_SessionDetails_CopyInfoName = "_EOS_SessionDetails_CopyInfo"; + private const string EOS_SessionDetails_CopySessionAttributeByIndexName = "_EOS_SessionDetails_CopySessionAttributeByIndex"; + private const string EOS_SessionDetails_CopySessionAttributeByKeyName = "_EOS_SessionDetails_CopySessionAttributeByKey"; + private const string EOS_SessionDetails_GetSessionAttributeCountName = "_EOS_SessionDetails_GetSessionAttributeCount"; + private const string EOS_SessionDetails_Info_ReleaseName = "_EOS_SessionDetails_Info_Release"; + private const string EOS_SessionDetails_ReleaseName = "_EOS_SessionDetails_Release"; + private const string EOS_SessionModification_AddAttributeName = "_EOS_SessionModification_AddAttribute"; + private const string EOS_SessionModification_ReleaseName = "_EOS_SessionModification_Release"; + private const string EOS_SessionModification_RemoveAttributeName = "_EOS_SessionModification_RemoveAttribute"; + private const string EOS_SessionModification_SetAllowedPlatformIdsName = "_EOS_SessionModification_SetAllowedPlatformIds"; + private const string EOS_SessionModification_SetBucketIdName = "_EOS_SessionModification_SetBucketId"; + private const string EOS_SessionModification_SetHostAddressName = "_EOS_SessionModification_SetHostAddress"; + private const string EOS_SessionModification_SetInvitesAllowedName = "_EOS_SessionModification_SetInvitesAllowed"; + private const string EOS_SessionModification_SetJoinInProgressAllowedName = "_EOS_SessionModification_SetJoinInProgressAllowed"; + private const string EOS_SessionModification_SetMaxPlayersName = "_EOS_SessionModification_SetMaxPlayers"; + private const string EOS_SessionModification_SetPermissionLevelName = "_EOS_SessionModification_SetPermissionLevel"; + private const string EOS_SessionSearch_CopySearchResultByIndexName = "_EOS_SessionSearch_CopySearchResultByIndex"; + private const string EOS_SessionSearch_FindName = "_EOS_SessionSearch_Find"; + private const string EOS_SessionSearch_GetSearchResultCountName = "_EOS_SessionSearch_GetSearchResultCount"; + private const string EOS_SessionSearch_ReleaseName = "_EOS_SessionSearch_Release"; + private const string EOS_SessionSearch_RemoveParameterName = "_EOS_SessionSearch_RemoveParameter"; + private const string EOS_SessionSearch_SetMaxResultsName = "_EOS_SessionSearch_SetMaxResults"; + private const string EOS_SessionSearch_SetParameterName = "_EOS_SessionSearch_SetParameter"; + private const string EOS_SessionSearch_SetSessionIdName = "_EOS_SessionSearch_SetSessionId"; + private const string EOS_SessionSearch_SetTargetUserIdName = "_EOS_SessionSearch_SetTargetUserId"; + private const string EOS_Sessions_AddNotifyJoinSessionAcceptedName = "_EOS_Sessions_AddNotifyJoinSessionAccepted"; + private const string EOS_Sessions_AddNotifyLeaveSessionRequestedName = "_EOS_Sessions_AddNotifyLeaveSessionRequested"; + private const string EOS_Sessions_AddNotifySendSessionNativeInviteRequestedName = "_EOS_Sessions_AddNotifySendSessionNativeInviteRequested"; + private const string EOS_Sessions_AddNotifySessionInviteAcceptedName = "_EOS_Sessions_AddNotifySessionInviteAccepted"; + private const string EOS_Sessions_AddNotifySessionInviteReceivedName = "_EOS_Sessions_AddNotifySessionInviteReceived"; + private const string EOS_Sessions_AddNotifySessionInviteRejectedName = "_EOS_Sessions_AddNotifySessionInviteRejected"; + private const string EOS_Sessions_CopyActiveSessionHandleName = "_EOS_Sessions_CopyActiveSessionHandle"; + private const string EOS_Sessions_CopySessionHandleByInviteIdName = "_EOS_Sessions_CopySessionHandleByInviteId"; + private const string EOS_Sessions_CopySessionHandleByUiEventIdName = "_EOS_Sessions_CopySessionHandleByUiEventId"; + private const string EOS_Sessions_CopySessionHandleForPresenceName = "_EOS_Sessions_CopySessionHandleForPresence"; + private const string EOS_Sessions_CreateSessionModificationName = "_EOS_Sessions_CreateSessionModification"; + private const string EOS_Sessions_CreateSessionSearchName = "_EOS_Sessions_CreateSessionSearch"; + private const string EOS_Sessions_DestroySessionName = "_EOS_Sessions_DestroySession"; + private const string EOS_Sessions_DumpSessionStateName = "_EOS_Sessions_DumpSessionState"; + private const string EOS_Sessions_EndSessionName = "_EOS_Sessions_EndSession"; + private const string EOS_Sessions_GetInviteCountName = "_EOS_Sessions_GetInviteCount"; + private const string EOS_Sessions_GetInviteIdByIndexName = "_EOS_Sessions_GetInviteIdByIndex"; + private const string EOS_Sessions_IsUserInSessionName = "_EOS_Sessions_IsUserInSession"; + private const string EOS_Sessions_JoinSessionName = "_EOS_Sessions_JoinSession"; + private const string EOS_Sessions_QueryInvitesName = "_EOS_Sessions_QueryInvites"; + private const string EOS_Sessions_RegisterPlayersName = "_EOS_Sessions_RegisterPlayers"; + private const string EOS_Sessions_RejectInviteName = "_EOS_Sessions_RejectInvite"; + private const string EOS_Sessions_RemoveNotifyJoinSessionAcceptedName = "_EOS_Sessions_RemoveNotifyJoinSessionAccepted"; + private const string EOS_Sessions_RemoveNotifyLeaveSessionRequestedName = "_EOS_Sessions_RemoveNotifyLeaveSessionRequested"; + private const string EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedName = "_EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested"; + private const string EOS_Sessions_RemoveNotifySessionInviteAcceptedName = "_EOS_Sessions_RemoveNotifySessionInviteAccepted"; + private const string EOS_Sessions_RemoveNotifySessionInviteReceivedName = "_EOS_Sessions_RemoveNotifySessionInviteReceived"; + private const string EOS_Sessions_RemoveNotifySessionInviteRejectedName = "_EOS_Sessions_RemoveNotifySessionInviteRejected"; + private const string EOS_Sessions_SendInviteName = "_EOS_Sessions_SendInvite"; + private const string EOS_Sessions_StartSessionName = "_EOS_Sessions_StartSession"; + private const string EOS_Sessions_UnregisterPlayersName = "_EOS_Sessions_UnregisterPlayers"; + private const string EOS_Sessions_UpdateSessionName = "_EOS_Sessions_UpdateSession"; + private const string EOS_Sessions_UpdateSessionModificationName = "_EOS_Sessions_UpdateSessionModification"; + private const string EOS_ShutdownName = "_EOS_Shutdown"; + private const string EOS_Stats_CopyStatByIndexName = "_EOS_Stats_CopyStatByIndex"; + private const string EOS_Stats_CopyStatByNameName = "_EOS_Stats_CopyStatByName"; + private const string EOS_Stats_GetStatsCountName = "_EOS_Stats_GetStatsCount"; + private const string EOS_Stats_IngestStatName = "_EOS_Stats_IngestStat"; + private const string EOS_Stats_QueryStatsName = "_EOS_Stats_QueryStats"; + private const string EOS_Stats_Stat_ReleaseName = "_EOS_Stats_Stat_Release"; + private const string EOS_TitleStorageFileTransferRequest_CancelRequestName = "_EOS_TitleStorageFileTransferRequest_CancelRequest"; + private const string EOS_TitleStorageFileTransferRequest_GetFileRequestStateName = "_EOS_TitleStorageFileTransferRequest_GetFileRequestState"; + private const string EOS_TitleStorageFileTransferRequest_GetFilenameName = "_EOS_TitleStorageFileTransferRequest_GetFilename"; + private const string EOS_TitleStorageFileTransferRequest_ReleaseName = "_EOS_TitleStorageFileTransferRequest_Release"; + private const string EOS_TitleStorage_CopyFileMetadataAtIndexName = "_EOS_TitleStorage_CopyFileMetadataAtIndex"; + private const string EOS_TitleStorage_CopyFileMetadataByFilenameName = "_EOS_TitleStorage_CopyFileMetadataByFilename"; + private const string EOS_TitleStorage_DeleteCacheName = "_EOS_TitleStorage_DeleteCache"; + private const string EOS_TitleStorage_FileMetadata_ReleaseName = "_EOS_TitleStorage_FileMetadata_Release"; + private const string EOS_TitleStorage_GetFileMetadataCountName = "_EOS_TitleStorage_GetFileMetadataCount"; + private const string EOS_TitleStorage_QueryFileName = "_EOS_TitleStorage_QueryFile"; + private const string EOS_TitleStorage_QueryFileListName = "_EOS_TitleStorage_QueryFileList"; + private const string EOS_TitleStorage_ReadFileName = "_EOS_TitleStorage_ReadFile"; + private const string EOS_UI_AcknowledgeEventIdName = "_EOS_UI_AcknowledgeEventId"; + private const string EOS_UI_AddNotifyDisplaySettingsUpdatedName = "_EOS_UI_AddNotifyDisplaySettingsUpdated"; + private const string EOS_UI_AddNotifyMemoryMonitorName = "_EOS_UI_AddNotifyMemoryMonitor"; + private const string EOS_UI_AddNotifyOnScreenKeyboardRequestedName = "_EOS_UI_AddNotifyOnScreenKeyboardRequested"; + private const string EOS_UI_ConfigureOnScreenKeyboardName = "_EOS_UI_ConfigureOnScreenKeyboard"; + private const string EOS_UI_GetFriendsExclusiveInputName = "_EOS_UI_GetFriendsExclusiveInput"; + private const string EOS_UI_GetFriendsVisibleName = "_EOS_UI_GetFriendsVisible"; + private const string EOS_UI_GetNotificationLocationPreferenceName = "_EOS_UI_GetNotificationLocationPreference"; + private const string EOS_UI_GetToggleFriendsButtonName = "_EOS_UI_GetToggleFriendsButton"; + private const string EOS_UI_GetToggleFriendsKeyName = "_EOS_UI_GetToggleFriendsKey"; + private const string EOS_UI_HideFriendsName = "_EOS_UI_HideFriends"; + private const string EOS_UI_IsSocialOverlayPausedName = "_EOS_UI_IsSocialOverlayPaused"; + private const string EOS_UI_IsValidButtonCombinationName = "_EOS_UI_IsValidButtonCombination"; + private const string EOS_UI_IsValidKeyCombinationName = "_EOS_UI_IsValidKeyCombination"; + private const string EOS_UI_PauseSocialOverlayName = "_EOS_UI_PauseSocialOverlay"; + private const string EOS_UI_PrePresentName = "_EOS_UI_PrePresent"; + private const string EOS_UI_RemoveNotifyDisplaySettingsUpdatedName = "_EOS_UI_RemoveNotifyDisplaySettingsUpdated"; + private const string EOS_UI_RemoveNotifyMemoryMonitorName = "_EOS_UI_RemoveNotifyMemoryMonitor"; + private const string EOS_UI_RemoveNotifyOnScreenKeyboardRequestedName = "_EOS_UI_RemoveNotifyOnScreenKeyboardRequested"; + private const string EOS_UI_ReportInputStateName = "_EOS_UI_ReportInputState"; + private const string EOS_UI_SetDisplayPreferenceName = "_EOS_UI_SetDisplayPreference"; + private const string EOS_UI_SetToggleFriendsButtonName = "_EOS_UI_SetToggleFriendsButton"; + private const string EOS_UI_SetToggleFriendsKeyName = "_EOS_UI_SetToggleFriendsKey"; + private const string EOS_UI_ShowBlockPlayerName = "_EOS_UI_ShowBlockPlayer"; + private const string EOS_UI_ShowFriendsName = "_EOS_UI_ShowFriends"; + private const string EOS_UI_ShowNativeProfileName = "_EOS_UI_ShowNativeProfile"; + private const string EOS_UI_ShowReportPlayerName = "_EOS_UI_ShowReportPlayer"; + private const string EOS_UserInfo_BestDisplayName_ReleaseName = "_EOS_UserInfo_BestDisplayName_Release"; + private const string EOS_UserInfo_CopyBestDisplayNameName = "_EOS_UserInfo_CopyBestDisplayName"; + private const string EOS_UserInfo_CopyBestDisplayNameWithPlatformName = "_EOS_UserInfo_CopyBestDisplayNameWithPlatform"; + private const string EOS_UserInfo_CopyExternalUserInfoByAccountIdName = "_EOS_UserInfo_CopyExternalUserInfoByAccountId"; + private const string EOS_UserInfo_CopyExternalUserInfoByAccountTypeName = "_EOS_UserInfo_CopyExternalUserInfoByAccountType"; + private const string EOS_UserInfo_CopyExternalUserInfoByIndexName = "_EOS_UserInfo_CopyExternalUserInfoByIndex"; + private const string EOS_UserInfo_CopyUserInfoName = "_EOS_UserInfo_CopyUserInfo"; + private const string EOS_UserInfo_ExternalUserInfo_ReleaseName = "_EOS_UserInfo_ExternalUserInfo_Release"; + private const string EOS_UserInfo_GetExternalUserInfoCountName = "_EOS_UserInfo_GetExternalUserInfoCount"; + private const string EOS_UserInfo_GetLocalPlatformTypeName = "_EOS_UserInfo_GetLocalPlatformType"; + private const string EOS_UserInfo_QueryUserInfoName = "_EOS_UserInfo_QueryUserInfo"; + private const string EOS_UserInfo_QueryUserInfoByDisplayNameName = "_EOS_UserInfo_QueryUserInfoByDisplayName"; + private const string EOS_UserInfo_QueryUserInfoByExternalAccountName = "_EOS_UserInfo_QueryUserInfoByExternalAccount"; + private const string EOS_UserInfo_ReleaseName = "_EOS_UserInfo_Release"; +#endif +#if EOS_DYNAMIC_BINDINGS_MANGLING_WINDOWS_32 + private const string EOS_Achievements_AddNotifyAchievementsUnlockedName = "_EOS_Achievements_AddNotifyAchievementsUnlocked@16"; + private const string EOS_Achievements_AddNotifyAchievementsUnlockedV2Name = "_EOS_Achievements_AddNotifyAchievementsUnlockedV2@16"; + private const string EOS_Achievements_CopyAchievementDefinitionByAchievementIdName = "_EOS_Achievements_CopyAchievementDefinitionByAchievementId@12"; + private const string EOS_Achievements_CopyAchievementDefinitionByIndexName = "_EOS_Achievements_CopyAchievementDefinitionByIndex@12"; + private const string EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdName = "_EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId@12"; + private const string EOS_Achievements_CopyAchievementDefinitionV2ByIndexName = "_EOS_Achievements_CopyAchievementDefinitionV2ByIndex@12"; + private const string EOS_Achievements_CopyPlayerAchievementByAchievementIdName = "_EOS_Achievements_CopyPlayerAchievementByAchievementId@12"; + private const string EOS_Achievements_CopyPlayerAchievementByIndexName = "_EOS_Achievements_CopyPlayerAchievementByIndex@12"; + private const string EOS_Achievements_CopyUnlockedAchievementByAchievementIdName = "_EOS_Achievements_CopyUnlockedAchievementByAchievementId@12"; + private const string EOS_Achievements_CopyUnlockedAchievementByIndexName = "_EOS_Achievements_CopyUnlockedAchievementByIndex@12"; + private const string EOS_Achievements_DefinitionV2_ReleaseName = "_EOS_Achievements_DefinitionV2_Release@4"; + private const string EOS_Achievements_Definition_ReleaseName = "_EOS_Achievements_Definition_Release@4"; + private const string EOS_Achievements_GetAchievementDefinitionCountName = "_EOS_Achievements_GetAchievementDefinitionCount@8"; + private const string EOS_Achievements_GetPlayerAchievementCountName = "_EOS_Achievements_GetPlayerAchievementCount@8"; + private const string EOS_Achievements_GetUnlockedAchievementCountName = "_EOS_Achievements_GetUnlockedAchievementCount@8"; + private const string EOS_Achievements_PlayerAchievement_ReleaseName = "_EOS_Achievements_PlayerAchievement_Release@4"; + private const string EOS_Achievements_QueryDefinitionsName = "_EOS_Achievements_QueryDefinitions@16"; + private const string EOS_Achievements_QueryPlayerAchievementsName = "_EOS_Achievements_QueryPlayerAchievements@16"; + private const string EOS_Achievements_RemoveNotifyAchievementsUnlockedName = "_EOS_Achievements_RemoveNotifyAchievementsUnlocked@12"; + private const string EOS_Achievements_UnlockAchievementsName = "_EOS_Achievements_UnlockAchievements@16"; + private const string EOS_Achievements_UnlockedAchievement_ReleaseName = "_EOS_Achievements_UnlockedAchievement_Release@4"; + private const string EOS_ActiveSession_CopyInfoName = "_EOS_ActiveSession_CopyInfo@12"; + private const string EOS_ActiveSession_GetRegisteredPlayerByIndexName = "_EOS_ActiveSession_GetRegisteredPlayerByIndex@8"; + private const string EOS_ActiveSession_GetRegisteredPlayerCountName = "_EOS_ActiveSession_GetRegisteredPlayerCount@8"; + private const string EOS_ActiveSession_Info_ReleaseName = "_EOS_ActiveSession_Info_Release@4"; + private const string EOS_ActiveSession_ReleaseName = "_EOS_ActiveSession_Release@4"; + private const string EOS_AntiCheatClient_AddExternalIntegrityCatalogName = "_EOS_AntiCheatClient_AddExternalIntegrityCatalog@8"; + private const string EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedName = "_EOS_AntiCheatClient_AddNotifyClientIntegrityViolated@16"; + private const string EOS_AntiCheatClient_AddNotifyMessageToPeerName = "_EOS_AntiCheatClient_AddNotifyMessageToPeer@16"; + private const string EOS_AntiCheatClient_AddNotifyMessageToServerName = "_EOS_AntiCheatClient_AddNotifyMessageToServer@16"; + private const string EOS_AntiCheatClient_AddNotifyPeerActionRequiredName = "_EOS_AntiCheatClient_AddNotifyPeerActionRequired@16"; + private const string EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedName = "_EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged@16"; + private const string EOS_AntiCheatClient_BeginSessionName = "_EOS_AntiCheatClient_BeginSession@8"; + private const string EOS_AntiCheatClient_EndSessionName = "_EOS_AntiCheatClient_EndSession@8"; + private const string EOS_AntiCheatClient_GetModuleBuildIdName = "_EOS_AntiCheatClient_GetModuleBuildId@12"; + private const string EOS_AntiCheatClient_GetProtectMessageOutputLengthName = "_EOS_AntiCheatClient_GetProtectMessageOutputLength@12"; + private const string EOS_AntiCheatClient_PollStatusName = "_EOS_AntiCheatClient_PollStatus@16"; + private const string EOS_AntiCheatClient_ProtectMessageName = "_EOS_AntiCheatClient_ProtectMessage@16"; + private const string EOS_AntiCheatClient_ReceiveMessageFromPeerName = "_EOS_AntiCheatClient_ReceiveMessageFromPeer@8"; + private const string EOS_AntiCheatClient_ReceiveMessageFromServerName = "_EOS_AntiCheatClient_ReceiveMessageFromServer@8"; + private const string EOS_AntiCheatClient_RegisterPeerName = "_EOS_AntiCheatClient_RegisterPeer@8"; + private const string EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedName = "_EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated@12"; + private const string EOS_AntiCheatClient_RemoveNotifyMessageToPeerName = "_EOS_AntiCheatClient_RemoveNotifyMessageToPeer@12"; + private const string EOS_AntiCheatClient_RemoveNotifyMessageToServerName = "_EOS_AntiCheatClient_RemoveNotifyMessageToServer@12"; + private const string EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredName = "_EOS_AntiCheatClient_RemoveNotifyPeerActionRequired@12"; + private const string EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedName = "_EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged@12"; + private const string EOS_AntiCheatClient_Reserved01Name = "_EOS_AntiCheatClient_Reserved01@12"; + private const string EOS_AntiCheatClient_Reserved02Name = "_EOS_AntiCheatClient_Reserved02@8"; + private const string EOS_AntiCheatClient_UnprotectMessageName = "_EOS_AntiCheatClient_UnprotectMessage@16"; + private const string EOS_AntiCheatClient_UnregisterPeerName = "_EOS_AntiCheatClient_UnregisterPeer@8"; + private const string EOS_AntiCheatServer_AddNotifyClientActionRequiredName = "_EOS_AntiCheatServer_AddNotifyClientActionRequired@16"; + private const string EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedName = "_EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged@16"; + private const string EOS_AntiCheatServer_AddNotifyMessageToClientName = "_EOS_AntiCheatServer_AddNotifyMessageToClient@16"; + private const string EOS_AntiCheatServer_BeginSessionName = "_EOS_AntiCheatServer_BeginSession@8"; + private const string EOS_AntiCheatServer_EndSessionName = "_EOS_AntiCheatServer_EndSession@8"; + private const string EOS_AntiCheatServer_GetProtectMessageOutputLengthName = "_EOS_AntiCheatServer_GetProtectMessageOutputLength@12"; + private const string EOS_AntiCheatServer_LogEventName = "_EOS_AntiCheatServer_LogEvent@8"; + private const string EOS_AntiCheatServer_LogGameRoundEndName = "_EOS_AntiCheatServer_LogGameRoundEnd@8"; + private const string EOS_AntiCheatServer_LogGameRoundStartName = "_EOS_AntiCheatServer_LogGameRoundStart@8"; + private const string EOS_AntiCheatServer_LogPlayerDespawnName = "_EOS_AntiCheatServer_LogPlayerDespawn@8"; + private const string EOS_AntiCheatServer_LogPlayerReviveName = "_EOS_AntiCheatServer_LogPlayerRevive@8"; + private const string EOS_AntiCheatServer_LogPlayerSpawnName = "_EOS_AntiCheatServer_LogPlayerSpawn@8"; + private const string EOS_AntiCheatServer_LogPlayerTakeDamageName = "_EOS_AntiCheatServer_LogPlayerTakeDamage@8"; + private const string EOS_AntiCheatServer_LogPlayerTickName = "_EOS_AntiCheatServer_LogPlayerTick@8"; + private const string EOS_AntiCheatServer_LogPlayerUseAbilityName = "_EOS_AntiCheatServer_LogPlayerUseAbility@8"; + private const string EOS_AntiCheatServer_LogPlayerUseWeaponName = "_EOS_AntiCheatServer_LogPlayerUseWeapon@8"; + private const string EOS_AntiCheatServer_ProtectMessageName = "_EOS_AntiCheatServer_ProtectMessage@16"; + private const string EOS_AntiCheatServer_ReceiveMessageFromClientName = "_EOS_AntiCheatServer_ReceiveMessageFromClient@8"; + private const string EOS_AntiCheatServer_RegisterClientName = "_EOS_AntiCheatServer_RegisterClient@8"; + private const string EOS_AntiCheatServer_RegisterEventName = "_EOS_AntiCheatServer_RegisterEvent@8"; + private const string EOS_AntiCheatServer_RemoveNotifyClientActionRequiredName = "_EOS_AntiCheatServer_RemoveNotifyClientActionRequired@12"; + private const string EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedName = "_EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged@12"; + private const string EOS_AntiCheatServer_RemoveNotifyMessageToClientName = "_EOS_AntiCheatServer_RemoveNotifyMessageToClient@12"; + private const string EOS_AntiCheatServer_SetClientDetailsName = "_EOS_AntiCheatServer_SetClientDetails@8"; + private const string EOS_AntiCheatServer_SetClientNetworkStateName = "_EOS_AntiCheatServer_SetClientNetworkState@8"; + private const string EOS_AntiCheatServer_SetGameSessionIdName = "_EOS_AntiCheatServer_SetGameSessionId@8"; + private const string EOS_AntiCheatServer_UnprotectMessageName = "_EOS_AntiCheatServer_UnprotectMessage@16"; + private const string EOS_AntiCheatServer_UnregisterClientName = "_EOS_AntiCheatServer_UnregisterClient@8"; + private const string EOS_Auth_AddNotifyLoginStatusChangedName = "_EOS_Auth_AddNotifyLoginStatusChanged@16"; + private const string EOS_Auth_CopyIdTokenName = "_EOS_Auth_CopyIdToken@12"; + private const string EOS_Auth_CopyUserAuthTokenName = "_EOS_Auth_CopyUserAuthToken@16"; + private const string EOS_Auth_DeletePersistentAuthName = "_EOS_Auth_DeletePersistentAuth@16"; + private const string EOS_Auth_GetLoggedInAccountByIndexName = "_EOS_Auth_GetLoggedInAccountByIndex@8"; + private const string EOS_Auth_GetLoggedInAccountsCountName = "_EOS_Auth_GetLoggedInAccountsCount@4"; + private const string EOS_Auth_GetLoginStatusName = "_EOS_Auth_GetLoginStatus@8"; + private const string EOS_Auth_GetMergedAccountByIndexName = "_EOS_Auth_GetMergedAccountByIndex@12"; + private const string EOS_Auth_GetMergedAccountsCountName = "_EOS_Auth_GetMergedAccountsCount@8"; + private const string EOS_Auth_GetSelectedAccountIdName = "_EOS_Auth_GetSelectedAccountId@12"; + private const string EOS_Auth_IdToken_ReleaseName = "_EOS_Auth_IdToken_Release@4"; + private const string EOS_Auth_LinkAccountName = "_EOS_Auth_LinkAccount@16"; + private const string EOS_Auth_LoginName = "_EOS_Auth_Login@16"; + private const string EOS_Auth_LogoutName = "_EOS_Auth_Logout@16"; + private const string EOS_Auth_QueryIdTokenName = "_EOS_Auth_QueryIdToken@16"; + private const string EOS_Auth_RemoveNotifyLoginStatusChangedName = "_EOS_Auth_RemoveNotifyLoginStatusChanged@12"; + private const string EOS_Auth_Token_ReleaseName = "_EOS_Auth_Token_Release@4"; + private const string EOS_Auth_VerifyIdTokenName = "_EOS_Auth_VerifyIdToken@16"; + private const string EOS_Auth_VerifyUserAuthName = "_EOS_Auth_VerifyUserAuth@16"; + private const string EOS_ByteArray_ToStringName = "_EOS_ByteArray_ToString@16"; + private const string EOS_Connect_AddNotifyAuthExpirationName = "_EOS_Connect_AddNotifyAuthExpiration@16"; + private const string EOS_Connect_AddNotifyLoginStatusChangedName = "_EOS_Connect_AddNotifyLoginStatusChanged@16"; + private const string EOS_Connect_CopyIdTokenName = "_EOS_Connect_CopyIdToken@12"; + private const string EOS_Connect_CopyProductUserExternalAccountByAccountIdName = "_EOS_Connect_CopyProductUserExternalAccountByAccountId@12"; + private const string EOS_Connect_CopyProductUserExternalAccountByAccountTypeName = "_EOS_Connect_CopyProductUserExternalAccountByAccountType@12"; + private const string EOS_Connect_CopyProductUserExternalAccountByIndexName = "_EOS_Connect_CopyProductUserExternalAccountByIndex@12"; + private const string EOS_Connect_CopyProductUserInfoName = "_EOS_Connect_CopyProductUserInfo@12"; + private const string EOS_Connect_CreateDeviceIdName = "_EOS_Connect_CreateDeviceId@16"; + private const string EOS_Connect_CreateUserName = "_EOS_Connect_CreateUser@16"; + private const string EOS_Connect_DeleteDeviceIdName = "_EOS_Connect_DeleteDeviceId@16"; + private const string EOS_Connect_ExternalAccountInfo_ReleaseName = "_EOS_Connect_ExternalAccountInfo_Release@4"; + private const string EOS_Connect_GetExternalAccountMappingName = "_EOS_Connect_GetExternalAccountMapping@8"; + private const string EOS_Connect_GetLoggedInUserByIndexName = "_EOS_Connect_GetLoggedInUserByIndex@8"; + private const string EOS_Connect_GetLoggedInUsersCountName = "_EOS_Connect_GetLoggedInUsersCount@4"; + private const string EOS_Connect_GetLoginStatusName = "_EOS_Connect_GetLoginStatus@8"; + private const string EOS_Connect_GetProductUserExternalAccountCountName = "_EOS_Connect_GetProductUserExternalAccountCount@8"; + private const string EOS_Connect_GetProductUserIdMappingName = "_EOS_Connect_GetProductUserIdMapping@16"; + private const string EOS_Connect_IdToken_ReleaseName = "_EOS_Connect_IdToken_Release@4"; + private const string EOS_Connect_LinkAccountName = "_EOS_Connect_LinkAccount@16"; + private const string EOS_Connect_LoginName = "_EOS_Connect_Login@16"; + private const string EOS_Connect_LogoutName = "_EOS_Connect_Logout@16"; + private const string EOS_Connect_QueryExternalAccountMappingsName = "_EOS_Connect_QueryExternalAccountMappings@16"; + private const string EOS_Connect_QueryProductUserIdMappingsName = "_EOS_Connect_QueryProductUserIdMappings@16"; + private const string EOS_Connect_RemoveNotifyAuthExpirationName = "_EOS_Connect_RemoveNotifyAuthExpiration@12"; + private const string EOS_Connect_RemoveNotifyLoginStatusChangedName = "_EOS_Connect_RemoveNotifyLoginStatusChanged@12"; + private const string EOS_Connect_TransferDeviceIdAccountName = "_EOS_Connect_TransferDeviceIdAccount@16"; + private const string EOS_Connect_UnlinkAccountName = "_EOS_Connect_UnlinkAccount@16"; + private const string EOS_Connect_VerifyIdTokenName = "_EOS_Connect_VerifyIdToken@16"; + private const string EOS_ContinuanceToken_ToStringName = "_EOS_ContinuanceToken_ToString@12"; + private const string EOS_CustomInvites_AcceptRequestToJoinName = "_EOS_CustomInvites_AcceptRequestToJoin@16"; + private const string EOS_CustomInvites_AddNotifyCustomInviteAcceptedName = "_EOS_CustomInvites_AddNotifyCustomInviteAccepted@16"; + private const string EOS_CustomInvites_AddNotifyCustomInviteReceivedName = "_EOS_CustomInvites_AddNotifyCustomInviteReceived@16"; + private const string EOS_CustomInvites_AddNotifyCustomInviteRejectedName = "_EOS_CustomInvites_AddNotifyCustomInviteRejected@16"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinAcceptedName = "_EOS_CustomInvites_AddNotifyRequestToJoinAccepted@16"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinReceivedName = "_EOS_CustomInvites_AddNotifyRequestToJoinReceived@16"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinRejectedName = "_EOS_CustomInvites_AddNotifyRequestToJoinRejected@16"; + private const string EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedName = "_EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived@16"; + private const string EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedName = "_EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested@16"; + private const string EOS_CustomInvites_FinalizeInviteName = "_EOS_CustomInvites_FinalizeInvite@8"; + private const string EOS_CustomInvites_RejectRequestToJoinName = "_EOS_CustomInvites_RejectRequestToJoin@16"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedName = "_EOS_CustomInvites_RemoveNotifyCustomInviteAccepted@12"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteReceivedName = "_EOS_CustomInvites_RemoveNotifyCustomInviteReceived@12"; + private const string EOS_CustomInvites_RemoveNotifyCustomInviteRejectedName = "_EOS_CustomInvites_RemoveNotifyCustomInviteRejected@12"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted@12"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinReceived@12"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinRejected@12"; + private const string EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedName = "_EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived@12"; + private const string EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedName = "_EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested@12"; + private const string EOS_CustomInvites_SendCustomInviteName = "_EOS_CustomInvites_SendCustomInvite@16"; + private const string EOS_CustomInvites_SendRequestToJoinName = "_EOS_CustomInvites_SendRequestToJoin@16"; + private const string EOS_CustomInvites_SetCustomInviteName = "_EOS_CustomInvites_SetCustomInvite@8"; + private const string EOS_EApplicationStatus_ToStringName = "_EOS_EApplicationStatus_ToString@4"; + private const string EOS_ENetworkStatus_ToStringName = "_EOS_ENetworkStatus_ToString@4"; + private const string EOS_EResult_IsOperationCompleteName = "_EOS_EResult_IsOperationComplete@4"; + private const string EOS_EResult_ToStringName = "_EOS_EResult_ToString@4"; + private const string EOS_Ecom_CatalogItem_ReleaseName = "_EOS_Ecom_CatalogItem_Release@4"; + private const string EOS_Ecom_CatalogOffer_ReleaseName = "_EOS_Ecom_CatalogOffer_Release@4"; + private const string EOS_Ecom_CatalogRelease_ReleaseName = "_EOS_Ecom_CatalogRelease_Release@4"; + private const string EOS_Ecom_CheckoutName = "_EOS_Ecom_Checkout@16"; + private const string EOS_Ecom_CopyEntitlementByIdName = "_EOS_Ecom_CopyEntitlementById@12"; + private const string EOS_Ecom_CopyEntitlementByIndexName = "_EOS_Ecom_CopyEntitlementByIndex@12"; + private const string EOS_Ecom_CopyEntitlementByNameAndIndexName = "_EOS_Ecom_CopyEntitlementByNameAndIndex@12"; + private const string EOS_Ecom_CopyItemByIdName = "_EOS_Ecom_CopyItemById@12"; + private const string EOS_Ecom_CopyItemImageInfoByIndexName = "_EOS_Ecom_CopyItemImageInfoByIndex@12"; + private const string EOS_Ecom_CopyItemReleaseByIndexName = "_EOS_Ecom_CopyItemReleaseByIndex@12"; + private const string EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexName = "_EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex@16"; + private const string EOS_Ecom_CopyLastRedeemedEntitlementByIndexName = "_EOS_Ecom_CopyLastRedeemedEntitlementByIndex@16"; + private const string EOS_Ecom_CopyOfferByIdName = "_EOS_Ecom_CopyOfferById@12"; + private const string EOS_Ecom_CopyOfferByIndexName = "_EOS_Ecom_CopyOfferByIndex@12"; + private const string EOS_Ecom_CopyOfferImageInfoByIndexName = "_EOS_Ecom_CopyOfferImageInfoByIndex@12"; + private const string EOS_Ecom_CopyOfferItemByIndexName = "_EOS_Ecom_CopyOfferItemByIndex@12"; + private const string EOS_Ecom_CopyTransactionByIdName = "_EOS_Ecom_CopyTransactionById@12"; + private const string EOS_Ecom_CopyTransactionByIndexName = "_EOS_Ecom_CopyTransactionByIndex@12"; + private const string EOS_Ecom_Entitlement_ReleaseName = "_EOS_Ecom_Entitlement_Release@4"; + private const string EOS_Ecom_GetEntitlementsByNameCountName = "_EOS_Ecom_GetEntitlementsByNameCount@8"; + private const string EOS_Ecom_GetEntitlementsCountName = "_EOS_Ecom_GetEntitlementsCount@8"; + private const string EOS_Ecom_GetItemImageInfoCountName = "_EOS_Ecom_GetItemImageInfoCount@8"; + private const string EOS_Ecom_GetItemReleaseCountName = "_EOS_Ecom_GetItemReleaseCount@8"; + private const string EOS_Ecom_GetLastRedeemEntitlementsResultCountName = "_EOS_Ecom_GetLastRedeemEntitlementsResultCount@8"; + private const string EOS_Ecom_GetLastRedeemedEntitlementsCountName = "_EOS_Ecom_GetLastRedeemedEntitlementsCount@8"; + private const string EOS_Ecom_GetOfferCountName = "_EOS_Ecom_GetOfferCount@8"; + private const string EOS_Ecom_GetOfferImageInfoCountName = "_EOS_Ecom_GetOfferImageInfoCount@8"; + private const string EOS_Ecom_GetOfferItemCountName = "_EOS_Ecom_GetOfferItemCount@8"; + private const string EOS_Ecom_GetTransactionCountName = "_EOS_Ecom_GetTransactionCount@8"; + private const string EOS_Ecom_KeyImageInfo_ReleaseName = "_EOS_Ecom_KeyImageInfo_Release@4"; + private const string EOS_Ecom_QueryEntitlementTokenName = "_EOS_Ecom_QueryEntitlementToken@16"; + private const string EOS_Ecom_QueryEntitlementsName = "_EOS_Ecom_QueryEntitlements@16"; + private const string EOS_Ecom_QueryOffersName = "_EOS_Ecom_QueryOffers@16"; + private const string EOS_Ecom_QueryOwnershipName = "_EOS_Ecom_QueryOwnership@16"; + private const string EOS_Ecom_QueryOwnershipBySandboxIdsName = "_EOS_Ecom_QueryOwnershipBySandboxIds@16"; + private const string EOS_Ecom_QueryOwnershipTokenName = "_EOS_Ecom_QueryOwnershipToken@16"; + private const string EOS_Ecom_RedeemEntitlementsName = "_EOS_Ecom_RedeemEntitlements@16"; + private const string EOS_Ecom_Transaction_CopyEntitlementByIndexName = "_EOS_Ecom_Transaction_CopyEntitlementByIndex@12"; + private const string EOS_Ecom_Transaction_GetEntitlementsCountName = "_EOS_Ecom_Transaction_GetEntitlementsCount@8"; + private const string EOS_Ecom_Transaction_GetTransactionIdName = "_EOS_Ecom_Transaction_GetTransactionId@12"; + private const string EOS_Ecom_Transaction_ReleaseName = "_EOS_Ecom_Transaction_Release@4"; + private const string EOS_EpicAccountId_FromStringName = "_EOS_EpicAccountId_FromString@4"; + private const string EOS_EpicAccountId_IsValidName = "_EOS_EpicAccountId_IsValid@4"; + private const string EOS_EpicAccountId_ToStringName = "_EOS_EpicAccountId_ToString@12"; + private const string EOS_Friends_AcceptInviteName = "_EOS_Friends_AcceptInvite@16"; + private const string EOS_Friends_AddNotifyBlockedUsersUpdateName = "_EOS_Friends_AddNotifyBlockedUsersUpdate@16"; + private const string EOS_Friends_AddNotifyFriendsUpdateName = "_EOS_Friends_AddNotifyFriendsUpdate@16"; + private const string EOS_Friends_GetBlockedUserAtIndexName = "_EOS_Friends_GetBlockedUserAtIndex@8"; + private const string EOS_Friends_GetBlockedUsersCountName = "_EOS_Friends_GetBlockedUsersCount@8"; + private const string EOS_Friends_GetFriendAtIndexName = "_EOS_Friends_GetFriendAtIndex@8"; + private const string EOS_Friends_GetFriendsCountName = "_EOS_Friends_GetFriendsCount@8"; + private const string EOS_Friends_GetStatusName = "_EOS_Friends_GetStatus@8"; + private const string EOS_Friends_QueryFriendsName = "_EOS_Friends_QueryFriends@16"; + private const string EOS_Friends_RejectInviteName = "_EOS_Friends_RejectInvite@16"; + private const string EOS_Friends_RemoveNotifyBlockedUsersUpdateName = "_EOS_Friends_RemoveNotifyBlockedUsersUpdate@12"; + private const string EOS_Friends_RemoveNotifyFriendsUpdateName = "_EOS_Friends_RemoveNotifyFriendsUpdate@12"; + private const string EOS_Friends_SendInviteName = "_EOS_Friends_SendInvite@16"; + private const string EOS_GetVersionName = "_EOS_GetVersion@0"; + private const string EOS_InitializeName = "_EOS_Initialize@4"; + private const string EOS_IntegratedPlatformOptionsContainer_AddName = "_EOS_IntegratedPlatformOptionsContainer_Add@8"; + private const string EOS_IntegratedPlatformOptionsContainer_ReleaseName = "_EOS_IntegratedPlatformOptionsContainer_Release@4"; + private const string EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedName = "_EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged@16"; + private const string EOS_IntegratedPlatform_ClearUserPreLogoutCallbackName = "_EOS_IntegratedPlatform_ClearUserPreLogoutCallback@8"; + private const string EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerName = "_EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer@8"; + private const string EOS_IntegratedPlatform_FinalizeDeferredUserLogoutName = "_EOS_IntegratedPlatform_FinalizeDeferredUserLogout@8"; + private const string EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedName = "_EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged@12"; + private const string EOS_IntegratedPlatform_SetUserLoginStatusName = "_EOS_IntegratedPlatform_SetUserLoginStatus@8"; + private const string EOS_IntegratedPlatform_SetUserPreLogoutCallbackName = "_EOS_IntegratedPlatform_SetUserPreLogoutCallback@16"; + private const string EOS_KWS_AddNotifyPermissionsUpdateReceivedName = "_EOS_KWS_AddNotifyPermissionsUpdateReceived@16"; + private const string EOS_KWS_CopyPermissionByIndexName = "_EOS_KWS_CopyPermissionByIndex@12"; + private const string EOS_KWS_CreateUserName = "_EOS_KWS_CreateUser@16"; + private const string EOS_KWS_GetPermissionByKeyName = "_EOS_KWS_GetPermissionByKey@12"; + private const string EOS_KWS_GetPermissionsCountName = "_EOS_KWS_GetPermissionsCount@8"; + private const string EOS_KWS_PermissionStatus_ReleaseName = "_EOS_KWS_PermissionStatus_Release@4"; + private const string EOS_KWS_QueryAgeGateName = "_EOS_KWS_QueryAgeGate@16"; + private const string EOS_KWS_QueryPermissionsName = "_EOS_KWS_QueryPermissions@16"; + private const string EOS_KWS_RemoveNotifyPermissionsUpdateReceivedName = "_EOS_KWS_RemoveNotifyPermissionsUpdateReceived@12"; + private const string EOS_KWS_RequestPermissionsName = "_EOS_KWS_RequestPermissions@16"; + private const string EOS_KWS_UpdateParentEmailName = "_EOS_KWS_UpdateParentEmail@16"; + private const string EOS_Leaderboards_CopyLeaderboardDefinitionByIndexName = "_EOS_Leaderboards_CopyLeaderboardDefinitionByIndex@12"; + private const string EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdName = "_EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId@12"; + private const string EOS_Leaderboards_CopyLeaderboardRecordByIndexName = "_EOS_Leaderboards_CopyLeaderboardRecordByIndex@12"; + private const string EOS_Leaderboards_CopyLeaderboardRecordByUserIdName = "_EOS_Leaderboards_CopyLeaderboardRecordByUserId@12"; + private const string EOS_Leaderboards_CopyLeaderboardUserScoreByIndexName = "_EOS_Leaderboards_CopyLeaderboardUserScoreByIndex@12"; + private const string EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdName = "_EOS_Leaderboards_CopyLeaderboardUserScoreByUserId@12"; + private const string EOS_Leaderboards_Definition_ReleaseName = "_EOS_Leaderboards_Definition_Release@4"; + private const string EOS_Leaderboards_GetLeaderboardDefinitionCountName = "_EOS_Leaderboards_GetLeaderboardDefinitionCount@8"; + private const string EOS_Leaderboards_GetLeaderboardRecordCountName = "_EOS_Leaderboards_GetLeaderboardRecordCount@8"; + private const string EOS_Leaderboards_GetLeaderboardUserScoreCountName = "_EOS_Leaderboards_GetLeaderboardUserScoreCount@8"; + private const string EOS_Leaderboards_LeaderboardRecord_ReleaseName = "_EOS_Leaderboards_LeaderboardRecord_Release@4"; + private const string EOS_Leaderboards_LeaderboardUserScore_ReleaseName = "_EOS_Leaderboards_LeaderboardUserScore_Release@4"; + private const string EOS_Leaderboards_QueryLeaderboardDefinitionsName = "_EOS_Leaderboards_QueryLeaderboardDefinitions@16"; + private const string EOS_Leaderboards_QueryLeaderboardRanksName = "_EOS_Leaderboards_QueryLeaderboardRanks@16"; + private const string EOS_Leaderboards_QueryLeaderboardUserScoresName = "_EOS_Leaderboards_QueryLeaderboardUserScores@16"; + private const string EOS_LobbyDetails_CopyAttributeByIndexName = "_EOS_LobbyDetails_CopyAttributeByIndex@12"; + private const string EOS_LobbyDetails_CopyAttributeByKeyName = "_EOS_LobbyDetails_CopyAttributeByKey@12"; + private const string EOS_LobbyDetails_CopyInfoName = "_EOS_LobbyDetails_CopyInfo@12"; + private const string EOS_LobbyDetails_CopyMemberAttributeByIndexName = "_EOS_LobbyDetails_CopyMemberAttributeByIndex@12"; + private const string EOS_LobbyDetails_CopyMemberAttributeByKeyName = "_EOS_LobbyDetails_CopyMemberAttributeByKey@12"; + private const string EOS_LobbyDetails_CopyMemberInfoName = "_EOS_LobbyDetails_CopyMemberInfo@12"; + private const string EOS_LobbyDetails_GetAttributeCountName = "_EOS_LobbyDetails_GetAttributeCount@8"; + private const string EOS_LobbyDetails_GetLobbyOwnerName = "_EOS_LobbyDetails_GetLobbyOwner@8"; + private const string EOS_LobbyDetails_GetMemberAttributeCountName = "_EOS_LobbyDetails_GetMemberAttributeCount@8"; + private const string EOS_LobbyDetails_GetMemberByIndexName = "_EOS_LobbyDetails_GetMemberByIndex@8"; + private const string EOS_LobbyDetails_GetMemberCountName = "_EOS_LobbyDetails_GetMemberCount@8"; + private const string EOS_LobbyDetails_Info_ReleaseName = "_EOS_LobbyDetails_Info_Release@4"; + private const string EOS_LobbyDetails_MemberInfo_ReleaseName = "_EOS_LobbyDetails_MemberInfo_Release@4"; + private const string EOS_LobbyDetails_ReleaseName = "_EOS_LobbyDetails_Release@4"; + private const string EOS_LobbyModification_AddAttributeName = "_EOS_LobbyModification_AddAttribute@8"; + private const string EOS_LobbyModification_AddMemberAttributeName = "_EOS_LobbyModification_AddMemberAttribute@8"; + private const string EOS_LobbyModification_ReleaseName = "_EOS_LobbyModification_Release@4"; + private const string EOS_LobbyModification_RemoveAttributeName = "_EOS_LobbyModification_RemoveAttribute@8"; + private const string EOS_LobbyModification_RemoveMemberAttributeName = "_EOS_LobbyModification_RemoveMemberAttribute@8"; + private const string EOS_LobbyModification_SetAllowedPlatformIdsName = "_EOS_LobbyModification_SetAllowedPlatformIds@8"; + private const string EOS_LobbyModification_SetBucketIdName = "_EOS_LobbyModification_SetBucketId@8"; + private const string EOS_LobbyModification_SetInvitesAllowedName = "_EOS_LobbyModification_SetInvitesAllowed@8"; + private const string EOS_LobbyModification_SetMaxMembersName = "_EOS_LobbyModification_SetMaxMembers@8"; + private const string EOS_LobbyModification_SetPermissionLevelName = "_EOS_LobbyModification_SetPermissionLevel@8"; + private const string EOS_LobbySearch_CopySearchResultByIndexName = "_EOS_LobbySearch_CopySearchResultByIndex@12"; + private const string EOS_LobbySearch_FindName = "_EOS_LobbySearch_Find@16"; + private const string EOS_LobbySearch_GetSearchResultCountName = "_EOS_LobbySearch_GetSearchResultCount@8"; + private const string EOS_LobbySearch_ReleaseName = "_EOS_LobbySearch_Release@4"; + private const string EOS_LobbySearch_RemoveParameterName = "_EOS_LobbySearch_RemoveParameter@8"; + private const string EOS_LobbySearch_SetLobbyIdName = "_EOS_LobbySearch_SetLobbyId@8"; + private const string EOS_LobbySearch_SetMaxResultsName = "_EOS_LobbySearch_SetMaxResults@8"; + private const string EOS_LobbySearch_SetParameterName = "_EOS_LobbySearch_SetParameter@8"; + private const string EOS_LobbySearch_SetTargetUserIdName = "_EOS_LobbySearch_SetTargetUserId@8"; + private const string EOS_Lobby_AddNotifyJoinLobbyAcceptedName = "_EOS_Lobby_AddNotifyJoinLobbyAccepted@16"; + private const string EOS_Lobby_AddNotifyLeaveLobbyRequestedName = "_EOS_Lobby_AddNotifyLeaveLobbyRequested@16"; + private const string EOS_Lobby_AddNotifyLobbyInviteAcceptedName = "_EOS_Lobby_AddNotifyLobbyInviteAccepted@16"; + private const string EOS_Lobby_AddNotifyLobbyInviteReceivedName = "_EOS_Lobby_AddNotifyLobbyInviteReceived@16"; + private const string EOS_Lobby_AddNotifyLobbyInviteRejectedName = "_EOS_Lobby_AddNotifyLobbyInviteRejected@16"; + private const string EOS_Lobby_AddNotifyLobbyMemberStatusReceivedName = "_EOS_Lobby_AddNotifyLobbyMemberStatusReceived@16"; + private const string EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedName = "_EOS_Lobby_AddNotifyLobbyMemberUpdateReceived@16"; + private const string EOS_Lobby_AddNotifyLobbyUpdateReceivedName = "_EOS_Lobby_AddNotifyLobbyUpdateReceived@16"; + private const string EOS_Lobby_AddNotifyRTCRoomConnectionChangedName = "_EOS_Lobby_AddNotifyRTCRoomConnectionChanged@16"; + private const string EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedName = "_EOS_Lobby_AddNotifySendLobbyNativeInviteRequested@16"; + private const string EOS_Lobby_Attribute_ReleaseName = "_EOS_Lobby_Attribute_Release@4"; + private const string EOS_Lobby_CopyLobbyDetailsHandleName = "_EOS_Lobby_CopyLobbyDetailsHandle@12"; + private const string EOS_Lobby_CopyLobbyDetailsHandleByInviteIdName = "_EOS_Lobby_CopyLobbyDetailsHandleByInviteId@12"; + private const string EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdName = "_EOS_Lobby_CopyLobbyDetailsHandleByUiEventId@12"; + private const string EOS_Lobby_CreateLobbyName = "_EOS_Lobby_CreateLobby@16"; + private const string EOS_Lobby_CreateLobbySearchName = "_EOS_Lobby_CreateLobbySearch@12"; + private const string EOS_Lobby_DestroyLobbyName = "_EOS_Lobby_DestroyLobby@16"; + private const string EOS_Lobby_GetConnectStringName = "_EOS_Lobby_GetConnectString@16"; + private const string EOS_Lobby_GetInviteCountName = "_EOS_Lobby_GetInviteCount@8"; + private const string EOS_Lobby_GetInviteIdByIndexName = "_EOS_Lobby_GetInviteIdByIndex@16"; + private const string EOS_Lobby_GetRTCRoomNameName = "_EOS_Lobby_GetRTCRoomName@16"; + private const string EOS_Lobby_HardMuteMemberName = "_EOS_Lobby_HardMuteMember@16"; + private const string EOS_Lobby_IsRTCRoomConnectedName = "_EOS_Lobby_IsRTCRoomConnected@12"; + private const string EOS_Lobby_JoinLobbyName = "_EOS_Lobby_JoinLobby@16"; + private const string EOS_Lobby_JoinLobbyByIdName = "_EOS_Lobby_JoinLobbyById@16"; + private const string EOS_Lobby_JoinRTCRoomName = "_EOS_Lobby_JoinRTCRoom@16"; + private const string EOS_Lobby_KickMemberName = "_EOS_Lobby_KickMember@16"; + private const string EOS_Lobby_LeaveLobbyName = "_EOS_Lobby_LeaveLobby@16"; + private const string EOS_Lobby_LeaveRTCRoomName = "_EOS_Lobby_LeaveRTCRoom@16"; + private const string EOS_Lobby_ParseConnectStringName = "_EOS_Lobby_ParseConnectString@16"; + private const string EOS_Lobby_PromoteMemberName = "_EOS_Lobby_PromoteMember@16"; + private const string EOS_Lobby_QueryInvitesName = "_EOS_Lobby_QueryInvites@16"; + private const string EOS_Lobby_RejectInviteName = "_EOS_Lobby_RejectInvite@16"; + private const string EOS_Lobby_RemoveNotifyJoinLobbyAcceptedName = "_EOS_Lobby_RemoveNotifyJoinLobbyAccepted@12"; + private const string EOS_Lobby_RemoveNotifyLeaveLobbyRequestedName = "_EOS_Lobby_RemoveNotifyLeaveLobbyRequested@12"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteAcceptedName = "_EOS_Lobby_RemoveNotifyLobbyInviteAccepted@12"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteReceivedName = "_EOS_Lobby_RemoveNotifyLobbyInviteReceived@12"; + private const string EOS_Lobby_RemoveNotifyLobbyInviteRejectedName = "_EOS_Lobby_RemoveNotifyLobbyInviteRejected@12"; + private const string EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedName = "_EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived@12"; + private const string EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedName = "_EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived@12"; + private const string EOS_Lobby_RemoveNotifyLobbyUpdateReceivedName = "_EOS_Lobby_RemoveNotifyLobbyUpdateReceived@12"; + private const string EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedName = "_EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged@12"; + private const string EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedName = "_EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested@12"; + private const string EOS_Lobby_SendInviteName = "_EOS_Lobby_SendInvite@16"; + private const string EOS_Lobby_UpdateLobbyName = "_EOS_Lobby_UpdateLobby@16"; + private const string EOS_Lobby_UpdateLobbyModificationName = "_EOS_Lobby_UpdateLobbyModification@12"; + private const string EOS_Logging_SetCallbackName = "_EOS_Logging_SetCallback@4"; + private const string EOS_Logging_SetLogLevelName = "_EOS_Logging_SetLogLevel@8"; + private const string EOS_Metrics_BeginPlayerSessionName = "_EOS_Metrics_BeginPlayerSession@8"; + private const string EOS_Metrics_EndPlayerSessionName = "_EOS_Metrics_EndPlayerSession@8"; + private const string EOS_Mods_CopyModInfoName = "_EOS_Mods_CopyModInfo@12"; + private const string EOS_Mods_EnumerateModsName = "_EOS_Mods_EnumerateMods@16"; + private const string EOS_Mods_InstallModName = "_EOS_Mods_InstallMod@16"; + private const string EOS_Mods_ModInfo_ReleaseName = "_EOS_Mods_ModInfo_Release@4"; + private const string EOS_Mods_UninstallModName = "_EOS_Mods_UninstallMod@16"; + private const string EOS_Mods_UpdateModName = "_EOS_Mods_UpdateMod@16"; + private const string EOS_P2P_AcceptConnectionName = "_EOS_P2P_AcceptConnection@8"; + private const string EOS_P2P_AddNotifyIncomingPacketQueueFullName = "_EOS_P2P_AddNotifyIncomingPacketQueueFull@16"; + private const string EOS_P2P_AddNotifyPeerConnectionClosedName = "_EOS_P2P_AddNotifyPeerConnectionClosed@16"; + private const string EOS_P2P_AddNotifyPeerConnectionEstablishedName = "_EOS_P2P_AddNotifyPeerConnectionEstablished@16"; + private const string EOS_P2P_AddNotifyPeerConnectionInterruptedName = "_EOS_P2P_AddNotifyPeerConnectionInterrupted@16"; + private const string EOS_P2P_AddNotifyPeerConnectionRequestName = "_EOS_P2P_AddNotifyPeerConnectionRequest@16"; + private const string EOS_P2P_ClearPacketQueueName = "_EOS_P2P_ClearPacketQueue@8"; + private const string EOS_P2P_CloseConnectionName = "_EOS_P2P_CloseConnection@8"; + private const string EOS_P2P_CloseConnectionsName = "_EOS_P2P_CloseConnections@8"; + private const string EOS_P2P_GetNATTypeName = "_EOS_P2P_GetNATType@12"; + private const string EOS_P2P_GetNextReceivedPacketSizeName = "_EOS_P2P_GetNextReceivedPacketSize@12"; + private const string EOS_P2P_GetPacketQueueInfoName = "_EOS_P2P_GetPacketQueueInfo@12"; + private const string EOS_P2P_GetPortRangeName = "_EOS_P2P_GetPortRange@16"; + private const string EOS_P2P_GetRelayControlName = "_EOS_P2P_GetRelayControl@12"; + private const string EOS_P2P_QueryNATTypeName = "_EOS_P2P_QueryNATType@16"; + private const string EOS_P2P_ReceivePacketName = "_EOS_P2P_ReceivePacket@28"; + private const string EOS_P2P_RemoveNotifyIncomingPacketQueueFullName = "_EOS_P2P_RemoveNotifyIncomingPacketQueueFull@12"; + private const string EOS_P2P_RemoveNotifyPeerConnectionClosedName = "_EOS_P2P_RemoveNotifyPeerConnectionClosed@12"; + private const string EOS_P2P_RemoveNotifyPeerConnectionEstablishedName = "_EOS_P2P_RemoveNotifyPeerConnectionEstablished@12"; + private const string EOS_P2P_RemoveNotifyPeerConnectionInterruptedName = "_EOS_P2P_RemoveNotifyPeerConnectionInterrupted@12"; + private const string EOS_P2P_RemoveNotifyPeerConnectionRequestName = "_EOS_P2P_RemoveNotifyPeerConnectionRequest@12"; + private const string EOS_P2P_SendPacketName = "_EOS_P2P_SendPacket@8"; + private const string EOS_P2P_SetPacketQueueSizeName = "_EOS_P2P_SetPacketQueueSize@8"; + private const string EOS_P2P_SetPortRangeName = "_EOS_P2P_SetPortRange@8"; + private const string EOS_P2P_SetRelayControlName = "_EOS_P2P_SetRelayControl@8"; + private const string EOS_Platform_CheckForLauncherAndRestartName = "_EOS_Platform_CheckForLauncherAndRestart@4"; + private const string EOS_Platform_CreateName = "_EOS_Platform_Create@4"; + private const string EOS_Platform_GetAchievementsInterfaceName = "_EOS_Platform_GetAchievementsInterface@4"; + private const string EOS_Platform_GetActiveCountryCodeName = "_EOS_Platform_GetActiveCountryCode@16"; + private const string EOS_Platform_GetActiveLocaleCodeName = "_EOS_Platform_GetActiveLocaleCode@16"; + private const string EOS_Platform_GetAntiCheatClientInterfaceName = "_EOS_Platform_GetAntiCheatClientInterface@4"; + private const string EOS_Platform_GetAntiCheatServerInterfaceName = "_EOS_Platform_GetAntiCheatServerInterface@4"; + private const string EOS_Platform_GetApplicationStatusName = "_EOS_Platform_GetApplicationStatus@4"; + private const string EOS_Platform_GetAuthInterfaceName = "_EOS_Platform_GetAuthInterface@4"; + private const string EOS_Platform_GetConnectInterfaceName = "_EOS_Platform_GetConnectInterface@4"; + private const string EOS_Platform_GetCustomInvitesInterfaceName = "_EOS_Platform_GetCustomInvitesInterface@4"; + private const string EOS_Platform_GetDesktopCrossplayStatusName = "_EOS_Platform_GetDesktopCrossplayStatus@12"; + private const string EOS_Platform_GetEcomInterfaceName = "_EOS_Platform_GetEcomInterface@4"; + private const string EOS_Platform_GetFriendsInterfaceName = "_EOS_Platform_GetFriendsInterface@4"; + private const string EOS_Platform_GetIntegratedPlatformInterfaceName = "_EOS_Platform_GetIntegratedPlatformInterface@4"; + private const string EOS_Platform_GetKWSInterfaceName = "_EOS_Platform_GetKWSInterface@4"; + private const string EOS_Platform_GetLeaderboardsInterfaceName = "_EOS_Platform_GetLeaderboardsInterface@4"; + private const string EOS_Platform_GetLobbyInterfaceName = "_EOS_Platform_GetLobbyInterface@4"; + private const string EOS_Platform_GetMetricsInterfaceName = "_EOS_Platform_GetMetricsInterface@4"; + private const string EOS_Platform_GetModsInterfaceName = "_EOS_Platform_GetModsInterface@4"; + private const string EOS_Platform_GetNetworkStatusName = "_EOS_Platform_GetNetworkStatus@4"; + private const string EOS_Platform_GetOverrideCountryCodeName = "_EOS_Platform_GetOverrideCountryCode@12"; + private const string EOS_Platform_GetOverrideLocaleCodeName = "_EOS_Platform_GetOverrideLocaleCode@12"; + private const string EOS_Platform_GetP2PInterfaceName = "_EOS_Platform_GetP2PInterface@4"; + private const string EOS_Platform_GetPlayerDataStorageInterfaceName = "_EOS_Platform_GetPlayerDataStorageInterface@4"; + private const string EOS_Platform_GetPresenceInterfaceName = "_EOS_Platform_GetPresenceInterface@4"; + private const string EOS_Platform_GetProgressionSnapshotInterfaceName = "_EOS_Platform_GetProgressionSnapshotInterface@4"; + private const string EOS_Platform_GetRTCAdminInterfaceName = "_EOS_Platform_GetRTCAdminInterface@4"; + private const string EOS_Platform_GetRTCInterfaceName = "_EOS_Platform_GetRTCInterface@4"; + private const string EOS_Platform_GetReportsInterfaceName = "_EOS_Platform_GetReportsInterface@4"; + private const string EOS_Platform_GetSanctionsInterfaceName = "_EOS_Platform_GetSanctionsInterface@4"; + private const string EOS_Platform_GetSessionsInterfaceName = "_EOS_Platform_GetSessionsInterface@4"; + private const string EOS_Platform_GetStatsInterfaceName = "_EOS_Platform_GetStatsInterface@4"; + private const string EOS_Platform_GetTitleStorageInterfaceName = "_EOS_Platform_GetTitleStorageInterface@4"; + private const string EOS_Platform_GetUIInterfaceName = "_EOS_Platform_GetUIInterface@4"; + private const string EOS_Platform_GetUserInfoInterfaceName = "_EOS_Platform_GetUserInfoInterface@4"; + private const string EOS_Platform_ReleaseName = "_EOS_Platform_Release@4"; + private const string EOS_Platform_SetApplicationStatusName = "_EOS_Platform_SetApplicationStatus@8"; + private const string EOS_Platform_SetNetworkStatusName = "_EOS_Platform_SetNetworkStatus@8"; + private const string EOS_Platform_SetOverrideCountryCodeName = "_EOS_Platform_SetOverrideCountryCode@8"; + private const string EOS_Platform_SetOverrideLocaleCodeName = "_EOS_Platform_SetOverrideLocaleCode@8"; + private const string EOS_Platform_TickName = "_EOS_Platform_Tick@4"; + private const string EOS_PlayerDataStorageFileTransferRequest_CancelRequestName = "_EOS_PlayerDataStorageFileTransferRequest_CancelRequest@4"; + private const string EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateName = "_EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState@4"; + private const string EOS_PlayerDataStorageFileTransferRequest_GetFilenameName = "_EOS_PlayerDataStorageFileTransferRequest_GetFilename@16"; + private const string EOS_PlayerDataStorageFileTransferRequest_ReleaseName = "_EOS_PlayerDataStorageFileTransferRequest_Release@4"; + private const string EOS_PlayerDataStorage_CopyFileMetadataAtIndexName = "_EOS_PlayerDataStorage_CopyFileMetadataAtIndex@12"; + private const string EOS_PlayerDataStorage_CopyFileMetadataByFilenameName = "_EOS_PlayerDataStorage_CopyFileMetadataByFilename@12"; + private const string EOS_PlayerDataStorage_DeleteCacheName = "_EOS_PlayerDataStorage_DeleteCache@16"; + private const string EOS_PlayerDataStorage_DeleteFileName = "_EOS_PlayerDataStorage_DeleteFile@16"; + private const string EOS_PlayerDataStorage_DuplicateFileName = "_EOS_PlayerDataStorage_DuplicateFile@16"; + private const string EOS_PlayerDataStorage_FileMetadata_ReleaseName = "_EOS_PlayerDataStorage_FileMetadata_Release@4"; + private const string EOS_PlayerDataStorage_GetFileMetadataCountName = "_EOS_PlayerDataStorage_GetFileMetadataCount@12"; + private const string EOS_PlayerDataStorage_QueryFileName = "_EOS_PlayerDataStorage_QueryFile@16"; + private const string EOS_PlayerDataStorage_QueryFileListName = "_EOS_PlayerDataStorage_QueryFileList@16"; + private const string EOS_PlayerDataStorage_ReadFileName = "_EOS_PlayerDataStorage_ReadFile@16"; + private const string EOS_PlayerDataStorage_WriteFileName = "_EOS_PlayerDataStorage_WriteFile@16"; + private const string EOS_PresenceModification_DeleteDataName = "_EOS_PresenceModification_DeleteData@8"; + private const string EOS_PresenceModification_ReleaseName = "_EOS_PresenceModification_Release@4"; + private const string EOS_PresenceModification_SetDataName = "_EOS_PresenceModification_SetData@8"; + private const string EOS_PresenceModification_SetJoinInfoName = "_EOS_PresenceModification_SetJoinInfo@8"; + private const string EOS_PresenceModification_SetRawRichTextName = "_EOS_PresenceModification_SetRawRichText@8"; + private const string EOS_PresenceModification_SetStatusName = "_EOS_PresenceModification_SetStatus@8"; + private const string EOS_PresenceModification_SetTemplateDataName = "_EOS_PresenceModification_SetTemplateData@8"; + private const string EOS_PresenceModification_SetTemplateIdName = "_EOS_PresenceModification_SetTemplateId@8"; + private const string EOS_Presence_AddNotifyJoinGameAcceptedName = "_EOS_Presence_AddNotifyJoinGameAccepted@16"; + private const string EOS_Presence_AddNotifyOnPresenceChangedName = "_EOS_Presence_AddNotifyOnPresenceChanged@16"; + private const string EOS_Presence_CopyPresenceName = "_EOS_Presence_CopyPresence@12"; + private const string EOS_Presence_CreatePresenceModificationName = "_EOS_Presence_CreatePresenceModification@12"; + private const string EOS_Presence_GetJoinInfoName = "_EOS_Presence_GetJoinInfo@16"; + private const string EOS_Presence_HasPresenceName = "_EOS_Presence_HasPresence@8"; + private const string EOS_Presence_Info_ReleaseName = "_EOS_Presence_Info_Release@4"; + private const string EOS_Presence_QueryPresenceName = "_EOS_Presence_QueryPresence@16"; + private const string EOS_Presence_RemoveNotifyJoinGameAcceptedName = "_EOS_Presence_RemoveNotifyJoinGameAccepted@12"; + private const string EOS_Presence_RemoveNotifyOnPresenceChangedName = "_EOS_Presence_RemoveNotifyOnPresenceChanged@12"; + private const string EOS_Presence_SetPresenceName = "_EOS_Presence_SetPresence@16"; + private const string EOS_ProductUserId_FromStringName = "_EOS_ProductUserId_FromString@4"; + private const string EOS_ProductUserId_IsValidName = "_EOS_ProductUserId_IsValid@4"; + private const string EOS_ProductUserId_ToStringName = "_EOS_ProductUserId_ToString@12"; + private const string EOS_ProgressionSnapshot_AddProgressionName = "_EOS_ProgressionSnapshot_AddProgression@8"; + private const string EOS_ProgressionSnapshot_BeginSnapshotName = "_EOS_ProgressionSnapshot_BeginSnapshot@12"; + private const string EOS_ProgressionSnapshot_DeleteSnapshotName = "_EOS_ProgressionSnapshot_DeleteSnapshot@16"; + private const string EOS_ProgressionSnapshot_EndSnapshotName = "_EOS_ProgressionSnapshot_EndSnapshot@8"; + private const string EOS_ProgressionSnapshot_SubmitSnapshotName = "_EOS_ProgressionSnapshot_SubmitSnapshot@16"; + private const string EOS_RTCAdmin_CopyUserTokenByIndexName = "_EOS_RTCAdmin_CopyUserTokenByIndex@12"; + private const string EOS_RTCAdmin_CopyUserTokenByUserIdName = "_EOS_RTCAdmin_CopyUserTokenByUserId@12"; + private const string EOS_RTCAdmin_KickName = "_EOS_RTCAdmin_Kick@16"; + private const string EOS_RTCAdmin_QueryJoinRoomTokenName = "_EOS_RTCAdmin_QueryJoinRoomToken@16"; + private const string EOS_RTCAdmin_SetParticipantHardMuteName = "_EOS_RTCAdmin_SetParticipantHardMute@16"; + private const string EOS_RTCAdmin_UserToken_ReleaseName = "_EOS_RTCAdmin_UserToken_Release@4"; + private const string EOS_RTCAudio_AddNotifyAudioBeforeRenderName = "_EOS_RTCAudio_AddNotifyAudioBeforeRender@16"; + private const string EOS_RTCAudio_AddNotifyAudioBeforeSendName = "_EOS_RTCAudio_AddNotifyAudioBeforeSend@16"; + private const string EOS_RTCAudio_AddNotifyAudioDevicesChangedName = "_EOS_RTCAudio_AddNotifyAudioDevicesChanged@16"; + private const string EOS_RTCAudio_AddNotifyAudioInputStateName = "_EOS_RTCAudio_AddNotifyAudioInputState@16"; + private const string EOS_RTCAudio_AddNotifyAudioOutputStateName = "_EOS_RTCAudio_AddNotifyAudioOutputState@16"; + private const string EOS_RTCAudio_AddNotifyParticipantUpdatedName = "_EOS_RTCAudio_AddNotifyParticipantUpdated@16"; + private const string EOS_RTCAudio_CopyInputDeviceInformationByIndexName = "_EOS_RTCAudio_CopyInputDeviceInformationByIndex@12"; + private const string EOS_RTCAudio_CopyOutputDeviceInformationByIndexName = "_EOS_RTCAudio_CopyOutputDeviceInformationByIndex@12"; + private const string EOS_RTCAudio_GetAudioInputDeviceByIndexName = "_EOS_RTCAudio_GetAudioInputDeviceByIndex@8"; + private const string EOS_RTCAudio_GetAudioInputDevicesCountName = "_EOS_RTCAudio_GetAudioInputDevicesCount@8"; + private const string EOS_RTCAudio_GetAudioOutputDeviceByIndexName = "_EOS_RTCAudio_GetAudioOutputDeviceByIndex@8"; + private const string EOS_RTCAudio_GetAudioOutputDevicesCountName = "_EOS_RTCAudio_GetAudioOutputDevicesCount@8"; + private const string EOS_RTCAudio_GetInputDevicesCountName = "_EOS_RTCAudio_GetInputDevicesCount@8"; + private const string EOS_RTCAudio_GetOutputDevicesCountName = "_EOS_RTCAudio_GetOutputDevicesCount@8"; + private const string EOS_RTCAudio_InputDeviceInformation_ReleaseName = "_EOS_RTCAudio_InputDeviceInformation_Release@4"; + private const string EOS_RTCAudio_OutputDeviceInformation_ReleaseName = "_EOS_RTCAudio_OutputDeviceInformation_Release@4"; + private const string EOS_RTCAudio_QueryInputDevicesInformationName = "_EOS_RTCAudio_QueryInputDevicesInformation@16"; + private const string EOS_RTCAudio_QueryOutputDevicesInformationName = "_EOS_RTCAudio_QueryOutputDevicesInformation@16"; + private const string EOS_RTCAudio_RegisterPlatformAudioUserName = "_EOS_RTCAudio_RegisterPlatformAudioUser@8"; + private const string EOS_RTCAudio_RegisterPlatformUserName = "_EOS_RTCAudio_RegisterPlatformUser@16"; + private const string EOS_RTCAudio_RemoveNotifyAudioBeforeRenderName = "_EOS_RTCAudio_RemoveNotifyAudioBeforeRender@12"; + private const string EOS_RTCAudio_RemoveNotifyAudioBeforeSendName = "_EOS_RTCAudio_RemoveNotifyAudioBeforeSend@12"; + private const string EOS_RTCAudio_RemoveNotifyAudioDevicesChangedName = "_EOS_RTCAudio_RemoveNotifyAudioDevicesChanged@12"; + private const string EOS_RTCAudio_RemoveNotifyAudioInputStateName = "_EOS_RTCAudio_RemoveNotifyAudioInputState@12"; + private const string EOS_RTCAudio_RemoveNotifyAudioOutputStateName = "_EOS_RTCAudio_RemoveNotifyAudioOutputState@12"; + private const string EOS_RTCAudio_RemoveNotifyParticipantUpdatedName = "_EOS_RTCAudio_RemoveNotifyParticipantUpdated@12"; + private const string EOS_RTCAudio_SendAudioName = "_EOS_RTCAudio_SendAudio@8"; + private const string EOS_RTCAudio_SetAudioInputSettingsName = "_EOS_RTCAudio_SetAudioInputSettings@8"; + private const string EOS_RTCAudio_SetAudioOutputSettingsName = "_EOS_RTCAudio_SetAudioOutputSettings@8"; + private const string EOS_RTCAudio_SetInputDeviceSettingsName = "_EOS_RTCAudio_SetInputDeviceSettings@16"; + private const string EOS_RTCAudio_SetOutputDeviceSettingsName = "_EOS_RTCAudio_SetOutputDeviceSettings@16"; + private const string EOS_RTCAudio_UnregisterPlatformAudioUserName = "_EOS_RTCAudio_UnregisterPlatformAudioUser@8"; + private const string EOS_RTCAudio_UnregisterPlatformUserName = "_EOS_RTCAudio_UnregisterPlatformUser@16"; + private const string EOS_RTCAudio_UpdateParticipantVolumeName = "_EOS_RTCAudio_UpdateParticipantVolume@16"; + private const string EOS_RTCAudio_UpdateReceivingName = "_EOS_RTCAudio_UpdateReceiving@16"; + private const string EOS_RTCAudio_UpdateReceivingVolumeName = "_EOS_RTCAudio_UpdateReceivingVolume@16"; + private const string EOS_RTCAudio_UpdateSendingName = "_EOS_RTCAudio_UpdateSending@16"; + private const string EOS_RTCAudio_UpdateSendingVolumeName = "_EOS_RTCAudio_UpdateSendingVolume@16"; + private const string EOS_RTCData_AddNotifyDataReceivedName = "_EOS_RTCData_AddNotifyDataReceived@16"; + private const string EOS_RTCData_AddNotifyParticipantUpdatedName = "_EOS_RTCData_AddNotifyParticipantUpdated@16"; + private const string EOS_RTCData_RemoveNotifyDataReceivedName = "_EOS_RTCData_RemoveNotifyDataReceived@12"; + private const string EOS_RTCData_RemoveNotifyParticipantUpdatedName = "_EOS_RTCData_RemoveNotifyParticipantUpdated@12"; + private const string EOS_RTCData_SendDataName = "_EOS_RTCData_SendData@8"; + private const string EOS_RTCData_UpdateReceivingName = "_EOS_RTCData_UpdateReceiving@16"; + private const string EOS_RTCData_UpdateSendingName = "_EOS_RTCData_UpdateSending@16"; + private const string EOS_RTC_AddNotifyDisconnectedName = "_EOS_RTC_AddNotifyDisconnected@16"; + private const string EOS_RTC_AddNotifyParticipantStatusChangedName = "_EOS_RTC_AddNotifyParticipantStatusChanged@16"; + private const string EOS_RTC_AddNotifyRoomBeforeJoinName = "_EOS_RTC_AddNotifyRoomBeforeJoin@16"; + private const string EOS_RTC_AddNotifyRoomStatisticsUpdatedName = "_EOS_RTC_AddNotifyRoomStatisticsUpdated@16"; + private const string EOS_RTC_BlockParticipantName = "_EOS_RTC_BlockParticipant@16"; + private const string EOS_RTC_GetAudioInterfaceName = "_EOS_RTC_GetAudioInterface@4"; + private const string EOS_RTC_GetDataInterfaceName = "_EOS_RTC_GetDataInterface@4"; + private const string EOS_RTC_JoinRoomName = "_EOS_RTC_JoinRoom@16"; + private const string EOS_RTC_LeaveRoomName = "_EOS_RTC_LeaveRoom@16"; + private const string EOS_RTC_RemoveNotifyDisconnectedName = "_EOS_RTC_RemoveNotifyDisconnected@12"; + private const string EOS_RTC_RemoveNotifyParticipantStatusChangedName = "_EOS_RTC_RemoveNotifyParticipantStatusChanged@12"; + private const string EOS_RTC_RemoveNotifyRoomBeforeJoinName = "_EOS_RTC_RemoveNotifyRoomBeforeJoin@12"; + private const string EOS_RTC_RemoveNotifyRoomStatisticsUpdatedName = "_EOS_RTC_RemoveNotifyRoomStatisticsUpdated@12"; + private const string EOS_RTC_SetRoomSettingName = "_EOS_RTC_SetRoomSetting@8"; + private const string EOS_RTC_SetSettingName = "_EOS_RTC_SetSetting@8"; + private const string EOS_Reports_SendPlayerBehaviorReportName = "_EOS_Reports_SendPlayerBehaviorReport@16"; + private const string EOS_Sanctions_CopyPlayerSanctionByIndexName = "_EOS_Sanctions_CopyPlayerSanctionByIndex@12"; + private const string EOS_Sanctions_CreatePlayerSanctionAppealName = "_EOS_Sanctions_CreatePlayerSanctionAppeal@16"; + private const string EOS_Sanctions_GetPlayerSanctionCountName = "_EOS_Sanctions_GetPlayerSanctionCount@8"; + private const string EOS_Sanctions_PlayerSanction_ReleaseName = "_EOS_Sanctions_PlayerSanction_Release@4"; + private const string EOS_Sanctions_QueryActivePlayerSanctionsName = "_EOS_Sanctions_QueryActivePlayerSanctions@16"; + private const string EOS_SessionDetails_Attribute_ReleaseName = "_EOS_SessionDetails_Attribute_Release@4"; + private const string EOS_SessionDetails_CopyInfoName = "_EOS_SessionDetails_CopyInfo@12"; + private const string EOS_SessionDetails_CopySessionAttributeByIndexName = "_EOS_SessionDetails_CopySessionAttributeByIndex@12"; + private const string EOS_SessionDetails_CopySessionAttributeByKeyName = "_EOS_SessionDetails_CopySessionAttributeByKey@12"; + private const string EOS_SessionDetails_GetSessionAttributeCountName = "_EOS_SessionDetails_GetSessionAttributeCount@8"; + private const string EOS_SessionDetails_Info_ReleaseName = "_EOS_SessionDetails_Info_Release@4"; + private const string EOS_SessionDetails_ReleaseName = "_EOS_SessionDetails_Release@4"; + private const string EOS_SessionModification_AddAttributeName = "_EOS_SessionModification_AddAttribute@8"; + private const string EOS_SessionModification_ReleaseName = "_EOS_SessionModification_Release@4"; + private const string EOS_SessionModification_RemoveAttributeName = "_EOS_SessionModification_RemoveAttribute@8"; + private const string EOS_SessionModification_SetAllowedPlatformIdsName = "_EOS_SessionModification_SetAllowedPlatformIds@8"; + private const string EOS_SessionModification_SetBucketIdName = "_EOS_SessionModification_SetBucketId@8"; + private const string EOS_SessionModification_SetHostAddressName = "_EOS_SessionModification_SetHostAddress@8"; + private const string EOS_SessionModification_SetInvitesAllowedName = "_EOS_SessionModification_SetInvitesAllowed@8"; + private const string EOS_SessionModification_SetJoinInProgressAllowedName = "_EOS_SessionModification_SetJoinInProgressAllowed@8"; + private const string EOS_SessionModification_SetMaxPlayersName = "_EOS_SessionModification_SetMaxPlayers@8"; + private const string EOS_SessionModification_SetPermissionLevelName = "_EOS_SessionModification_SetPermissionLevel@8"; + private const string EOS_SessionSearch_CopySearchResultByIndexName = "_EOS_SessionSearch_CopySearchResultByIndex@12"; + private const string EOS_SessionSearch_FindName = "_EOS_SessionSearch_Find@16"; + private const string EOS_SessionSearch_GetSearchResultCountName = "_EOS_SessionSearch_GetSearchResultCount@8"; + private const string EOS_SessionSearch_ReleaseName = "_EOS_SessionSearch_Release@4"; + private const string EOS_SessionSearch_RemoveParameterName = "_EOS_SessionSearch_RemoveParameter@8"; + private const string EOS_SessionSearch_SetMaxResultsName = "_EOS_SessionSearch_SetMaxResults@8"; + private const string EOS_SessionSearch_SetParameterName = "_EOS_SessionSearch_SetParameter@8"; + private const string EOS_SessionSearch_SetSessionIdName = "_EOS_SessionSearch_SetSessionId@8"; + private const string EOS_SessionSearch_SetTargetUserIdName = "_EOS_SessionSearch_SetTargetUserId@8"; + private const string EOS_Sessions_AddNotifyJoinSessionAcceptedName = "_EOS_Sessions_AddNotifyJoinSessionAccepted@16"; + private const string EOS_Sessions_AddNotifyLeaveSessionRequestedName = "_EOS_Sessions_AddNotifyLeaveSessionRequested@16"; + private const string EOS_Sessions_AddNotifySendSessionNativeInviteRequestedName = "_EOS_Sessions_AddNotifySendSessionNativeInviteRequested@16"; + private const string EOS_Sessions_AddNotifySessionInviteAcceptedName = "_EOS_Sessions_AddNotifySessionInviteAccepted@16"; + private const string EOS_Sessions_AddNotifySessionInviteReceivedName = "_EOS_Sessions_AddNotifySessionInviteReceived@16"; + private const string EOS_Sessions_AddNotifySessionInviteRejectedName = "_EOS_Sessions_AddNotifySessionInviteRejected@16"; + private const string EOS_Sessions_CopyActiveSessionHandleName = "_EOS_Sessions_CopyActiveSessionHandle@12"; + private const string EOS_Sessions_CopySessionHandleByInviteIdName = "_EOS_Sessions_CopySessionHandleByInviteId@12"; + private const string EOS_Sessions_CopySessionHandleByUiEventIdName = "_EOS_Sessions_CopySessionHandleByUiEventId@12"; + private const string EOS_Sessions_CopySessionHandleForPresenceName = "_EOS_Sessions_CopySessionHandleForPresence@12"; + private const string EOS_Sessions_CreateSessionModificationName = "_EOS_Sessions_CreateSessionModification@12"; + private const string EOS_Sessions_CreateSessionSearchName = "_EOS_Sessions_CreateSessionSearch@12"; + private const string EOS_Sessions_DestroySessionName = "_EOS_Sessions_DestroySession@16"; + private const string EOS_Sessions_DumpSessionStateName = "_EOS_Sessions_DumpSessionState@8"; + private const string EOS_Sessions_EndSessionName = "_EOS_Sessions_EndSession@16"; + private const string EOS_Sessions_GetInviteCountName = "_EOS_Sessions_GetInviteCount@8"; + private const string EOS_Sessions_GetInviteIdByIndexName = "_EOS_Sessions_GetInviteIdByIndex@16"; + private const string EOS_Sessions_IsUserInSessionName = "_EOS_Sessions_IsUserInSession@8"; + private const string EOS_Sessions_JoinSessionName = "_EOS_Sessions_JoinSession@16"; + private const string EOS_Sessions_QueryInvitesName = "_EOS_Sessions_QueryInvites@16"; + private const string EOS_Sessions_RegisterPlayersName = "_EOS_Sessions_RegisterPlayers@16"; + private const string EOS_Sessions_RejectInviteName = "_EOS_Sessions_RejectInvite@16"; + private const string EOS_Sessions_RemoveNotifyJoinSessionAcceptedName = "_EOS_Sessions_RemoveNotifyJoinSessionAccepted@12"; + private const string EOS_Sessions_RemoveNotifyLeaveSessionRequestedName = "_EOS_Sessions_RemoveNotifyLeaveSessionRequested@12"; + private const string EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedName = "_EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested@12"; + private const string EOS_Sessions_RemoveNotifySessionInviteAcceptedName = "_EOS_Sessions_RemoveNotifySessionInviteAccepted@12"; + private const string EOS_Sessions_RemoveNotifySessionInviteReceivedName = "_EOS_Sessions_RemoveNotifySessionInviteReceived@12"; + private const string EOS_Sessions_RemoveNotifySessionInviteRejectedName = "_EOS_Sessions_RemoveNotifySessionInviteRejected@12"; + private const string EOS_Sessions_SendInviteName = "_EOS_Sessions_SendInvite@16"; + private const string EOS_Sessions_StartSessionName = "_EOS_Sessions_StartSession@16"; + private const string EOS_Sessions_UnregisterPlayersName = "_EOS_Sessions_UnregisterPlayers@16"; + private const string EOS_Sessions_UpdateSessionName = "_EOS_Sessions_UpdateSession@16"; + private const string EOS_Sessions_UpdateSessionModificationName = "_EOS_Sessions_UpdateSessionModification@12"; + private const string EOS_ShutdownName = "_EOS_Shutdown@0"; + private const string EOS_Stats_CopyStatByIndexName = "_EOS_Stats_CopyStatByIndex@12"; + private const string EOS_Stats_CopyStatByNameName = "_EOS_Stats_CopyStatByName@12"; + private const string EOS_Stats_GetStatsCountName = "_EOS_Stats_GetStatsCount@8"; + private const string EOS_Stats_IngestStatName = "_EOS_Stats_IngestStat@16"; + private const string EOS_Stats_QueryStatsName = "_EOS_Stats_QueryStats@16"; + private const string EOS_Stats_Stat_ReleaseName = "_EOS_Stats_Stat_Release@4"; + private const string EOS_TitleStorageFileTransferRequest_CancelRequestName = "_EOS_TitleStorageFileTransferRequest_CancelRequest@4"; + private const string EOS_TitleStorageFileTransferRequest_GetFileRequestStateName = "_EOS_TitleStorageFileTransferRequest_GetFileRequestState@4"; + private const string EOS_TitleStorageFileTransferRequest_GetFilenameName = "_EOS_TitleStorageFileTransferRequest_GetFilename@16"; + private const string EOS_TitleStorageFileTransferRequest_ReleaseName = "_EOS_TitleStorageFileTransferRequest_Release@4"; + private const string EOS_TitleStorage_CopyFileMetadataAtIndexName = "_EOS_TitleStorage_CopyFileMetadataAtIndex@12"; + private const string EOS_TitleStorage_CopyFileMetadataByFilenameName = "_EOS_TitleStorage_CopyFileMetadataByFilename@12"; + private const string EOS_TitleStorage_DeleteCacheName = "_EOS_TitleStorage_DeleteCache@16"; + private const string EOS_TitleStorage_FileMetadata_ReleaseName = "_EOS_TitleStorage_FileMetadata_Release@4"; + private const string EOS_TitleStorage_GetFileMetadataCountName = "_EOS_TitleStorage_GetFileMetadataCount@8"; + private const string EOS_TitleStorage_QueryFileName = "_EOS_TitleStorage_QueryFile@16"; + private const string EOS_TitleStorage_QueryFileListName = "_EOS_TitleStorage_QueryFileList@16"; + private const string EOS_TitleStorage_ReadFileName = "_EOS_TitleStorage_ReadFile@16"; + private const string EOS_UI_AcknowledgeEventIdName = "_EOS_UI_AcknowledgeEventId@8"; + private const string EOS_UI_AddNotifyDisplaySettingsUpdatedName = "_EOS_UI_AddNotifyDisplaySettingsUpdated@16"; + private const string EOS_UI_AddNotifyMemoryMonitorName = "_EOS_UI_AddNotifyMemoryMonitor@16"; + private const string EOS_UI_AddNotifyOnScreenKeyboardRequestedName = "_EOS_UI_AddNotifyOnScreenKeyboardRequested@16"; + private const string EOS_UI_ConfigureOnScreenKeyboardName = "_EOS_UI_ConfigureOnScreenKeyboard@8"; + private const string EOS_UI_GetFriendsExclusiveInputName = "_EOS_UI_GetFriendsExclusiveInput@8"; + private const string EOS_UI_GetFriendsVisibleName = "_EOS_UI_GetFriendsVisible@8"; + private const string EOS_UI_GetNotificationLocationPreferenceName = "_EOS_UI_GetNotificationLocationPreference@4"; + private const string EOS_UI_GetToggleFriendsButtonName = "_EOS_UI_GetToggleFriendsButton@8"; + private const string EOS_UI_GetToggleFriendsKeyName = "_EOS_UI_GetToggleFriendsKey@8"; + private const string EOS_UI_HideFriendsName = "_EOS_UI_HideFriends@16"; + private const string EOS_UI_IsSocialOverlayPausedName = "_EOS_UI_IsSocialOverlayPaused@8"; + private const string EOS_UI_IsValidButtonCombinationName = "_EOS_UI_IsValidButtonCombination@8"; + private const string EOS_UI_IsValidKeyCombinationName = "_EOS_UI_IsValidKeyCombination@8"; + private const string EOS_UI_PauseSocialOverlayName = "_EOS_UI_PauseSocialOverlay@8"; + private const string EOS_UI_PrePresentName = "_EOS_UI_PrePresent@8"; + private const string EOS_UI_RemoveNotifyDisplaySettingsUpdatedName = "_EOS_UI_RemoveNotifyDisplaySettingsUpdated@12"; + private const string EOS_UI_RemoveNotifyMemoryMonitorName = "_EOS_UI_RemoveNotifyMemoryMonitor@12"; + private const string EOS_UI_RemoveNotifyOnScreenKeyboardRequestedName = "_EOS_UI_RemoveNotifyOnScreenKeyboardRequested@12"; + private const string EOS_UI_ReportInputStateName = "_EOS_UI_ReportInputState@8"; + private const string EOS_UI_SetDisplayPreferenceName = "_EOS_UI_SetDisplayPreference@8"; + private const string EOS_UI_SetToggleFriendsButtonName = "_EOS_UI_SetToggleFriendsButton@8"; + private const string EOS_UI_SetToggleFriendsKeyName = "_EOS_UI_SetToggleFriendsKey@8"; + private const string EOS_UI_ShowBlockPlayerName = "_EOS_UI_ShowBlockPlayer@16"; + private const string EOS_UI_ShowFriendsName = "_EOS_UI_ShowFriends@16"; + private const string EOS_UI_ShowNativeProfileName = "_EOS_UI_ShowNativeProfile@16"; + private const string EOS_UI_ShowReportPlayerName = "_EOS_UI_ShowReportPlayer@16"; + private const string EOS_UserInfo_BestDisplayName_ReleaseName = "_EOS_UserInfo_BestDisplayName_Release@4"; + private const string EOS_UserInfo_CopyBestDisplayNameName = "_EOS_UserInfo_CopyBestDisplayName@12"; + private const string EOS_UserInfo_CopyBestDisplayNameWithPlatformName = "_EOS_UserInfo_CopyBestDisplayNameWithPlatform@12"; + private const string EOS_UserInfo_CopyExternalUserInfoByAccountIdName = "_EOS_UserInfo_CopyExternalUserInfoByAccountId@12"; + private const string EOS_UserInfo_CopyExternalUserInfoByAccountTypeName = "_EOS_UserInfo_CopyExternalUserInfoByAccountType@12"; + private const string EOS_UserInfo_CopyExternalUserInfoByIndexName = "_EOS_UserInfo_CopyExternalUserInfoByIndex@12"; + private const string EOS_UserInfo_CopyUserInfoName = "_EOS_UserInfo_CopyUserInfo@12"; + private const string EOS_UserInfo_ExternalUserInfo_ReleaseName = "_EOS_UserInfo_ExternalUserInfo_Release@4"; + private const string EOS_UserInfo_GetExternalUserInfoCountName = "_EOS_UserInfo_GetExternalUserInfoCount@8"; + private const string EOS_UserInfo_GetLocalPlatformTypeName = "_EOS_UserInfo_GetLocalPlatformType@8"; + private const string EOS_UserInfo_QueryUserInfoName = "_EOS_UserInfo_QueryUserInfo@16"; + private const string EOS_UserInfo_QueryUserInfoByDisplayNameName = "_EOS_UserInfo_QueryUserInfoByDisplayName@16"; + private const string EOS_UserInfo_QueryUserInfoByExternalAccountName = "_EOS_UserInfo_QueryUserInfoByExternalAccount@16"; + private const string EOS_UserInfo_ReleaseName = "_EOS_UserInfo_Release@4"; +#endif + +#if EOS_DYNAMIC_BINDINGS + /// + /// Hooks dynamic bindings. + /// + /// A handle to the library to find functions in. The type is platform dependent, but would typically be an . + /// A delegate that takes a library handle and function name, and returns an which is a pointer to the function within the library. + public static void Hook(TLibraryHandle libraryHandle, Func getFunctionPointer) + { + IntPtr functionPointer; + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_AddNotifyAchievementsUnlockedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_AddNotifyAchievementsUnlockedName); + EOS_Achievements_AddNotifyAchievementsUnlocked = (EOS_Achievements_AddNotifyAchievementsUnlockedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_AddNotifyAchievementsUnlockedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_AddNotifyAchievementsUnlockedV2Name); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_AddNotifyAchievementsUnlockedV2Name); + EOS_Achievements_AddNotifyAchievementsUnlockedV2 = (EOS_Achievements_AddNotifyAchievementsUnlockedV2Delegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_AddNotifyAchievementsUnlockedV2Delegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyAchievementDefinitionByAchievementIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyAchievementDefinitionByAchievementIdName); + EOS_Achievements_CopyAchievementDefinitionByAchievementId = (EOS_Achievements_CopyAchievementDefinitionByAchievementIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyAchievementDefinitionByAchievementIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyAchievementDefinitionByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyAchievementDefinitionByIndexName); + EOS_Achievements_CopyAchievementDefinitionByIndex = (EOS_Achievements_CopyAchievementDefinitionByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyAchievementDefinitionByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdName); + EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId = (EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyAchievementDefinitionV2ByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyAchievementDefinitionV2ByIndexName); + EOS_Achievements_CopyAchievementDefinitionV2ByIndex = (EOS_Achievements_CopyAchievementDefinitionV2ByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyAchievementDefinitionV2ByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyPlayerAchievementByAchievementIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyPlayerAchievementByAchievementIdName); + EOS_Achievements_CopyPlayerAchievementByAchievementId = (EOS_Achievements_CopyPlayerAchievementByAchievementIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyPlayerAchievementByAchievementIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyPlayerAchievementByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyPlayerAchievementByIndexName); + EOS_Achievements_CopyPlayerAchievementByIndex = (EOS_Achievements_CopyPlayerAchievementByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyPlayerAchievementByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyUnlockedAchievementByAchievementIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyUnlockedAchievementByAchievementIdName); + EOS_Achievements_CopyUnlockedAchievementByAchievementId = (EOS_Achievements_CopyUnlockedAchievementByAchievementIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyUnlockedAchievementByAchievementIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_CopyUnlockedAchievementByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_CopyUnlockedAchievementByIndexName); + EOS_Achievements_CopyUnlockedAchievementByIndex = (EOS_Achievements_CopyUnlockedAchievementByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_CopyUnlockedAchievementByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_DefinitionV2_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_DefinitionV2_ReleaseName); + EOS_Achievements_DefinitionV2_Release = (EOS_Achievements_DefinitionV2_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_DefinitionV2_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_Definition_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_Definition_ReleaseName); + EOS_Achievements_Definition_Release = (EOS_Achievements_Definition_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_Definition_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_GetAchievementDefinitionCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_GetAchievementDefinitionCountName); + EOS_Achievements_GetAchievementDefinitionCount = (EOS_Achievements_GetAchievementDefinitionCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_GetAchievementDefinitionCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_GetPlayerAchievementCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_GetPlayerAchievementCountName); + EOS_Achievements_GetPlayerAchievementCount = (EOS_Achievements_GetPlayerAchievementCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_GetPlayerAchievementCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_GetUnlockedAchievementCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_GetUnlockedAchievementCountName); + EOS_Achievements_GetUnlockedAchievementCount = (EOS_Achievements_GetUnlockedAchievementCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_GetUnlockedAchievementCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_PlayerAchievement_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_PlayerAchievement_ReleaseName); + EOS_Achievements_PlayerAchievement_Release = (EOS_Achievements_PlayerAchievement_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_PlayerAchievement_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_QueryDefinitionsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_QueryDefinitionsName); + EOS_Achievements_QueryDefinitions = (EOS_Achievements_QueryDefinitionsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_QueryDefinitionsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_QueryPlayerAchievementsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_QueryPlayerAchievementsName); + EOS_Achievements_QueryPlayerAchievements = (EOS_Achievements_QueryPlayerAchievementsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_QueryPlayerAchievementsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_RemoveNotifyAchievementsUnlockedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_RemoveNotifyAchievementsUnlockedName); + EOS_Achievements_RemoveNotifyAchievementsUnlocked = (EOS_Achievements_RemoveNotifyAchievementsUnlockedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_RemoveNotifyAchievementsUnlockedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_UnlockAchievementsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_UnlockAchievementsName); + EOS_Achievements_UnlockAchievements = (EOS_Achievements_UnlockAchievementsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_UnlockAchievementsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Achievements_UnlockedAchievement_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Achievements_UnlockedAchievement_ReleaseName); + EOS_Achievements_UnlockedAchievement_Release = (EOS_Achievements_UnlockedAchievement_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Achievements_UnlockedAchievement_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ActiveSession_CopyInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ActiveSession_CopyInfoName); + EOS_ActiveSession_CopyInfo = (EOS_ActiveSession_CopyInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ActiveSession_CopyInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ActiveSession_GetRegisteredPlayerByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ActiveSession_GetRegisteredPlayerByIndexName); + EOS_ActiveSession_GetRegisteredPlayerByIndex = (EOS_ActiveSession_GetRegisteredPlayerByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ActiveSession_GetRegisteredPlayerByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ActiveSession_GetRegisteredPlayerCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ActiveSession_GetRegisteredPlayerCountName); + EOS_ActiveSession_GetRegisteredPlayerCount = (EOS_ActiveSession_GetRegisteredPlayerCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ActiveSession_GetRegisteredPlayerCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ActiveSession_Info_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ActiveSession_Info_ReleaseName); + EOS_ActiveSession_Info_Release = (EOS_ActiveSession_Info_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ActiveSession_Info_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ActiveSession_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ActiveSession_ReleaseName); + EOS_ActiveSession_Release = (EOS_ActiveSession_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ActiveSession_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_AddExternalIntegrityCatalogName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_AddExternalIntegrityCatalogName); + EOS_AntiCheatClient_AddExternalIntegrityCatalog = (EOS_AntiCheatClient_AddExternalIntegrityCatalogDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_AddExternalIntegrityCatalogDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedName); + EOS_AntiCheatClient_AddNotifyClientIntegrityViolated = (EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_AddNotifyMessageToPeerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_AddNotifyMessageToPeerName); + EOS_AntiCheatClient_AddNotifyMessageToPeer = (EOS_AntiCheatClient_AddNotifyMessageToPeerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_AddNotifyMessageToPeerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_AddNotifyMessageToServerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_AddNotifyMessageToServerName); + EOS_AntiCheatClient_AddNotifyMessageToServer = (EOS_AntiCheatClient_AddNotifyMessageToServerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_AddNotifyMessageToServerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_AddNotifyPeerActionRequiredName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_AddNotifyPeerActionRequiredName); + EOS_AntiCheatClient_AddNotifyPeerActionRequired = (EOS_AntiCheatClient_AddNotifyPeerActionRequiredDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_AddNotifyPeerActionRequiredDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedName); + EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged = (EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_BeginSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_BeginSessionName); + EOS_AntiCheatClient_BeginSession = (EOS_AntiCheatClient_BeginSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_BeginSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_EndSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_EndSessionName); + EOS_AntiCheatClient_EndSession = (EOS_AntiCheatClient_EndSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_EndSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_GetModuleBuildIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_GetModuleBuildIdName); + EOS_AntiCheatClient_GetModuleBuildId = (EOS_AntiCheatClient_GetModuleBuildIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_GetModuleBuildIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_GetProtectMessageOutputLengthName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_GetProtectMessageOutputLengthName); + EOS_AntiCheatClient_GetProtectMessageOutputLength = (EOS_AntiCheatClient_GetProtectMessageOutputLengthDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_GetProtectMessageOutputLengthDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_PollStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_PollStatusName); + EOS_AntiCheatClient_PollStatus = (EOS_AntiCheatClient_PollStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_PollStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_ProtectMessageName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_ProtectMessageName); + EOS_AntiCheatClient_ProtectMessage = (EOS_AntiCheatClient_ProtectMessageDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_ProtectMessageDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_ReceiveMessageFromPeerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_ReceiveMessageFromPeerName); + EOS_AntiCheatClient_ReceiveMessageFromPeer = (EOS_AntiCheatClient_ReceiveMessageFromPeerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_ReceiveMessageFromPeerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_ReceiveMessageFromServerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_ReceiveMessageFromServerName); + EOS_AntiCheatClient_ReceiveMessageFromServer = (EOS_AntiCheatClient_ReceiveMessageFromServerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_ReceiveMessageFromServerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_RegisterPeerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_RegisterPeerName); + EOS_AntiCheatClient_RegisterPeer = (EOS_AntiCheatClient_RegisterPeerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_RegisterPeerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedName); + EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated = (EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_RemoveNotifyMessageToPeerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_RemoveNotifyMessageToPeerName); + EOS_AntiCheatClient_RemoveNotifyMessageToPeer = (EOS_AntiCheatClient_RemoveNotifyMessageToPeerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_RemoveNotifyMessageToPeerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_RemoveNotifyMessageToServerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_RemoveNotifyMessageToServerName); + EOS_AntiCheatClient_RemoveNotifyMessageToServer = (EOS_AntiCheatClient_RemoveNotifyMessageToServerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_RemoveNotifyMessageToServerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredName); + EOS_AntiCheatClient_RemoveNotifyPeerActionRequired = (EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedName); + EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged = (EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_Reserved01Name); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_Reserved01Name); + EOS_AntiCheatClient_Reserved01 = (EOS_AntiCheatClient_Reserved01Delegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_Reserved01Delegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_Reserved02Name); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_Reserved02Name); + EOS_AntiCheatClient_Reserved02 = (EOS_AntiCheatClient_Reserved02Delegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_Reserved02Delegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_UnprotectMessageName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_UnprotectMessageName); + EOS_AntiCheatClient_UnprotectMessage = (EOS_AntiCheatClient_UnprotectMessageDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_UnprotectMessageDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatClient_UnregisterPeerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatClient_UnregisterPeerName); + EOS_AntiCheatClient_UnregisterPeer = (EOS_AntiCheatClient_UnregisterPeerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatClient_UnregisterPeerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_AddNotifyClientActionRequiredName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_AddNotifyClientActionRequiredName); + EOS_AntiCheatServer_AddNotifyClientActionRequired = (EOS_AntiCheatServer_AddNotifyClientActionRequiredDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_AddNotifyClientActionRequiredDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedName); + EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged = (EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_AddNotifyMessageToClientName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_AddNotifyMessageToClientName); + EOS_AntiCheatServer_AddNotifyMessageToClient = (EOS_AntiCheatServer_AddNotifyMessageToClientDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_AddNotifyMessageToClientDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_BeginSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_BeginSessionName); + EOS_AntiCheatServer_BeginSession = (EOS_AntiCheatServer_BeginSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_BeginSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_EndSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_EndSessionName); + EOS_AntiCheatServer_EndSession = (EOS_AntiCheatServer_EndSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_EndSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_GetProtectMessageOutputLengthName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_GetProtectMessageOutputLengthName); + EOS_AntiCheatServer_GetProtectMessageOutputLength = (EOS_AntiCheatServer_GetProtectMessageOutputLengthDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_GetProtectMessageOutputLengthDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogEventName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogEventName); + EOS_AntiCheatServer_LogEvent = (EOS_AntiCheatServer_LogEventDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogEventDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogGameRoundEndName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogGameRoundEndName); + EOS_AntiCheatServer_LogGameRoundEnd = (EOS_AntiCheatServer_LogGameRoundEndDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogGameRoundEndDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogGameRoundStartName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogGameRoundStartName); + EOS_AntiCheatServer_LogGameRoundStart = (EOS_AntiCheatServer_LogGameRoundStartDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogGameRoundStartDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerDespawnName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerDespawnName); + EOS_AntiCheatServer_LogPlayerDespawn = (EOS_AntiCheatServer_LogPlayerDespawnDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerDespawnDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerReviveName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerReviveName); + EOS_AntiCheatServer_LogPlayerRevive = (EOS_AntiCheatServer_LogPlayerReviveDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerReviveDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerSpawnName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerSpawnName); + EOS_AntiCheatServer_LogPlayerSpawn = (EOS_AntiCheatServer_LogPlayerSpawnDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerSpawnDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerTakeDamageName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerTakeDamageName); + EOS_AntiCheatServer_LogPlayerTakeDamage = (EOS_AntiCheatServer_LogPlayerTakeDamageDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerTakeDamageDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerTickName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerTickName); + EOS_AntiCheatServer_LogPlayerTick = (EOS_AntiCheatServer_LogPlayerTickDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerTickDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerUseAbilityName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerUseAbilityName); + EOS_AntiCheatServer_LogPlayerUseAbility = (EOS_AntiCheatServer_LogPlayerUseAbilityDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerUseAbilityDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_LogPlayerUseWeaponName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_LogPlayerUseWeaponName); + EOS_AntiCheatServer_LogPlayerUseWeapon = (EOS_AntiCheatServer_LogPlayerUseWeaponDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_LogPlayerUseWeaponDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_ProtectMessageName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_ProtectMessageName); + EOS_AntiCheatServer_ProtectMessage = (EOS_AntiCheatServer_ProtectMessageDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_ProtectMessageDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_ReceiveMessageFromClientName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_ReceiveMessageFromClientName); + EOS_AntiCheatServer_ReceiveMessageFromClient = (EOS_AntiCheatServer_ReceiveMessageFromClientDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_ReceiveMessageFromClientDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_RegisterClientName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_RegisterClientName); + EOS_AntiCheatServer_RegisterClient = (EOS_AntiCheatServer_RegisterClientDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_RegisterClientDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_RegisterEventName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_RegisterEventName); + EOS_AntiCheatServer_RegisterEvent = (EOS_AntiCheatServer_RegisterEventDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_RegisterEventDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_RemoveNotifyClientActionRequiredName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_RemoveNotifyClientActionRequiredName); + EOS_AntiCheatServer_RemoveNotifyClientActionRequired = (EOS_AntiCheatServer_RemoveNotifyClientActionRequiredDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_RemoveNotifyClientActionRequiredDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedName); + EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged = (EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_RemoveNotifyMessageToClientName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_RemoveNotifyMessageToClientName); + EOS_AntiCheatServer_RemoveNotifyMessageToClient = (EOS_AntiCheatServer_RemoveNotifyMessageToClientDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_RemoveNotifyMessageToClientDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_SetClientDetailsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_SetClientDetailsName); + EOS_AntiCheatServer_SetClientDetails = (EOS_AntiCheatServer_SetClientDetailsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_SetClientDetailsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_SetClientNetworkStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_SetClientNetworkStateName); + EOS_AntiCheatServer_SetClientNetworkState = (EOS_AntiCheatServer_SetClientNetworkStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_SetClientNetworkStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_SetGameSessionIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_SetGameSessionIdName); + EOS_AntiCheatServer_SetGameSessionId = (EOS_AntiCheatServer_SetGameSessionIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_SetGameSessionIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_UnprotectMessageName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_UnprotectMessageName); + EOS_AntiCheatServer_UnprotectMessage = (EOS_AntiCheatServer_UnprotectMessageDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_UnprotectMessageDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_AntiCheatServer_UnregisterClientName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_AntiCheatServer_UnregisterClientName); + EOS_AntiCheatServer_UnregisterClient = (EOS_AntiCheatServer_UnregisterClientDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_AntiCheatServer_UnregisterClientDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_AddNotifyLoginStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_AddNotifyLoginStatusChangedName); + EOS_Auth_AddNotifyLoginStatusChanged = (EOS_Auth_AddNotifyLoginStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_AddNotifyLoginStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_CopyIdTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_CopyIdTokenName); + EOS_Auth_CopyIdToken = (EOS_Auth_CopyIdTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_CopyIdTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_CopyUserAuthTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_CopyUserAuthTokenName); + EOS_Auth_CopyUserAuthToken = (EOS_Auth_CopyUserAuthTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_CopyUserAuthTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_DeletePersistentAuthName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_DeletePersistentAuthName); + EOS_Auth_DeletePersistentAuth = (EOS_Auth_DeletePersistentAuthDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_DeletePersistentAuthDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_GetLoggedInAccountByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_GetLoggedInAccountByIndexName); + EOS_Auth_GetLoggedInAccountByIndex = (EOS_Auth_GetLoggedInAccountByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_GetLoggedInAccountByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_GetLoggedInAccountsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_GetLoggedInAccountsCountName); + EOS_Auth_GetLoggedInAccountsCount = (EOS_Auth_GetLoggedInAccountsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_GetLoggedInAccountsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_GetLoginStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_GetLoginStatusName); + EOS_Auth_GetLoginStatus = (EOS_Auth_GetLoginStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_GetLoginStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_GetMergedAccountByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_GetMergedAccountByIndexName); + EOS_Auth_GetMergedAccountByIndex = (EOS_Auth_GetMergedAccountByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_GetMergedAccountByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_GetMergedAccountsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_GetMergedAccountsCountName); + EOS_Auth_GetMergedAccountsCount = (EOS_Auth_GetMergedAccountsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_GetMergedAccountsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_GetSelectedAccountIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_GetSelectedAccountIdName); + EOS_Auth_GetSelectedAccountId = (EOS_Auth_GetSelectedAccountIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_GetSelectedAccountIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_IdToken_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_IdToken_ReleaseName); + EOS_Auth_IdToken_Release = (EOS_Auth_IdToken_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_IdToken_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_LinkAccountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_LinkAccountName); + EOS_Auth_LinkAccount = (EOS_Auth_LinkAccountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_LinkAccountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_LoginName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_LoginName); + EOS_Auth_Login = (EOS_Auth_LoginDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_LoginDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_LogoutName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_LogoutName); + EOS_Auth_Logout = (EOS_Auth_LogoutDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_LogoutDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_QueryIdTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_QueryIdTokenName); + EOS_Auth_QueryIdToken = (EOS_Auth_QueryIdTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_QueryIdTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_RemoveNotifyLoginStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_RemoveNotifyLoginStatusChangedName); + EOS_Auth_RemoveNotifyLoginStatusChanged = (EOS_Auth_RemoveNotifyLoginStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_RemoveNotifyLoginStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_Token_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_Token_ReleaseName); + EOS_Auth_Token_Release = (EOS_Auth_Token_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_Token_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_VerifyIdTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_VerifyIdTokenName); + EOS_Auth_VerifyIdToken = (EOS_Auth_VerifyIdTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_VerifyIdTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_VerifyUserAuthName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_VerifyUserAuthName); + EOS_Auth_VerifyUserAuth = (EOS_Auth_VerifyUserAuthDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_VerifyUserAuthDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ByteArray_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ByteArray_ToStringName); + EOS_ByteArray_ToString = (EOS_ByteArray_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ByteArray_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_AddNotifyAuthExpirationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_AddNotifyAuthExpirationName); + EOS_Connect_AddNotifyAuthExpiration = (EOS_Connect_AddNotifyAuthExpirationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_AddNotifyAuthExpirationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_AddNotifyLoginStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_AddNotifyLoginStatusChangedName); + EOS_Connect_AddNotifyLoginStatusChanged = (EOS_Connect_AddNotifyLoginStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_AddNotifyLoginStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CopyIdTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CopyIdTokenName); + EOS_Connect_CopyIdToken = (EOS_Connect_CopyIdTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CopyIdTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CopyProductUserExternalAccountByAccountIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CopyProductUserExternalAccountByAccountIdName); + EOS_Connect_CopyProductUserExternalAccountByAccountId = (EOS_Connect_CopyProductUserExternalAccountByAccountIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CopyProductUserExternalAccountByAccountIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CopyProductUserExternalAccountByAccountTypeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CopyProductUserExternalAccountByAccountTypeName); + EOS_Connect_CopyProductUserExternalAccountByAccountType = (EOS_Connect_CopyProductUserExternalAccountByAccountTypeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CopyProductUserExternalAccountByAccountTypeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CopyProductUserExternalAccountByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CopyProductUserExternalAccountByIndexName); + EOS_Connect_CopyProductUserExternalAccountByIndex = (EOS_Connect_CopyProductUserExternalAccountByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CopyProductUserExternalAccountByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CopyProductUserInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CopyProductUserInfoName); + EOS_Connect_CopyProductUserInfo = (EOS_Connect_CopyProductUserInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CopyProductUserInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CreateDeviceIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CreateDeviceIdName); + EOS_Connect_CreateDeviceId = (EOS_Connect_CreateDeviceIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CreateDeviceIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_CreateUserName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_CreateUserName); + EOS_Connect_CreateUser = (EOS_Connect_CreateUserDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_CreateUserDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_DeleteDeviceIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_DeleteDeviceIdName); + EOS_Connect_DeleteDeviceId = (EOS_Connect_DeleteDeviceIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_DeleteDeviceIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_ExternalAccountInfo_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_ExternalAccountInfo_ReleaseName); + EOS_Connect_ExternalAccountInfo_Release = (EOS_Connect_ExternalAccountInfo_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_ExternalAccountInfo_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_GetExternalAccountMappingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_GetExternalAccountMappingName); + EOS_Connect_GetExternalAccountMapping = (EOS_Connect_GetExternalAccountMappingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_GetExternalAccountMappingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_GetLoggedInUserByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_GetLoggedInUserByIndexName); + EOS_Connect_GetLoggedInUserByIndex = (EOS_Connect_GetLoggedInUserByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_GetLoggedInUserByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_GetLoggedInUsersCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_GetLoggedInUsersCountName); + EOS_Connect_GetLoggedInUsersCount = (EOS_Connect_GetLoggedInUsersCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_GetLoggedInUsersCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_GetLoginStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_GetLoginStatusName); + EOS_Connect_GetLoginStatus = (EOS_Connect_GetLoginStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_GetLoginStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_GetProductUserExternalAccountCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_GetProductUserExternalAccountCountName); + EOS_Connect_GetProductUserExternalAccountCount = (EOS_Connect_GetProductUserExternalAccountCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_GetProductUserExternalAccountCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_GetProductUserIdMappingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_GetProductUserIdMappingName); + EOS_Connect_GetProductUserIdMapping = (EOS_Connect_GetProductUserIdMappingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_GetProductUserIdMappingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_IdToken_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_IdToken_ReleaseName); + EOS_Connect_IdToken_Release = (EOS_Connect_IdToken_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_IdToken_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_LinkAccountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_LinkAccountName); + EOS_Connect_LinkAccount = (EOS_Connect_LinkAccountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_LinkAccountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_LoginName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_LoginName); + EOS_Connect_Login = (EOS_Connect_LoginDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_LoginDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_LogoutName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_LogoutName); + EOS_Connect_Logout = (EOS_Connect_LogoutDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_LogoutDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_QueryExternalAccountMappingsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_QueryExternalAccountMappingsName); + EOS_Connect_QueryExternalAccountMappings = (EOS_Connect_QueryExternalAccountMappingsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_QueryExternalAccountMappingsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_QueryProductUserIdMappingsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_QueryProductUserIdMappingsName); + EOS_Connect_QueryProductUserIdMappings = (EOS_Connect_QueryProductUserIdMappingsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_QueryProductUserIdMappingsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_RemoveNotifyAuthExpirationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_RemoveNotifyAuthExpirationName); + EOS_Connect_RemoveNotifyAuthExpiration = (EOS_Connect_RemoveNotifyAuthExpirationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_RemoveNotifyAuthExpirationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_RemoveNotifyLoginStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_RemoveNotifyLoginStatusChangedName); + EOS_Connect_RemoveNotifyLoginStatusChanged = (EOS_Connect_RemoveNotifyLoginStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_RemoveNotifyLoginStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_TransferDeviceIdAccountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_TransferDeviceIdAccountName); + EOS_Connect_TransferDeviceIdAccount = (EOS_Connect_TransferDeviceIdAccountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_TransferDeviceIdAccountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_UnlinkAccountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_UnlinkAccountName); + EOS_Connect_UnlinkAccount = (EOS_Connect_UnlinkAccountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_UnlinkAccountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Connect_VerifyIdTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Connect_VerifyIdTokenName); + EOS_Connect_VerifyIdToken = (EOS_Connect_VerifyIdTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Connect_VerifyIdTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ContinuanceToken_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ContinuanceToken_ToStringName); + EOS_ContinuanceToken_ToString = (EOS_ContinuanceToken_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ContinuanceToken_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AcceptRequestToJoinName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AcceptRequestToJoinName); + EOS_CustomInvites_AcceptRequestToJoin = (EOS_CustomInvites_AcceptRequestToJoinDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AcceptRequestToJoinDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyCustomInviteAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyCustomInviteAcceptedName); + EOS_CustomInvites_AddNotifyCustomInviteAccepted = (EOS_CustomInvites_AddNotifyCustomInviteAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyCustomInviteAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyCustomInviteReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyCustomInviteReceivedName); + EOS_CustomInvites_AddNotifyCustomInviteReceived = (EOS_CustomInvites_AddNotifyCustomInviteReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyCustomInviteReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyCustomInviteRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyCustomInviteRejectedName); + EOS_CustomInvites_AddNotifyCustomInviteRejected = (EOS_CustomInvites_AddNotifyCustomInviteRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyCustomInviteRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyRequestToJoinAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyRequestToJoinAcceptedName); + EOS_CustomInvites_AddNotifyRequestToJoinAccepted = (EOS_CustomInvites_AddNotifyRequestToJoinAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyRequestToJoinAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyRequestToJoinReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyRequestToJoinReceivedName); + EOS_CustomInvites_AddNotifyRequestToJoinReceived = (EOS_CustomInvites_AddNotifyRequestToJoinReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyRequestToJoinReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyRequestToJoinRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyRequestToJoinRejectedName); + EOS_CustomInvites_AddNotifyRequestToJoinRejected = (EOS_CustomInvites_AddNotifyRequestToJoinRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyRequestToJoinRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedName); + EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived = (EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedName); + EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested = (EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_FinalizeInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_FinalizeInviteName); + EOS_CustomInvites_FinalizeInvite = (EOS_CustomInvites_FinalizeInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_FinalizeInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RejectRequestToJoinName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RejectRequestToJoinName); + EOS_CustomInvites_RejectRequestToJoin = (EOS_CustomInvites_RejectRequestToJoinDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RejectRequestToJoinDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedName); + EOS_CustomInvites_RemoveNotifyCustomInviteAccepted = (EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyCustomInviteReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyCustomInviteReceivedName); + EOS_CustomInvites_RemoveNotifyCustomInviteReceived = (EOS_CustomInvites_RemoveNotifyCustomInviteReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyCustomInviteReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyCustomInviteRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyCustomInviteRejectedName); + EOS_CustomInvites_RemoveNotifyCustomInviteRejected = (EOS_CustomInvites_RemoveNotifyCustomInviteRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyCustomInviteRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedName); + EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted = (EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedName); + EOS_CustomInvites_RemoveNotifyRequestToJoinReceived = (EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedName); + EOS_CustomInvites_RemoveNotifyRequestToJoinRejected = (EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedName); + EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived = (EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedName); + EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested = (EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_SendCustomInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_SendCustomInviteName); + EOS_CustomInvites_SendCustomInvite = (EOS_CustomInvites_SendCustomInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_SendCustomInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_SendRequestToJoinName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_SendRequestToJoinName); + EOS_CustomInvites_SendRequestToJoin = (EOS_CustomInvites_SendRequestToJoinDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_SendRequestToJoinDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_CustomInvites_SetCustomInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_CustomInvites_SetCustomInviteName); + EOS_CustomInvites_SetCustomInvite = (EOS_CustomInvites_SetCustomInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_CustomInvites_SetCustomInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_EApplicationStatus_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_EApplicationStatus_ToStringName); + EOS_EApplicationStatus_ToString = (EOS_EApplicationStatus_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_EApplicationStatus_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ENetworkStatus_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ENetworkStatus_ToStringName); + EOS_ENetworkStatus_ToString = (EOS_ENetworkStatus_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ENetworkStatus_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_EResult_IsOperationCompleteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_EResult_IsOperationCompleteName); + EOS_EResult_IsOperationComplete = (EOS_EResult_IsOperationCompleteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_EResult_IsOperationCompleteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_EResult_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_EResult_ToStringName); + EOS_EResult_ToString = (EOS_EResult_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_EResult_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CatalogItem_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CatalogItem_ReleaseName); + EOS_Ecom_CatalogItem_Release = (EOS_Ecom_CatalogItem_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CatalogItem_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CatalogOffer_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CatalogOffer_ReleaseName); + EOS_Ecom_CatalogOffer_Release = (EOS_Ecom_CatalogOffer_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CatalogOffer_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CatalogRelease_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CatalogRelease_ReleaseName); + EOS_Ecom_CatalogRelease_Release = (EOS_Ecom_CatalogRelease_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CatalogRelease_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CheckoutName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CheckoutName); + EOS_Ecom_Checkout = (EOS_Ecom_CheckoutDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CheckoutDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyEntitlementByIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyEntitlementByIdName); + EOS_Ecom_CopyEntitlementById = (EOS_Ecom_CopyEntitlementByIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyEntitlementByIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyEntitlementByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyEntitlementByIndexName); + EOS_Ecom_CopyEntitlementByIndex = (EOS_Ecom_CopyEntitlementByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyEntitlementByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyEntitlementByNameAndIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyEntitlementByNameAndIndexName); + EOS_Ecom_CopyEntitlementByNameAndIndex = (EOS_Ecom_CopyEntitlementByNameAndIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyEntitlementByNameAndIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyItemByIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyItemByIdName); + EOS_Ecom_CopyItemById = (EOS_Ecom_CopyItemByIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyItemByIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyItemImageInfoByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyItemImageInfoByIndexName); + EOS_Ecom_CopyItemImageInfoByIndex = (EOS_Ecom_CopyItemImageInfoByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyItemImageInfoByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyItemReleaseByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyItemReleaseByIndexName); + EOS_Ecom_CopyItemReleaseByIndex = (EOS_Ecom_CopyItemReleaseByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyItemReleaseByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexName); + EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex = (EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyLastRedeemedEntitlementByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyLastRedeemedEntitlementByIndexName); + EOS_Ecom_CopyLastRedeemedEntitlementByIndex = (EOS_Ecom_CopyLastRedeemedEntitlementByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyLastRedeemedEntitlementByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyOfferByIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyOfferByIdName); + EOS_Ecom_CopyOfferById = (EOS_Ecom_CopyOfferByIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyOfferByIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyOfferByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyOfferByIndexName); + EOS_Ecom_CopyOfferByIndex = (EOS_Ecom_CopyOfferByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyOfferByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyOfferImageInfoByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyOfferImageInfoByIndexName); + EOS_Ecom_CopyOfferImageInfoByIndex = (EOS_Ecom_CopyOfferImageInfoByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyOfferImageInfoByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyOfferItemByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyOfferItemByIndexName); + EOS_Ecom_CopyOfferItemByIndex = (EOS_Ecom_CopyOfferItemByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyOfferItemByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyTransactionByIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyTransactionByIdName); + EOS_Ecom_CopyTransactionById = (EOS_Ecom_CopyTransactionByIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyTransactionByIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_CopyTransactionByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_CopyTransactionByIndexName); + EOS_Ecom_CopyTransactionByIndex = (EOS_Ecom_CopyTransactionByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_CopyTransactionByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_Entitlement_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_Entitlement_ReleaseName); + EOS_Ecom_Entitlement_Release = (EOS_Ecom_Entitlement_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_Entitlement_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetEntitlementsByNameCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetEntitlementsByNameCountName); + EOS_Ecom_GetEntitlementsByNameCount = (EOS_Ecom_GetEntitlementsByNameCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetEntitlementsByNameCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetEntitlementsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetEntitlementsCountName); + EOS_Ecom_GetEntitlementsCount = (EOS_Ecom_GetEntitlementsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetEntitlementsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetItemImageInfoCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetItemImageInfoCountName); + EOS_Ecom_GetItemImageInfoCount = (EOS_Ecom_GetItemImageInfoCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetItemImageInfoCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetItemReleaseCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetItemReleaseCountName); + EOS_Ecom_GetItemReleaseCount = (EOS_Ecom_GetItemReleaseCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetItemReleaseCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetLastRedeemEntitlementsResultCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetLastRedeemEntitlementsResultCountName); + EOS_Ecom_GetLastRedeemEntitlementsResultCount = (EOS_Ecom_GetLastRedeemEntitlementsResultCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetLastRedeemEntitlementsResultCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetLastRedeemedEntitlementsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetLastRedeemedEntitlementsCountName); + EOS_Ecom_GetLastRedeemedEntitlementsCount = (EOS_Ecom_GetLastRedeemedEntitlementsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetLastRedeemedEntitlementsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetOfferCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetOfferCountName); + EOS_Ecom_GetOfferCount = (EOS_Ecom_GetOfferCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetOfferCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetOfferImageInfoCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetOfferImageInfoCountName); + EOS_Ecom_GetOfferImageInfoCount = (EOS_Ecom_GetOfferImageInfoCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetOfferImageInfoCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetOfferItemCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetOfferItemCountName); + EOS_Ecom_GetOfferItemCount = (EOS_Ecom_GetOfferItemCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetOfferItemCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_GetTransactionCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_GetTransactionCountName); + EOS_Ecom_GetTransactionCount = (EOS_Ecom_GetTransactionCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_GetTransactionCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_KeyImageInfo_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_KeyImageInfo_ReleaseName); + EOS_Ecom_KeyImageInfo_Release = (EOS_Ecom_KeyImageInfo_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_KeyImageInfo_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_QueryEntitlementTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_QueryEntitlementTokenName); + EOS_Ecom_QueryEntitlementToken = (EOS_Ecom_QueryEntitlementTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_QueryEntitlementTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_QueryEntitlementsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_QueryEntitlementsName); + EOS_Ecom_QueryEntitlements = (EOS_Ecom_QueryEntitlementsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_QueryEntitlementsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_QueryOffersName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_QueryOffersName); + EOS_Ecom_QueryOffers = (EOS_Ecom_QueryOffersDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_QueryOffersDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_QueryOwnershipName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_QueryOwnershipName); + EOS_Ecom_QueryOwnership = (EOS_Ecom_QueryOwnershipDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_QueryOwnershipDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_QueryOwnershipBySandboxIdsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_QueryOwnershipBySandboxIdsName); + EOS_Ecom_QueryOwnershipBySandboxIds = (EOS_Ecom_QueryOwnershipBySandboxIdsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_QueryOwnershipBySandboxIdsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_QueryOwnershipTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_QueryOwnershipTokenName); + EOS_Ecom_QueryOwnershipToken = (EOS_Ecom_QueryOwnershipTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_QueryOwnershipTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_RedeemEntitlementsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_RedeemEntitlementsName); + EOS_Ecom_RedeemEntitlements = (EOS_Ecom_RedeemEntitlementsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_RedeemEntitlementsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_Transaction_CopyEntitlementByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_Transaction_CopyEntitlementByIndexName); + EOS_Ecom_Transaction_CopyEntitlementByIndex = (EOS_Ecom_Transaction_CopyEntitlementByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_Transaction_CopyEntitlementByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_Transaction_GetEntitlementsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_Transaction_GetEntitlementsCountName); + EOS_Ecom_Transaction_GetEntitlementsCount = (EOS_Ecom_Transaction_GetEntitlementsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_Transaction_GetEntitlementsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_Transaction_GetTransactionIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_Transaction_GetTransactionIdName); + EOS_Ecom_Transaction_GetTransactionId = (EOS_Ecom_Transaction_GetTransactionIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_Transaction_GetTransactionIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Ecom_Transaction_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Ecom_Transaction_ReleaseName); + EOS_Ecom_Transaction_Release = (EOS_Ecom_Transaction_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Ecom_Transaction_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_EpicAccountId_FromStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_EpicAccountId_FromStringName); + EOS_EpicAccountId_FromString = (EOS_EpicAccountId_FromStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_EpicAccountId_FromStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_EpicAccountId_IsValidName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_EpicAccountId_IsValidName); + EOS_EpicAccountId_IsValid = (EOS_EpicAccountId_IsValidDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_EpicAccountId_IsValidDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_EpicAccountId_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_EpicAccountId_ToStringName); + EOS_EpicAccountId_ToString = (EOS_EpicAccountId_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_EpicAccountId_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_AcceptInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_AcceptInviteName); + EOS_Friends_AcceptInvite = (EOS_Friends_AcceptInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_AcceptInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_AddNotifyBlockedUsersUpdateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_AddNotifyBlockedUsersUpdateName); + EOS_Friends_AddNotifyBlockedUsersUpdate = (EOS_Friends_AddNotifyBlockedUsersUpdateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_AddNotifyBlockedUsersUpdateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_AddNotifyFriendsUpdateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_AddNotifyFriendsUpdateName); + EOS_Friends_AddNotifyFriendsUpdate = (EOS_Friends_AddNotifyFriendsUpdateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_AddNotifyFriendsUpdateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_GetBlockedUserAtIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_GetBlockedUserAtIndexName); + EOS_Friends_GetBlockedUserAtIndex = (EOS_Friends_GetBlockedUserAtIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_GetBlockedUserAtIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_GetBlockedUsersCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_GetBlockedUsersCountName); + EOS_Friends_GetBlockedUsersCount = (EOS_Friends_GetBlockedUsersCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_GetBlockedUsersCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_GetFriendAtIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_GetFriendAtIndexName); + EOS_Friends_GetFriendAtIndex = (EOS_Friends_GetFriendAtIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_GetFriendAtIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_GetFriendsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_GetFriendsCountName); + EOS_Friends_GetFriendsCount = (EOS_Friends_GetFriendsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_GetFriendsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_GetStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_GetStatusName); + EOS_Friends_GetStatus = (EOS_Friends_GetStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_GetStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_QueryFriendsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_QueryFriendsName); + EOS_Friends_QueryFriends = (EOS_Friends_QueryFriendsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_QueryFriendsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_RejectInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_RejectInviteName); + EOS_Friends_RejectInvite = (EOS_Friends_RejectInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_RejectInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_RemoveNotifyBlockedUsersUpdateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_RemoveNotifyBlockedUsersUpdateName); + EOS_Friends_RemoveNotifyBlockedUsersUpdate = (EOS_Friends_RemoveNotifyBlockedUsersUpdateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_RemoveNotifyBlockedUsersUpdateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_RemoveNotifyFriendsUpdateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_RemoveNotifyFriendsUpdateName); + EOS_Friends_RemoveNotifyFriendsUpdate = (EOS_Friends_RemoveNotifyFriendsUpdateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_RemoveNotifyFriendsUpdateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Friends_SendInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Friends_SendInviteName); + EOS_Friends_SendInvite = (EOS_Friends_SendInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Friends_SendInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_GetVersionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_GetVersionName); + EOS_GetVersion = (EOS_GetVersionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_GetVersionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_InitializeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_InitializeName); + EOS_Initialize = (EOS_InitializeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_InitializeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatformOptionsContainer_AddName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatformOptionsContainer_AddName); + EOS_IntegratedPlatformOptionsContainer_Add = (EOS_IntegratedPlatformOptionsContainer_AddDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatformOptionsContainer_AddDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatformOptionsContainer_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatformOptionsContainer_ReleaseName); + EOS_IntegratedPlatformOptionsContainer_Release = (EOS_IntegratedPlatformOptionsContainer_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatformOptionsContainer_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedName); + EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged = (EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_ClearUserPreLogoutCallbackName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_ClearUserPreLogoutCallbackName); + EOS_IntegratedPlatform_ClearUserPreLogoutCallback = (EOS_IntegratedPlatform_ClearUserPreLogoutCallbackDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_ClearUserPreLogoutCallbackDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerName); + EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer = (EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_FinalizeDeferredUserLogoutName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_FinalizeDeferredUserLogoutName); + EOS_IntegratedPlatform_FinalizeDeferredUserLogout = (EOS_IntegratedPlatform_FinalizeDeferredUserLogoutDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_FinalizeDeferredUserLogoutDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedName); + EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged = (EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_SetUserLoginStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_SetUserLoginStatusName); + EOS_IntegratedPlatform_SetUserLoginStatus = (EOS_IntegratedPlatform_SetUserLoginStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_SetUserLoginStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_IntegratedPlatform_SetUserPreLogoutCallbackName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_IntegratedPlatform_SetUserPreLogoutCallbackName); + EOS_IntegratedPlatform_SetUserPreLogoutCallback = (EOS_IntegratedPlatform_SetUserPreLogoutCallbackDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_IntegratedPlatform_SetUserPreLogoutCallbackDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_AddNotifyPermissionsUpdateReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_AddNotifyPermissionsUpdateReceivedName); + EOS_KWS_AddNotifyPermissionsUpdateReceived = (EOS_KWS_AddNotifyPermissionsUpdateReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_AddNotifyPermissionsUpdateReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_CopyPermissionByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_CopyPermissionByIndexName); + EOS_KWS_CopyPermissionByIndex = (EOS_KWS_CopyPermissionByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_CopyPermissionByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_CreateUserName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_CreateUserName); + EOS_KWS_CreateUser = (EOS_KWS_CreateUserDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_CreateUserDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_GetPermissionByKeyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_GetPermissionByKeyName); + EOS_KWS_GetPermissionByKey = (EOS_KWS_GetPermissionByKeyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_GetPermissionByKeyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_GetPermissionsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_GetPermissionsCountName); + EOS_KWS_GetPermissionsCount = (EOS_KWS_GetPermissionsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_GetPermissionsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_PermissionStatus_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_PermissionStatus_ReleaseName); + EOS_KWS_PermissionStatus_Release = (EOS_KWS_PermissionStatus_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_PermissionStatus_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_QueryAgeGateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_QueryAgeGateName); + EOS_KWS_QueryAgeGate = (EOS_KWS_QueryAgeGateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_QueryAgeGateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_QueryPermissionsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_QueryPermissionsName); + EOS_KWS_QueryPermissions = (EOS_KWS_QueryPermissionsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_QueryPermissionsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_RemoveNotifyPermissionsUpdateReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_RemoveNotifyPermissionsUpdateReceivedName); + EOS_KWS_RemoveNotifyPermissionsUpdateReceived = (EOS_KWS_RemoveNotifyPermissionsUpdateReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_RemoveNotifyPermissionsUpdateReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_RequestPermissionsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_RequestPermissionsName); + EOS_KWS_RequestPermissions = (EOS_KWS_RequestPermissionsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_RequestPermissionsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_KWS_UpdateParentEmailName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_KWS_UpdateParentEmailName); + EOS_KWS_UpdateParentEmail = (EOS_KWS_UpdateParentEmailDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_KWS_UpdateParentEmailDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_CopyLeaderboardDefinitionByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_CopyLeaderboardDefinitionByIndexName); + EOS_Leaderboards_CopyLeaderboardDefinitionByIndex = (EOS_Leaderboards_CopyLeaderboardDefinitionByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_CopyLeaderboardDefinitionByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdName); + EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId = (EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_CopyLeaderboardRecordByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_CopyLeaderboardRecordByIndexName); + EOS_Leaderboards_CopyLeaderboardRecordByIndex = (EOS_Leaderboards_CopyLeaderboardRecordByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_CopyLeaderboardRecordByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_CopyLeaderboardRecordByUserIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_CopyLeaderboardRecordByUserIdName); + EOS_Leaderboards_CopyLeaderboardRecordByUserId = (EOS_Leaderboards_CopyLeaderboardRecordByUserIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_CopyLeaderboardRecordByUserIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_CopyLeaderboardUserScoreByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_CopyLeaderboardUserScoreByIndexName); + EOS_Leaderboards_CopyLeaderboardUserScoreByIndex = (EOS_Leaderboards_CopyLeaderboardUserScoreByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_CopyLeaderboardUserScoreByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdName); + EOS_Leaderboards_CopyLeaderboardUserScoreByUserId = (EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_Definition_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_Definition_ReleaseName); + EOS_Leaderboards_Definition_Release = (EOS_Leaderboards_Definition_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_Definition_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_GetLeaderboardDefinitionCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_GetLeaderboardDefinitionCountName); + EOS_Leaderboards_GetLeaderboardDefinitionCount = (EOS_Leaderboards_GetLeaderboardDefinitionCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_GetLeaderboardDefinitionCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_GetLeaderboardRecordCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_GetLeaderboardRecordCountName); + EOS_Leaderboards_GetLeaderboardRecordCount = (EOS_Leaderboards_GetLeaderboardRecordCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_GetLeaderboardRecordCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_GetLeaderboardUserScoreCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_GetLeaderboardUserScoreCountName); + EOS_Leaderboards_GetLeaderboardUserScoreCount = (EOS_Leaderboards_GetLeaderboardUserScoreCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_GetLeaderboardUserScoreCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_LeaderboardRecord_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_LeaderboardRecord_ReleaseName); + EOS_Leaderboards_LeaderboardRecord_Release = (EOS_Leaderboards_LeaderboardRecord_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_LeaderboardRecord_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_LeaderboardUserScore_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_LeaderboardUserScore_ReleaseName); + EOS_Leaderboards_LeaderboardUserScore_Release = (EOS_Leaderboards_LeaderboardUserScore_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_LeaderboardUserScore_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_QueryLeaderboardDefinitionsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_QueryLeaderboardDefinitionsName); + EOS_Leaderboards_QueryLeaderboardDefinitions = (EOS_Leaderboards_QueryLeaderboardDefinitionsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_QueryLeaderboardDefinitionsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_QueryLeaderboardRanksName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_QueryLeaderboardRanksName); + EOS_Leaderboards_QueryLeaderboardRanks = (EOS_Leaderboards_QueryLeaderboardRanksDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_QueryLeaderboardRanksDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Leaderboards_QueryLeaderboardUserScoresName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Leaderboards_QueryLeaderboardUserScoresName); + EOS_Leaderboards_QueryLeaderboardUserScores = (EOS_Leaderboards_QueryLeaderboardUserScoresDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Leaderboards_QueryLeaderboardUserScoresDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_CopyAttributeByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_CopyAttributeByIndexName); + EOS_LobbyDetails_CopyAttributeByIndex = (EOS_LobbyDetails_CopyAttributeByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_CopyAttributeByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_CopyAttributeByKeyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_CopyAttributeByKeyName); + EOS_LobbyDetails_CopyAttributeByKey = (EOS_LobbyDetails_CopyAttributeByKeyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_CopyAttributeByKeyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_CopyInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_CopyInfoName); + EOS_LobbyDetails_CopyInfo = (EOS_LobbyDetails_CopyInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_CopyInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_CopyMemberAttributeByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_CopyMemberAttributeByIndexName); + EOS_LobbyDetails_CopyMemberAttributeByIndex = (EOS_LobbyDetails_CopyMemberAttributeByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_CopyMemberAttributeByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_CopyMemberAttributeByKeyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_CopyMemberAttributeByKeyName); + EOS_LobbyDetails_CopyMemberAttributeByKey = (EOS_LobbyDetails_CopyMemberAttributeByKeyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_CopyMemberAttributeByKeyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_CopyMemberInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_CopyMemberInfoName); + EOS_LobbyDetails_CopyMemberInfo = (EOS_LobbyDetails_CopyMemberInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_CopyMemberInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_GetAttributeCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_GetAttributeCountName); + EOS_LobbyDetails_GetAttributeCount = (EOS_LobbyDetails_GetAttributeCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_GetAttributeCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_GetLobbyOwnerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_GetLobbyOwnerName); + EOS_LobbyDetails_GetLobbyOwner = (EOS_LobbyDetails_GetLobbyOwnerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_GetLobbyOwnerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_GetMemberAttributeCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_GetMemberAttributeCountName); + EOS_LobbyDetails_GetMemberAttributeCount = (EOS_LobbyDetails_GetMemberAttributeCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_GetMemberAttributeCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_GetMemberByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_GetMemberByIndexName); + EOS_LobbyDetails_GetMemberByIndex = (EOS_LobbyDetails_GetMemberByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_GetMemberByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_GetMemberCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_GetMemberCountName); + EOS_LobbyDetails_GetMemberCount = (EOS_LobbyDetails_GetMemberCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_GetMemberCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_Info_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_Info_ReleaseName); + EOS_LobbyDetails_Info_Release = (EOS_LobbyDetails_Info_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_Info_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_MemberInfo_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_MemberInfo_ReleaseName); + EOS_LobbyDetails_MemberInfo_Release = (EOS_LobbyDetails_MemberInfo_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_MemberInfo_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyDetails_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyDetails_ReleaseName); + EOS_LobbyDetails_Release = (EOS_LobbyDetails_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyDetails_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_AddAttributeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_AddAttributeName); + EOS_LobbyModification_AddAttribute = (EOS_LobbyModification_AddAttributeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_AddAttributeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_AddMemberAttributeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_AddMemberAttributeName); + EOS_LobbyModification_AddMemberAttribute = (EOS_LobbyModification_AddMemberAttributeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_AddMemberAttributeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_ReleaseName); + EOS_LobbyModification_Release = (EOS_LobbyModification_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_RemoveAttributeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_RemoveAttributeName); + EOS_LobbyModification_RemoveAttribute = (EOS_LobbyModification_RemoveAttributeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_RemoveAttributeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_RemoveMemberAttributeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_RemoveMemberAttributeName); + EOS_LobbyModification_RemoveMemberAttribute = (EOS_LobbyModification_RemoveMemberAttributeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_RemoveMemberAttributeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_SetAllowedPlatformIdsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_SetAllowedPlatformIdsName); + EOS_LobbyModification_SetAllowedPlatformIds = (EOS_LobbyModification_SetAllowedPlatformIdsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_SetAllowedPlatformIdsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_SetBucketIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_SetBucketIdName); + EOS_LobbyModification_SetBucketId = (EOS_LobbyModification_SetBucketIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_SetBucketIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_SetInvitesAllowedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_SetInvitesAllowedName); + EOS_LobbyModification_SetInvitesAllowed = (EOS_LobbyModification_SetInvitesAllowedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_SetInvitesAllowedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_SetMaxMembersName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_SetMaxMembersName); + EOS_LobbyModification_SetMaxMembers = (EOS_LobbyModification_SetMaxMembersDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_SetMaxMembersDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbyModification_SetPermissionLevelName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbyModification_SetPermissionLevelName); + EOS_LobbyModification_SetPermissionLevel = (EOS_LobbyModification_SetPermissionLevelDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbyModification_SetPermissionLevelDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_CopySearchResultByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_CopySearchResultByIndexName); + EOS_LobbySearch_CopySearchResultByIndex = (EOS_LobbySearch_CopySearchResultByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_CopySearchResultByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_FindName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_FindName); + EOS_LobbySearch_Find = (EOS_LobbySearch_FindDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_FindDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_GetSearchResultCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_GetSearchResultCountName); + EOS_LobbySearch_GetSearchResultCount = (EOS_LobbySearch_GetSearchResultCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_GetSearchResultCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_ReleaseName); + EOS_LobbySearch_Release = (EOS_LobbySearch_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_RemoveParameterName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_RemoveParameterName); + EOS_LobbySearch_RemoveParameter = (EOS_LobbySearch_RemoveParameterDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_RemoveParameterDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_SetLobbyIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_SetLobbyIdName); + EOS_LobbySearch_SetLobbyId = (EOS_LobbySearch_SetLobbyIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_SetLobbyIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_SetMaxResultsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_SetMaxResultsName); + EOS_LobbySearch_SetMaxResults = (EOS_LobbySearch_SetMaxResultsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_SetMaxResultsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_SetParameterName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_SetParameterName); + EOS_LobbySearch_SetParameter = (EOS_LobbySearch_SetParameterDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_SetParameterDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_LobbySearch_SetTargetUserIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_LobbySearch_SetTargetUserIdName); + EOS_LobbySearch_SetTargetUserId = (EOS_LobbySearch_SetTargetUserIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_LobbySearch_SetTargetUserIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyJoinLobbyAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyJoinLobbyAcceptedName); + EOS_Lobby_AddNotifyJoinLobbyAccepted = (EOS_Lobby_AddNotifyJoinLobbyAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyJoinLobbyAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLeaveLobbyRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLeaveLobbyRequestedName); + EOS_Lobby_AddNotifyLeaveLobbyRequested = (EOS_Lobby_AddNotifyLeaveLobbyRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLeaveLobbyRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLobbyInviteAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLobbyInviteAcceptedName); + EOS_Lobby_AddNotifyLobbyInviteAccepted = (EOS_Lobby_AddNotifyLobbyInviteAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLobbyInviteAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLobbyInviteReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLobbyInviteReceivedName); + EOS_Lobby_AddNotifyLobbyInviteReceived = (EOS_Lobby_AddNotifyLobbyInviteReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLobbyInviteReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLobbyInviteRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLobbyInviteRejectedName); + EOS_Lobby_AddNotifyLobbyInviteRejected = (EOS_Lobby_AddNotifyLobbyInviteRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLobbyInviteRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLobbyMemberStatusReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLobbyMemberStatusReceivedName); + EOS_Lobby_AddNotifyLobbyMemberStatusReceived = (EOS_Lobby_AddNotifyLobbyMemberStatusReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLobbyMemberStatusReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedName); + EOS_Lobby_AddNotifyLobbyMemberUpdateReceived = (EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyLobbyUpdateReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyLobbyUpdateReceivedName); + EOS_Lobby_AddNotifyLobbyUpdateReceived = (EOS_Lobby_AddNotifyLobbyUpdateReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyLobbyUpdateReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifyRTCRoomConnectionChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifyRTCRoomConnectionChangedName); + EOS_Lobby_AddNotifyRTCRoomConnectionChanged = (EOS_Lobby_AddNotifyRTCRoomConnectionChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifyRTCRoomConnectionChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedName); + EOS_Lobby_AddNotifySendLobbyNativeInviteRequested = (EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_Attribute_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_Attribute_ReleaseName); + EOS_Lobby_Attribute_Release = (EOS_Lobby_Attribute_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_Attribute_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_CopyLobbyDetailsHandleName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_CopyLobbyDetailsHandleName); + EOS_Lobby_CopyLobbyDetailsHandle = (EOS_Lobby_CopyLobbyDetailsHandleDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_CopyLobbyDetailsHandleDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_CopyLobbyDetailsHandleByInviteIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_CopyLobbyDetailsHandleByInviteIdName); + EOS_Lobby_CopyLobbyDetailsHandleByInviteId = (EOS_Lobby_CopyLobbyDetailsHandleByInviteIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_CopyLobbyDetailsHandleByInviteIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdName); + EOS_Lobby_CopyLobbyDetailsHandleByUiEventId = (EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_CreateLobbyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_CreateLobbyName); + EOS_Lobby_CreateLobby = (EOS_Lobby_CreateLobbyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_CreateLobbyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_CreateLobbySearchName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_CreateLobbySearchName); + EOS_Lobby_CreateLobbySearch = (EOS_Lobby_CreateLobbySearchDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_CreateLobbySearchDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_DestroyLobbyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_DestroyLobbyName); + EOS_Lobby_DestroyLobby = (EOS_Lobby_DestroyLobbyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_DestroyLobbyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_GetConnectStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_GetConnectStringName); + EOS_Lobby_GetConnectString = (EOS_Lobby_GetConnectStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_GetConnectStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_GetInviteCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_GetInviteCountName); + EOS_Lobby_GetInviteCount = (EOS_Lobby_GetInviteCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_GetInviteCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_GetInviteIdByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_GetInviteIdByIndexName); + EOS_Lobby_GetInviteIdByIndex = (EOS_Lobby_GetInviteIdByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_GetInviteIdByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_GetRTCRoomNameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_GetRTCRoomNameName); + EOS_Lobby_GetRTCRoomName = (EOS_Lobby_GetRTCRoomNameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_GetRTCRoomNameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_HardMuteMemberName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_HardMuteMemberName); + EOS_Lobby_HardMuteMember = (EOS_Lobby_HardMuteMemberDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_HardMuteMemberDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_IsRTCRoomConnectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_IsRTCRoomConnectedName); + EOS_Lobby_IsRTCRoomConnected = (EOS_Lobby_IsRTCRoomConnectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_IsRTCRoomConnectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_JoinLobbyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_JoinLobbyName); + EOS_Lobby_JoinLobby = (EOS_Lobby_JoinLobbyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_JoinLobbyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_JoinLobbyByIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_JoinLobbyByIdName); + EOS_Lobby_JoinLobbyById = (EOS_Lobby_JoinLobbyByIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_JoinLobbyByIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_JoinRTCRoomName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_JoinRTCRoomName); + EOS_Lobby_JoinRTCRoom = (EOS_Lobby_JoinRTCRoomDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_JoinRTCRoomDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_KickMemberName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_KickMemberName); + EOS_Lobby_KickMember = (EOS_Lobby_KickMemberDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_KickMemberDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_LeaveLobbyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_LeaveLobbyName); + EOS_Lobby_LeaveLobby = (EOS_Lobby_LeaveLobbyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_LeaveLobbyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_LeaveRTCRoomName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_LeaveRTCRoomName); + EOS_Lobby_LeaveRTCRoom = (EOS_Lobby_LeaveRTCRoomDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_LeaveRTCRoomDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_ParseConnectStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_ParseConnectStringName); + EOS_Lobby_ParseConnectString = (EOS_Lobby_ParseConnectStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_ParseConnectStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_PromoteMemberName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_PromoteMemberName); + EOS_Lobby_PromoteMember = (EOS_Lobby_PromoteMemberDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_PromoteMemberDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_QueryInvitesName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_QueryInvitesName); + EOS_Lobby_QueryInvites = (EOS_Lobby_QueryInvitesDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_QueryInvitesDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RejectInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RejectInviteName); + EOS_Lobby_RejectInvite = (EOS_Lobby_RejectInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RejectInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyJoinLobbyAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyJoinLobbyAcceptedName); + EOS_Lobby_RemoveNotifyJoinLobbyAccepted = (EOS_Lobby_RemoveNotifyJoinLobbyAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyJoinLobbyAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLeaveLobbyRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLeaveLobbyRequestedName); + EOS_Lobby_RemoveNotifyLeaveLobbyRequested = (EOS_Lobby_RemoveNotifyLeaveLobbyRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLeaveLobbyRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLobbyInviteAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLobbyInviteAcceptedName); + EOS_Lobby_RemoveNotifyLobbyInviteAccepted = (EOS_Lobby_RemoveNotifyLobbyInviteAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLobbyInviteAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLobbyInviteReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLobbyInviteReceivedName); + EOS_Lobby_RemoveNotifyLobbyInviteReceived = (EOS_Lobby_RemoveNotifyLobbyInviteReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLobbyInviteReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLobbyInviteRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLobbyInviteRejectedName); + EOS_Lobby_RemoveNotifyLobbyInviteRejected = (EOS_Lobby_RemoveNotifyLobbyInviteRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLobbyInviteRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedName); + EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived = (EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedName); + EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived = (EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyLobbyUpdateReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyLobbyUpdateReceivedName); + EOS_Lobby_RemoveNotifyLobbyUpdateReceived = (EOS_Lobby_RemoveNotifyLobbyUpdateReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyLobbyUpdateReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedName); + EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged = (EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedName); + EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested = (EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_SendInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_SendInviteName); + EOS_Lobby_SendInvite = (EOS_Lobby_SendInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_SendInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_UpdateLobbyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_UpdateLobbyName); + EOS_Lobby_UpdateLobby = (EOS_Lobby_UpdateLobbyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_UpdateLobbyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Lobby_UpdateLobbyModificationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Lobby_UpdateLobbyModificationName); + EOS_Lobby_UpdateLobbyModification = (EOS_Lobby_UpdateLobbyModificationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Lobby_UpdateLobbyModificationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Logging_SetCallbackName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Logging_SetCallbackName); + EOS_Logging_SetCallback = (EOS_Logging_SetCallbackDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Logging_SetCallbackDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Logging_SetLogLevelName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Logging_SetLogLevelName); + EOS_Logging_SetLogLevel = (EOS_Logging_SetLogLevelDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Logging_SetLogLevelDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Metrics_BeginPlayerSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Metrics_BeginPlayerSessionName); + EOS_Metrics_BeginPlayerSession = (EOS_Metrics_BeginPlayerSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Metrics_BeginPlayerSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Metrics_EndPlayerSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Metrics_EndPlayerSessionName); + EOS_Metrics_EndPlayerSession = (EOS_Metrics_EndPlayerSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Metrics_EndPlayerSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Mods_CopyModInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Mods_CopyModInfoName); + EOS_Mods_CopyModInfo = (EOS_Mods_CopyModInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Mods_CopyModInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Mods_EnumerateModsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Mods_EnumerateModsName); + EOS_Mods_EnumerateMods = (EOS_Mods_EnumerateModsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Mods_EnumerateModsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Mods_InstallModName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Mods_InstallModName); + EOS_Mods_InstallMod = (EOS_Mods_InstallModDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Mods_InstallModDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Mods_ModInfo_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Mods_ModInfo_ReleaseName); + EOS_Mods_ModInfo_Release = (EOS_Mods_ModInfo_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Mods_ModInfo_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Mods_UninstallModName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Mods_UninstallModName); + EOS_Mods_UninstallMod = (EOS_Mods_UninstallModDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Mods_UninstallModDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Mods_UpdateModName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Mods_UpdateModName); + EOS_Mods_UpdateMod = (EOS_Mods_UpdateModDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Mods_UpdateModDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_AcceptConnectionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_AcceptConnectionName); + EOS_P2P_AcceptConnection = (EOS_P2P_AcceptConnectionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_AcceptConnectionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_AddNotifyIncomingPacketQueueFullName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_AddNotifyIncomingPacketQueueFullName); + EOS_P2P_AddNotifyIncomingPacketQueueFull = (EOS_P2P_AddNotifyIncomingPacketQueueFullDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_AddNotifyIncomingPacketQueueFullDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_AddNotifyPeerConnectionClosedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_AddNotifyPeerConnectionClosedName); + EOS_P2P_AddNotifyPeerConnectionClosed = (EOS_P2P_AddNotifyPeerConnectionClosedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_AddNotifyPeerConnectionClosedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_AddNotifyPeerConnectionEstablishedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_AddNotifyPeerConnectionEstablishedName); + EOS_P2P_AddNotifyPeerConnectionEstablished = (EOS_P2P_AddNotifyPeerConnectionEstablishedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_AddNotifyPeerConnectionEstablishedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_AddNotifyPeerConnectionInterruptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_AddNotifyPeerConnectionInterruptedName); + EOS_P2P_AddNotifyPeerConnectionInterrupted = (EOS_P2P_AddNotifyPeerConnectionInterruptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_AddNotifyPeerConnectionInterruptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_AddNotifyPeerConnectionRequestName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_AddNotifyPeerConnectionRequestName); + EOS_P2P_AddNotifyPeerConnectionRequest = (EOS_P2P_AddNotifyPeerConnectionRequestDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_AddNotifyPeerConnectionRequestDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_ClearPacketQueueName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_ClearPacketQueueName); + EOS_P2P_ClearPacketQueue = (EOS_P2P_ClearPacketQueueDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_ClearPacketQueueDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_CloseConnectionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_CloseConnectionName); + EOS_P2P_CloseConnection = (EOS_P2P_CloseConnectionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_CloseConnectionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_CloseConnectionsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_CloseConnectionsName); + EOS_P2P_CloseConnections = (EOS_P2P_CloseConnectionsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_CloseConnectionsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_GetNATTypeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_GetNATTypeName); + EOS_P2P_GetNATType = (EOS_P2P_GetNATTypeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_GetNATTypeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_GetNextReceivedPacketSizeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_GetNextReceivedPacketSizeName); + EOS_P2P_GetNextReceivedPacketSize = (EOS_P2P_GetNextReceivedPacketSizeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_GetNextReceivedPacketSizeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_GetPacketQueueInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_GetPacketQueueInfoName); + EOS_P2P_GetPacketQueueInfo = (EOS_P2P_GetPacketQueueInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_GetPacketQueueInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_GetPortRangeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_GetPortRangeName); + EOS_P2P_GetPortRange = (EOS_P2P_GetPortRangeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_GetPortRangeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_GetRelayControlName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_GetRelayControlName); + EOS_P2P_GetRelayControl = (EOS_P2P_GetRelayControlDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_GetRelayControlDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_QueryNATTypeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_QueryNATTypeName); + EOS_P2P_QueryNATType = (EOS_P2P_QueryNATTypeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_QueryNATTypeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_ReceivePacketName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_ReceivePacketName); + EOS_P2P_ReceivePacket = (EOS_P2P_ReceivePacketDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_ReceivePacketDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_RemoveNotifyIncomingPacketQueueFullName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_RemoveNotifyIncomingPacketQueueFullName); + EOS_P2P_RemoveNotifyIncomingPacketQueueFull = (EOS_P2P_RemoveNotifyIncomingPacketQueueFullDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_RemoveNotifyIncomingPacketQueueFullDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_RemoveNotifyPeerConnectionClosedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_RemoveNotifyPeerConnectionClosedName); + EOS_P2P_RemoveNotifyPeerConnectionClosed = (EOS_P2P_RemoveNotifyPeerConnectionClosedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_RemoveNotifyPeerConnectionClosedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_RemoveNotifyPeerConnectionEstablishedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_RemoveNotifyPeerConnectionEstablishedName); + EOS_P2P_RemoveNotifyPeerConnectionEstablished = (EOS_P2P_RemoveNotifyPeerConnectionEstablishedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_RemoveNotifyPeerConnectionEstablishedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_RemoveNotifyPeerConnectionInterruptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_RemoveNotifyPeerConnectionInterruptedName); + EOS_P2P_RemoveNotifyPeerConnectionInterrupted = (EOS_P2P_RemoveNotifyPeerConnectionInterruptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_RemoveNotifyPeerConnectionInterruptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_RemoveNotifyPeerConnectionRequestName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_RemoveNotifyPeerConnectionRequestName); + EOS_P2P_RemoveNotifyPeerConnectionRequest = (EOS_P2P_RemoveNotifyPeerConnectionRequestDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_RemoveNotifyPeerConnectionRequestDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_SendPacketName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_SendPacketName); + EOS_P2P_SendPacket = (EOS_P2P_SendPacketDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_SendPacketDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_SetPacketQueueSizeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_SetPacketQueueSizeName); + EOS_P2P_SetPacketQueueSize = (EOS_P2P_SetPacketQueueSizeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_SetPacketQueueSizeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_SetPortRangeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_SetPortRangeName); + EOS_P2P_SetPortRange = (EOS_P2P_SetPortRangeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_SetPortRangeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_P2P_SetRelayControlName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_P2P_SetRelayControlName); + EOS_P2P_SetRelayControl = (EOS_P2P_SetRelayControlDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_P2P_SetRelayControlDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_CheckForLauncherAndRestartName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_CheckForLauncherAndRestartName); + EOS_Platform_CheckForLauncherAndRestart = (EOS_Platform_CheckForLauncherAndRestartDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_CheckForLauncherAndRestartDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_CreateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_CreateName); + EOS_Platform_Create = (EOS_Platform_CreateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_CreateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetAchievementsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetAchievementsInterfaceName); + EOS_Platform_GetAchievementsInterface = (EOS_Platform_GetAchievementsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetAchievementsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetActiveCountryCodeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetActiveCountryCodeName); + EOS_Platform_GetActiveCountryCode = (EOS_Platform_GetActiveCountryCodeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetActiveCountryCodeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetActiveLocaleCodeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetActiveLocaleCodeName); + EOS_Platform_GetActiveLocaleCode = (EOS_Platform_GetActiveLocaleCodeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetActiveLocaleCodeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetAntiCheatClientInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetAntiCheatClientInterfaceName); + EOS_Platform_GetAntiCheatClientInterface = (EOS_Platform_GetAntiCheatClientInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetAntiCheatClientInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetAntiCheatServerInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetAntiCheatServerInterfaceName); + EOS_Platform_GetAntiCheatServerInterface = (EOS_Platform_GetAntiCheatServerInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetAntiCheatServerInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetApplicationStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetApplicationStatusName); + EOS_Platform_GetApplicationStatus = (EOS_Platform_GetApplicationStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetApplicationStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetAuthInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetAuthInterfaceName); + EOS_Platform_GetAuthInterface = (EOS_Platform_GetAuthInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetAuthInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetConnectInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetConnectInterfaceName); + EOS_Platform_GetConnectInterface = (EOS_Platform_GetConnectInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetConnectInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetCustomInvitesInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetCustomInvitesInterfaceName); + EOS_Platform_GetCustomInvitesInterface = (EOS_Platform_GetCustomInvitesInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetCustomInvitesInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetDesktopCrossplayStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetDesktopCrossplayStatusName); + EOS_Platform_GetDesktopCrossplayStatus = (EOS_Platform_GetDesktopCrossplayStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetDesktopCrossplayStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetEcomInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetEcomInterfaceName); + EOS_Platform_GetEcomInterface = (EOS_Platform_GetEcomInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetEcomInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetFriendsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetFriendsInterfaceName); + EOS_Platform_GetFriendsInterface = (EOS_Platform_GetFriendsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetFriendsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetIntegratedPlatformInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetIntegratedPlatformInterfaceName); + EOS_Platform_GetIntegratedPlatformInterface = (EOS_Platform_GetIntegratedPlatformInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetIntegratedPlatformInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetKWSInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetKWSInterfaceName); + EOS_Platform_GetKWSInterface = (EOS_Platform_GetKWSInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetKWSInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetLeaderboardsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetLeaderboardsInterfaceName); + EOS_Platform_GetLeaderboardsInterface = (EOS_Platform_GetLeaderboardsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetLeaderboardsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetLobbyInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetLobbyInterfaceName); + EOS_Platform_GetLobbyInterface = (EOS_Platform_GetLobbyInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetLobbyInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetMetricsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetMetricsInterfaceName); + EOS_Platform_GetMetricsInterface = (EOS_Platform_GetMetricsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetMetricsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetModsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetModsInterfaceName); + EOS_Platform_GetModsInterface = (EOS_Platform_GetModsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetModsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetNetworkStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetNetworkStatusName); + EOS_Platform_GetNetworkStatus = (EOS_Platform_GetNetworkStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetNetworkStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetOverrideCountryCodeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetOverrideCountryCodeName); + EOS_Platform_GetOverrideCountryCode = (EOS_Platform_GetOverrideCountryCodeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetOverrideCountryCodeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetOverrideLocaleCodeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetOverrideLocaleCodeName); + EOS_Platform_GetOverrideLocaleCode = (EOS_Platform_GetOverrideLocaleCodeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetOverrideLocaleCodeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetP2PInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetP2PInterfaceName); + EOS_Platform_GetP2PInterface = (EOS_Platform_GetP2PInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetP2PInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetPlayerDataStorageInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetPlayerDataStorageInterfaceName); + EOS_Platform_GetPlayerDataStorageInterface = (EOS_Platform_GetPlayerDataStorageInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetPlayerDataStorageInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetPresenceInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetPresenceInterfaceName); + EOS_Platform_GetPresenceInterface = (EOS_Platform_GetPresenceInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetPresenceInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetProgressionSnapshotInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetProgressionSnapshotInterfaceName); + EOS_Platform_GetProgressionSnapshotInterface = (EOS_Platform_GetProgressionSnapshotInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetProgressionSnapshotInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetRTCAdminInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetRTCAdminInterfaceName); + EOS_Platform_GetRTCAdminInterface = (EOS_Platform_GetRTCAdminInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetRTCAdminInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetRTCInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetRTCInterfaceName); + EOS_Platform_GetRTCInterface = (EOS_Platform_GetRTCInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetRTCInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetReportsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetReportsInterfaceName); + EOS_Platform_GetReportsInterface = (EOS_Platform_GetReportsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetReportsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetSanctionsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetSanctionsInterfaceName); + EOS_Platform_GetSanctionsInterface = (EOS_Platform_GetSanctionsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetSanctionsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetSessionsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetSessionsInterfaceName); + EOS_Platform_GetSessionsInterface = (EOS_Platform_GetSessionsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetSessionsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetStatsInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetStatsInterfaceName); + EOS_Platform_GetStatsInterface = (EOS_Platform_GetStatsInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetStatsInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetTitleStorageInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetTitleStorageInterfaceName); + EOS_Platform_GetTitleStorageInterface = (EOS_Platform_GetTitleStorageInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetTitleStorageInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetUIInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetUIInterfaceName); + EOS_Platform_GetUIInterface = (EOS_Platform_GetUIInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetUIInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_GetUserInfoInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_GetUserInfoInterfaceName); + EOS_Platform_GetUserInfoInterface = (EOS_Platform_GetUserInfoInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_GetUserInfoInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_ReleaseName); + EOS_Platform_Release = (EOS_Platform_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_SetApplicationStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_SetApplicationStatusName); + EOS_Platform_SetApplicationStatus = (EOS_Platform_SetApplicationStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_SetApplicationStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_SetNetworkStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_SetNetworkStatusName); + EOS_Platform_SetNetworkStatus = (EOS_Platform_SetNetworkStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_SetNetworkStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_SetOverrideCountryCodeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_SetOverrideCountryCodeName); + EOS_Platform_SetOverrideCountryCode = (EOS_Platform_SetOverrideCountryCodeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_SetOverrideCountryCodeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_SetOverrideLocaleCodeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_SetOverrideLocaleCodeName); + EOS_Platform_SetOverrideLocaleCode = (EOS_Platform_SetOverrideLocaleCodeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_SetOverrideLocaleCodeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Platform_TickName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Platform_TickName); + EOS_Platform_Tick = (EOS_Platform_TickDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Platform_TickDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorageFileTransferRequest_CancelRequestName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorageFileTransferRequest_CancelRequestName); + EOS_PlayerDataStorageFileTransferRequest_CancelRequest = (EOS_PlayerDataStorageFileTransferRequest_CancelRequestDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorageFileTransferRequest_CancelRequestDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateName); + EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState = (EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorageFileTransferRequest_GetFilenameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorageFileTransferRequest_GetFilenameName); + EOS_PlayerDataStorageFileTransferRequest_GetFilename = (EOS_PlayerDataStorageFileTransferRequest_GetFilenameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorageFileTransferRequest_GetFilenameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorageFileTransferRequest_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorageFileTransferRequest_ReleaseName); + EOS_PlayerDataStorageFileTransferRequest_Release = (EOS_PlayerDataStorageFileTransferRequest_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorageFileTransferRequest_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_CopyFileMetadataAtIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_CopyFileMetadataAtIndexName); + EOS_PlayerDataStorage_CopyFileMetadataAtIndex = (EOS_PlayerDataStorage_CopyFileMetadataAtIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_CopyFileMetadataAtIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_CopyFileMetadataByFilenameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_CopyFileMetadataByFilenameName); + EOS_PlayerDataStorage_CopyFileMetadataByFilename = (EOS_PlayerDataStorage_CopyFileMetadataByFilenameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_CopyFileMetadataByFilenameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_DeleteCacheName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_DeleteCacheName); + EOS_PlayerDataStorage_DeleteCache = (EOS_PlayerDataStorage_DeleteCacheDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_DeleteCacheDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_DeleteFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_DeleteFileName); + EOS_PlayerDataStorage_DeleteFile = (EOS_PlayerDataStorage_DeleteFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_DeleteFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_DuplicateFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_DuplicateFileName); + EOS_PlayerDataStorage_DuplicateFile = (EOS_PlayerDataStorage_DuplicateFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_DuplicateFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_FileMetadata_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_FileMetadata_ReleaseName); + EOS_PlayerDataStorage_FileMetadata_Release = (EOS_PlayerDataStorage_FileMetadata_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_FileMetadata_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_GetFileMetadataCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_GetFileMetadataCountName); + EOS_PlayerDataStorage_GetFileMetadataCount = (EOS_PlayerDataStorage_GetFileMetadataCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_GetFileMetadataCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_QueryFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_QueryFileName); + EOS_PlayerDataStorage_QueryFile = (EOS_PlayerDataStorage_QueryFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_QueryFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_QueryFileListName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_QueryFileListName); + EOS_PlayerDataStorage_QueryFileList = (EOS_PlayerDataStorage_QueryFileListDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_QueryFileListDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_ReadFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_ReadFileName); + EOS_PlayerDataStorage_ReadFile = (EOS_PlayerDataStorage_ReadFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_ReadFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PlayerDataStorage_WriteFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PlayerDataStorage_WriteFileName); + EOS_PlayerDataStorage_WriteFile = (EOS_PlayerDataStorage_WriteFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PlayerDataStorage_WriteFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_DeleteDataName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_DeleteDataName); + EOS_PresenceModification_DeleteData = (EOS_PresenceModification_DeleteDataDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_DeleteDataDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_ReleaseName); + EOS_PresenceModification_Release = (EOS_PresenceModification_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_SetDataName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_SetDataName); + EOS_PresenceModification_SetData = (EOS_PresenceModification_SetDataDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_SetDataDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_SetJoinInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_SetJoinInfoName); + EOS_PresenceModification_SetJoinInfo = (EOS_PresenceModification_SetJoinInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_SetJoinInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_SetRawRichTextName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_SetRawRichTextName); + EOS_PresenceModification_SetRawRichText = (EOS_PresenceModification_SetRawRichTextDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_SetRawRichTextDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_SetStatusName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_SetStatusName); + EOS_PresenceModification_SetStatus = (EOS_PresenceModification_SetStatusDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_SetStatusDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_SetTemplateDataName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_SetTemplateDataName); + EOS_PresenceModification_SetTemplateData = (EOS_PresenceModification_SetTemplateDataDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_SetTemplateDataDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_PresenceModification_SetTemplateIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_PresenceModification_SetTemplateIdName); + EOS_PresenceModification_SetTemplateId = (EOS_PresenceModification_SetTemplateIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_PresenceModification_SetTemplateIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_AddNotifyJoinGameAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_AddNotifyJoinGameAcceptedName); + EOS_Presence_AddNotifyJoinGameAccepted = (EOS_Presence_AddNotifyJoinGameAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_AddNotifyJoinGameAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_AddNotifyOnPresenceChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_AddNotifyOnPresenceChangedName); + EOS_Presence_AddNotifyOnPresenceChanged = (EOS_Presence_AddNotifyOnPresenceChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_AddNotifyOnPresenceChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_CopyPresenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_CopyPresenceName); + EOS_Presence_CopyPresence = (EOS_Presence_CopyPresenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_CopyPresenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_CreatePresenceModificationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_CreatePresenceModificationName); + EOS_Presence_CreatePresenceModification = (EOS_Presence_CreatePresenceModificationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_CreatePresenceModificationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_GetJoinInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_GetJoinInfoName); + EOS_Presence_GetJoinInfo = (EOS_Presence_GetJoinInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_GetJoinInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_HasPresenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_HasPresenceName); + EOS_Presence_HasPresence = (EOS_Presence_HasPresenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_HasPresenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_Info_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_Info_ReleaseName); + EOS_Presence_Info_Release = (EOS_Presence_Info_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_Info_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_QueryPresenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_QueryPresenceName); + EOS_Presence_QueryPresence = (EOS_Presence_QueryPresenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_QueryPresenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_RemoveNotifyJoinGameAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_RemoveNotifyJoinGameAcceptedName); + EOS_Presence_RemoveNotifyJoinGameAccepted = (EOS_Presence_RemoveNotifyJoinGameAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_RemoveNotifyJoinGameAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_RemoveNotifyOnPresenceChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_RemoveNotifyOnPresenceChangedName); + EOS_Presence_RemoveNotifyOnPresenceChanged = (EOS_Presence_RemoveNotifyOnPresenceChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_RemoveNotifyOnPresenceChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Presence_SetPresenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Presence_SetPresenceName); + EOS_Presence_SetPresence = (EOS_Presence_SetPresenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Presence_SetPresenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProductUserId_FromStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProductUserId_FromStringName); + EOS_ProductUserId_FromString = (EOS_ProductUserId_FromStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProductUserId_FromStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProductUserId_IsValidName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProductUserId_IsValidName); + EOS_ProductUserId_IsValid = (EOS_ProductUserId_IsValidDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProductUserId_IsValidDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProductUserId_ToStringName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProductUserId_ToStringName); + EOS_ProductUserId_ToString = (EOS_ProductUserId_ToStringDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProductUserId_ToStringDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProgressionSnapshot_AddProgressionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProgressionSnapshot_AddProgressionName); + EOS_ProgressionSnapshot_AddProgression = (EOS_ProgressionSnapshot_AddProgressionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProgressionSnapshot_AddProgressionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProgressionSnapshot_BeginSnapshotName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProgressionSnapshot_BeginSnapshotName); + EOS_ProgressionSnapshot_BeginSnapshot = (EOS_ProgressionSnapshot_BeginSnapshotDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProgressionSnapshot_BeginSnapshotDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProgressionSnapshot_DeleteSnapshotName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProgressionSnapshot_DeleteSnapshotName); + EOS_ProgressionSnapshot_DeleteSnapshot = (EOS_ProgressionSnapshot_DeleteSnapshotDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProgressionSnapshot_DeleteSnapshotDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProgressionSnapshot_EndSnapshotName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProgressionSnapshot_EndSnapshotName); + EOS_ProgressionSnapshot_EndSnapshot = (EOS_ProgressionSnapshot_EndSnapshotDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProgressionSnapshot_EndSnapshotDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ProgressionSnapshot_SubmitSnapshotName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ProgressionSnapshot_SubmitSnapshotName); + EOS_ProgressionSnapshot_SubmitSnapshot = (EOS_ProgressionSnapshot_SubmitSnapshotDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ProgressionSnapshot_SubmitSnapshotDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAdmin_CopyUserTokenByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAdmin_CopyUserTokenByIndexName); + EOS_RTCAdmin_CopyUserTokenByIndex = (EOS_RTCAdmin_CopyUserTokenByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAdmin_CopyUserTokenByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAdmin_CopyUserTokenByUserIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAdmin_CopyUserTokenByUserIdName); + EOS_RTCAdmin_CopyUserTokenByUserId = (EOS_RTCAdmin_CopyUserTokenByUserIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAdmin_CopyUserTokenByUserIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAdmin_KickName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAdmin_KickName); + EOS_RTCAdmin_Kick = (EOS_RTCAdmin_KickDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAdmin_KickDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAdmin_QueryJoinRoomTokenName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAdmin_QueryJoinRoomTokenName); + EOS_RTCAdmin_QueryJoinRoomToken = (EOS_RTCAdmin_QueryJoinRoomTokenDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAdmin_QueryJoinRoomTokenDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAdmin_SetParticipantHardMuteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAdmin_SetParticipantHardMuteName); + EOS_RTCAdmin_SetParticipantHardMute = (EOS_RTCAdmin_SetParticipantHardMuteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAdmin_SetParticipantHardMuteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAdmin_UserToken_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAdmin_UserToken_ReleaseName); + EOS_RTCAdmin_UserToken_Release = (EOS_RTCAdmin_UserToken_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAdmin_UserToken_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_AddNotifyAudioBeforeRenderName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_AddNotifyAudioBeforeRenderName); + EOS_RTCAudio_AddNotifyAudioBeforeRender = (EOS_RTCAudio_AddNotifyAudioBeforeRenderDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_AddNotifyAudioBeforeRenderDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_AddNotifyAudioBeforeSendName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_AddNotifyAudioBeforeSendName); + EOS_RTCAudio_AddNotifyAudioBeforeSend = (EOS_RTCAudio_AddNotifyAudioBeforeSendDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_AddNotifyAudioBeforeSendDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_AddNotifyAudioDevicesChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_AddNotifyAudioDevicesChangedName); + EOS_RTCAudio_AddNotifyAudioDevicesChanged = (EOS_RTCAudio_AddNotifyAudioDevicesChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_AddNotifyAudioDevicesChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_AddNotifyAudioInputStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_AddNotifyAudioInputStateName); + EOS_RTCAudio_AddNotifyAudioInputState = (EOS_RTCAudio_AddNotifyAudioInputStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_AddNotifyAudioInputStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_AddNotifyAudioOutputStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_AddNotifyAudioOutputStateName); + EOS_RTCAudio_AddNotifyAudioOutputState = (EOS_RTCAudio_AddNotifyAudioOutputStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_AddNotifyAudioOutputStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_AddNotifyParticipantUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_AddNotifyParticipantUpdatedName); + EOS_RTCAudio_AddNotifyParticipantUpdated = (EOS_RTCAudio_AddNotifyParticipantUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_AddNotifyParticipantUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_CopyInputDeviceInformationByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_CopyInputDeviceInformationByIndexName); + EOS_RTCAudio_CopyInputDeviceInformationByIndex = (EOS_RTCAudio_CopyInputDeviceInformationByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_CopyInputDeviceInformationByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_CopyOutputDeviceInformationByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_CopyOutputDeviceInformationByIndexName); + EOS_RTCAudio_CopyOutputDeviceInformationByIndex = (EOS_RTCAudio_CopyOutputDeviceInformationByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_CopyOutputDeviceInformationByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_GetAudioInputDeviceByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_GetAudioInputDeviceByIndexName); + EOS_RTCAudio_GetAudioInputDeviceByIndex = (EOS_RTCAudio_GetAudioInputDeviceByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_GetAudioInputDeviceByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_GetAudioInputDevicesCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_GetAudioInputDevicesCountName); + EOS_RTCAudio_GetAudioInputDevicesCount = (EOS_RTCAudio_GetAudioInputDevicesCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_GetAudioInputDevicesCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_GetAudioOutputDeviceByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_GetAudioOutputDeviceByIndexName); + EOS_RTCAudio_GetAudioOutputDeviceByIndex = (EOS_RTCAudio_GetAudioOutputDeviceByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_GetAudioOutputDeviceByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_GetAudioOutputDevicesCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_GetAudioOutputDevicesCountName); + EOS_RTCAudio_GetAudioOutputDevicesCount = (EOS_RTCAudio_GetAudioOutputDevicesCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_GetAudioOutputDevicesCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_GetInputDevicesCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_GetInputDevicesCountName); + EOS_RTCAudio_GetInputDevicesCount = (EOS_RTCAudio_GetInputDevicesCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_GetInputDevicesCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_GetOutputDevicesCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_GetOutputDevicesCountName); + EOS_RTCAudio_GetOutputDevicesCount = (EOS_RTCAudio_GetOutputDevicesCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_GetOutputDevicesCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_InputDeviceInformation_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_InputDeviceInformation_ReleaseName); + EOS_RTCAudio_InputDeviceInformation_Release = (EOS_RTCAudio_InputDeviceInformation_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_InputDeviceInformation_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_OutputDeviceInformation_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_OutputDeviceInformation_ReleaseName); + EOS_RTCAudio_OutputDeviceInformation_Release = (EOS_RTCAudio_OutputDeviceInformation_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_OutputDeviceInformation_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_QueryInputDevicesInformationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_QueryInputDevicesInformationName); + EOS_RTCAudio_QueryInputDevicesInformation = (EOS_RTCAudio_QueryInputDevicesInformationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_QueryInputDevicesInformationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_QueryOutputDevicesInformationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_QueryOutputDevicesInformationName); + EOS_RTCAudio_QueryOutputDevicesInformation = (EOS_RTCAudio_QueryOutputDevicesInformationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_QueryOutputDevicesInformationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RegisterPlatformAudioUserName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RegisterPlatformAudioUserName); + EOS_RTCAudio_RegisterPlatformAudioUser = (EOS_RTCAudio_RegisterPlatformAudioUserDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RegisterPlatformAudioUserDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RegisterPlatformUserName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RegisterPlatformUserName); + EOS_RTCAudio_RegisterPlatformUser = (EOS_RTCAudio_RegisterPlatformUserDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RegisterPlatformUserDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RemoveNotifyAudioBeforeRenderName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RemoveNotifyAudioBeforeRenderName); + EOS_RTCAudio_RemoveNotifyAudioBeforeRender = (EOS_RTCAudio_RemoveNotifyAudioBeforeRenderDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RemoveNotifyAudioBeforeRenderDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RemoveNotifyAudioBeforeSendName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RemoveNotifyAudioBeforeSendName); + EOS_RTCAudio_RemoveNotifyAudioBeforeSend = (EOS_RTCAudio_RemoveNotifyAudioBeforeSendDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RemoveNotifyAudioBeforeSendDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RemoveNotifyAudioDevicesChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RemoveNotifyAudioDevicesChangedName); + EOS_RTCAudio_RemoveNotifyAudioDevicesChanged = (EOS_RTCAudio_RemoveNotifyAudioDevicesChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RemoveNotifyAudioDevicesChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RemoveNotifyAudioInputStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RemoveNotifyAudioInputStateName); + EOS_RTCAudio_RemoveNotifyAudioInputState = (EOS_RTCAudio_RemoveNotifyAudioInputStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RemoveNotifyAudioInputStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RemoveNotifyAudioOutputStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RemoveNotifyAudioOutputStateName); + EOS_RTCAudio_RemoveNotifyAudioOutputState = (EOS_RTCAudio_RemoveNotifyAudioOutputStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RemoveNotifyAudioOutputStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_RemoveNotifyParticipantUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_RemoveNotifyParticipantUpdatedName); + EOS_RTCAudio_RemoveNotifyParticipantUpdated = (EOS_RTCAudio_RemoveNotifyParticipantUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_RemoveNotifyParticipantUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_SendAudioName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_SendAudioName); + EOS_RTCAudio_SendAudio = (EOS_RTCAudio_SendAudioDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_SendAudioDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_SetAudioInputSettingsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_SetAudioInputSettingsName); + EOS_RTCAudio_SetAudioInputSettings = (EOS_RTCAudio_SetAudioInputSettingsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_SetAudioInputSettingsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_SetAudioOutputSettingsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_SetAudioOutputSettingsName); + EOS_RTCAudio_SetAudioOutputSettings = (EOS_RTCAudio_SetAudioOutputSettingsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_SetAudioOutputSettingsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_SetInputDeviceSettingsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_SetInputDeviceSettingsName); + EOS_RTCAudio_SetInputDeviceSettings = (EOS_RTCAudio_SetInputDeviceSettingsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_SetInputDeviceSettingsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_SetOutputDeviceSettingsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_SetOutputDeviceSettingsName); + EOS_RTCAudio_SetOutputDeviceSettings = (EOS_RTCAudio_SetOutputDeviceSettingsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_SetOutputDeviceSettingsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UnregisterPlatformAudioUserName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UnregisterPlatformAudioUserName); + EOS_RTCAudio_UnregisterPlatformAudioUser = (EOS_RTCAudio_UnregisterPlatformAudioUserDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UnregisterPlatformAudioUserDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UnregisterPlatformUserName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UnregisterPlatformUserName); + EOS_RTCAudio_UnregisterPlatformUser = (EOS_RTCAudio_UnregisterPlatformUserDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UnregisterPlatformUserDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UpdateParticipantVolumeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UpdateParticipantVolumeName); + EOS_RTCAudio_UpdateParticipantVolume = (EOS_RTCAudio_UpdateParticipantVolumeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UpdateParticipantVolumeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UpdateReceivingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UpdateReceivingName); + EOS_RTCAudio_UpdateReceiving = (EOS_RTCAudio_UpdateReceivingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UpdateReceivingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UpdateReceivingVolumeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UpdateReceivingVolumeName); + EOS_RTCAudio_UpdateReceivingVolume = (EOS_RTCAudio_UpdateReceivingVolumeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UpdateReceivingVolumeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UpdateSendingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UpdateSendingName); + EOS_RTCAudio_UpdateSending = (EOS_RTCAudio_UpdateSendingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UpdateSendingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCAudio_UpdateSendingVolumeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCAudio_UpdateSendingVolumeName); + EOS_RTCAudio_UpdateSendingVolume = (EOS_RTCAudio_UpdateSendingVolumeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCAudio_UpdateSendingVolumeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_AddNotifyDataReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_AddNotifyDataReceivedName); + EOS_RTCData_AddNotifyDataReceived = (EOS_RTCData_AddNotifyDataReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_AddNotifyDataReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_AddNotifyParticipantUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_AddNotifyParticipantUpdatedName); + EOS_RTCData_AddNotifyParticipantUpdated = (EOS_RTCData_AddNotifyParticipantUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_AddNotifyParticipantUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_RemoveNotifyDataReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_RemoveNotifyDataReceivedName); + EOS_RTCData_RemoveNotifyDataReceived = (EOS_RTCData_RemoveNotifyDataReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_RemoveNotifyDataReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_RemoveNotifyParticipantUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_RemoveNotifyParticipantUpdatedName); + EOS_RTCData_RemoveNotifyParticipantUpdated = (EOS_RTCData_RemoveNotifyParticipantUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_RemoveNotifyParticipantUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_SendDataName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_SendDataName); + EOS_RTCData_SendData = (EOS_RTCData_SendDataDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_SendDataDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_UpdateReceivingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_UpdateReceivingName); + EOS_RTCData_UpdateReceiving = (EOS_RTCData_UpdateReceivingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_UpdateReceivingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTCData_UpdateSendingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTCData_UpdateSendingName); + EOS_RTCData_UpdateSending = (EOS_RTCData_UpdateSendingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTCData_UpdateSendingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_AddNotifyDisconnectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_AddNotifyDisconnectedName); + EOS_RTC_AddNotifyDisconnected = (EOS_RTC_AddNotifyDisconnectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_AddNotifyDisconnectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_AddNotifyParticipantStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_AddNotifyParticipantStatusChangedName); + EOS_RTC_AddNotifyParticipantStatusChanged = (EOS_RTC_AddNotifyParticipantStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_AddNotifyParticipantStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_AddNotifyRoomBeforeJoinName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_AddNotifyRoomBeforeJoinName); + EOS_RTC_AddNotifyRoomBeforeJoin = (EOS_RTC_AddNotifyRoomBeforeJoinDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_AddNotifyRoomBeforeJoinDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_AddNotifyRoomStatisticsUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_AddNotifyRoomStatisticsUpdatedName); + EOS_RTC_AddNotifyRoomStatisticsUpdated = (EOS_RTC_AddNotifyRoomStatisticsUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_AddNotifyRoomStatisticsUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_BlockParticipantName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_BlockParticipantName); + EOS_RTC_BlockParticipant = (EOS_RTC_BlockParticipantDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_BlockParticipantDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_GetAudioInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_GetAudioInterfaceName); + EOS_RTC_GetAudioInterface = (EOS_RTC_GetAudioInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_GetAudioInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_GetDataInterfaceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_GetDataInterfaceName); + EOS_RTC_GetDataInterface = (EOS_RTC_GetDataInterfaceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_GetDataInterfaceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_JoinRoomName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_JoinRoomName); + EOS_RTC_JoinRoom = (EOS_RTC_JoinRoomDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_JoinRoomDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_LeaveRoomName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_LeaveRoomName); + EOS_RTC_LeaveRoom = (EOS_RTC_LeaveRoomDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_LeaveRoomDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_RemoveNotifyDisconnectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_RemoveNotifyDisconnectedName); + EOS_RTC_RemoveNotifyDisconnected = (EOS_RTC_RemoveNotifyDisconnectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_RemoveNotifyDisconnectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_RemoveNotifyParticipantStatusChangedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_RemoveNotifyParticipantStatusChangedName); + EOS_RTC_RemoveNotifyParticipantStatusChanged = (EOS_RTC_RemoveNotifyParticipantStatusChangedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_RemoveNotifyParticipantStatusChangedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_RemoveNotifyRoomBeforeJoinName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_RemoveNotifyRoomBeforeJoinName); + EOS_RTC_RemoveNotifyRoomBeforeJoin = (EOS_RTC_RemoveNotifyRoomBeforeJoinDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_RemoveNotifyRoomBeforeJoinDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_RemoveNotifyRoomStatisticsUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_RemoveNotifyRoomStatisticsUpdatedName); + EOS_RTC_RemoveNotifyRoomStatisticsUpdated = (EOS_RTC_RemoveNotifyRoomStatisticsUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_RemoveNotifyRoomStatisticsUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_SetRoomSettingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_SetRoomSettingName); + EOS_RTC_SetRoomSetting = (EOS_RTC_SetRoomSettingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_SetRoomSettingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_RTC_SetSettingName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_RTC_SetSettingName); + EOS_RTC_SetSetting = (EOS_RTC_SetSettingDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_RTC_SetSettingDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Reports_SendPlayerBehaviorReportName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Reports_SendPlayerBehaviorReportName); + EOS_Reports_SendPlayerBehaviorReport = (EOS_Reports_SendPlayerBehaviorReportDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Reports_SendPlayerBehaviorReportDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sanctions_CopyPlayerSanctionByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sanctions_CopyPlayerSanctionByIndexName); + EOS_Sanctions_CopyPlayerSanctionByIndex = (EOS_Sanctions_CopyPlayerSanctionByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sanctions_CopyPlayerSanctionByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sanctions_CreatePlayerSanctionAppealName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sanctions_CreatePlayerSanctionAppealName); + EOS_Sanctions_CreatePlayerSanctionAppeal = (EOS_Sanctions_CreatePlayerSanctionAppealDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sanctions_CreatePlayerSanctionAppealDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sanctions_GetPlayerSanctionCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sanctions_GetPlayerSanctionCountName); + EOS_Sanctions_GetPlayerSanctionCount = (EOS_Sanctions_GetPlayerSanctionCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sanctions_GetPlayerSanctionCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sanctions_PlayerSanction_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sanctions_PlayerSanction_ReleaseName); + EOS_Sanctions_PlayerSanction_Release = (EOS_Sanctions_PlayerSanction_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sanctions_PlayerSanction_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sanctions_QueryActivePlayerSanctionsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sanctions_QueryActivePlayerSanctionsName); + EOS_Sanctions_QueryActivePlayerSanctions = (EOS_Sanctions_QueryActivePlayerSanctionsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sanctions_QueryActivePlayerSanctionsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_Attribute_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_Attribute_ReleaseName); + EOS_SessionDetails_Attribute_Release = (EOS_SessionDetails_Attribute_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_Attribute_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_CopyInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_CopyInfoName); + EOS_SessionDetails_CopyInfo = (EOS_SessionDetails_CopyInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_CopyInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_CopySessionAttributeByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_CopySessionAttributeByIndexName); + EOS_SessionDetails_CopySessionAttributeByIndex = (EOS_SessionDetails_CopySessionAttributeByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_CopySessionAttributeByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_CopySessionAttributeByKeyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_CopySessionAttributeByKeyName); + EOS_SessionDetails_CopySessionAttributeByKey = (EOS_SessionDetails_CopySessionAttributeByKeyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_CopySessionAttributeByKeyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_GetSessionAttributeCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_GetSessionAttributeCountName); + EOS_SessionDetails_GetSessionAttributeCount = (EOS_SessionDetails_GetSessionAttributeCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_GetSessionAttributeCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_Info_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_Info_ReleaseName); + EOS_SessionDetails_Info_Release = (EOS_SessionDetails_Info_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_Info_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionDetails_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionDetails_ReleaseName); + EOS_SessionDetails_Release = (EOS_SessionDetails_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionDetails_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_AddAttributeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_AddAttributeName); + EOS_SessionModification_AddAttribute = (EOS_SessionModification_AddAttributeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_AddAttributeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_ReleaseName); + EOS_SessionModification_Release = (EOS_SessionModification_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_RemoveAttributeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_RemoveAttributeName); + EOS_SessionModification_RemoveAttribute = (EOS_SessionModification_RemoveAttributeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_RemoveAttributeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetAllowedPlatformIdsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetAllowedPlatformIdsName); + EOS_SessionModification_SetAllowedPlatformIds = (EOS_SessionModification_SetAllowedPlatformIdsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetAllowedPlatformIdsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetBucketIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetBucketIdName); + EOS_SessionModification_SetBucketId = (EOS_SessionModification_SetBucketIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetBucketIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetHostAddressName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetHostAddressName); + EOS_SessionModification_SetHostAddress = (EOS_SessionModification_SetHostAddressDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetHostAddressDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetInvitesAllowedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetInvitesAllowedName); + EOS_SessionModification_SetInvitesAllowed = (EOS_SessionModification_SetInvitesAllowedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetInvitesAllowedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetJoinInProgressAllowedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetJoinInProgressAllowedName); + EOS_SessionModification_SetJoinInProgressAllowed = (EOS_SessionModification_SetJoinInProgressAllowedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetJoinInProgressAllowedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetMaxPlayersName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetMaxPlayersName); + EOS_SessionModification_SetMaxPlayers = (EOS_SessionModification_SetMaxPlayersDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetMaxPlayersDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionModification_SetPermissionLevelName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionModification_SetPermissionLevelName); + EOS_SessionModification_SetPermissionLevel = (EOS_SessionModification_SetPermissionLevelDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionModification_SetPermissionLevelDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_CopySearchResultByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_CopySearchResultByIndexName); + EOS_SessionSearch_CopySearchResultByIndex = (EOS_SessionSearch_CopySearchResultByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_CopySearchResultByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_FindName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_FindName); + EOS_SessionSearch_Find = (EOS_SessionSearch_FindDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_FindDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_GetSearchResultCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_GetSearchResultCountName); + EOS_SessionSearch_GetSearchResultCount = (EOS_SessionSearch_GetSearchResultCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_GetSearchResultCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_ReleaseName); + EOS_SessionSearch_Release = (EOS_SessionSearch_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_RemoveParameterName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_RemoveParameterName); + EOS_SessionSearch_RemoveParameter = (EOS_SessionSearch_RemoveParameterDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_RemoveParameterDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_SetMaxResultsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_SetMaxResultsName); + EOS_SessionSearch_SetMaxResults = (EOS_SessionSearch_SetMaxResultsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_SetMaxResultsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_SetParameterName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_SetParameterName); + EOS_SessionSearch_SetParameter = (EOS_SessionSearch_SetParameterDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_SetParameterDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_SetSessionIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_SetSessionIdName); + EOS_SessionSearch_SetSessionId = (EOS_SessionSearch_SetSessionIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_SetSessionIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_SessionSearch_SetTargetUserIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_SessionSearch_SetTargetUserIdName); + EOS_SessionSearch_SetTargetUserId = (EOS_SessionSearch_SetTargetUserIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_SessionSearch_SetTargetUserIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_AddNotifyJoinSessionAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_AddNotifyJoinSessionAcceptedName); + EOS_Sessions_AddNotifyJoinSessionAccepted = (EOS_Sessions_AddNotifyJoinSessionAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_AddNotifyJoinSessionAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_AddNotifyLeaveSessionRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_AddNotifyLeaveSessionRequestedName); + EOS_Sessions_AddNotifyLeaveSessionRequested = (EOS_Sessions_AddNotifyLeaveSessionRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_AddNotifyLeaveSessionRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_AddNotifySendSessionNativeInviteRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_AddNotifySendSessionNativeInviteRequestedName); + EOS_Sessions_AddNotifySendSessionNativeInviteRequested = (EOS_Sessions_AddNotifySendSessionNativeInviteRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_AddNotifySendSessionNativeInviteRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_AddNotifySessionInviteAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_AddNotifySessionInviteAcceptedName); + EOS_Sessions_AddNotifySessionInviteAccepted = (EOS_Sessions_AddNotifySessionInviteAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_AddNotifySessionInviteAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_AddNotifySessionInviteReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_AddNotifySessionInviteReceivedName); + EOS_Sessions_AddNotifySessionInviteReceived = (EOS_Sessions_AddNotifySessionInviteReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_AddNotifySessionInviteReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_AddNotifySessionInviteRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_AddNotifySessionInviteRejectedName); + EOS_Sessions_AddNotifySessionInviteRejected = (EOS_Sessions_AddNotifySessionInviteRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_AddNotifySessionInviteRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_CopyActiveSessionHandleName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_CopyActiveSessionHandleName); + EOS_Sessions_CopyActiveSessionHandle = (EOS_Sessions_CopyActiveSessionHandleDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_CopyActiveSessionHandleDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_CopySessionHandleByInviteIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_CopySessionHandleByInviteIdName); + EOS_Sessions_CopySessionHandleByInviteId = (EOS_Sessions_CopySessionHandleByInviteIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_CopySessionHandleByInviteIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_CopySessionHandleByUiEventIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_CopySessionHandleByUiEventIdName); + EOS_Sessions_CopySessionHandleByUiEventId = (EOS_Sessions_CopySessionHandleByUiEventIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_CopySessionHandleByUiEventIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_CopySessionHandleForPresenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_CopySessionHandleForPresenceName); + EOS_Sessions_CopySessionHandleForPresence = (EOS_Sessions_CopySessionHandleForPresenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_CopySessionHandleForPresenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_CreateSessionModificationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_CreateSessionModificationName); + EOS_Sessions_CreateSessionModification = (EOS_Sessions_CreateSessionModificationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_CreateSessionModificationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_CreateSessionSearchName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_CreateSessionSearchName); + EOS_Sessions_CreateSessionSearch = (EOS_Sessions_CreateSessionSearchDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_CreateSessionSearchDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_DestroySessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_DestroySessionName); + EOS_Sessions_DestroySession = (EOS_Sessions_DestroySessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_DestroySessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_DumpSessionStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_DumpSessionStateName); + EOS_Sessions_DumpSessionState = (EOS_Sessions_DumpSessionStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_DumpSessionStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_EndSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_EndSessionName); + EOS_Sessions_EndSession = (EOS_Sessions_EndSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_EndSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_GetInviteCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_GetInviteCountName); + EOS_Sessions_GetInviteCount = (EOS_Sessions_GetInviteCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_GetInviteCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_GetInviteIdByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_GetInviteIdByIndexName); + EOS_Sessions_GetInviteIdByIndex = (EOS_Sessions_GetInviteIdByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_GetInviteIdByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_IsUserInSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_IsUserInSessionName); + EOS_Sessions_IsUserInSession = (EOS_Sessions_IsUserInSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_IsUserInSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_JoinSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_JoinSessionName); + EOS_Sessions_JoinSession = (EOS_Sessions_JoinSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_JoinSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_QueryInvitesName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_QueryInvitesName); + EOS_Sessions_QueryInvites = (EOS_Sessions_QueryInvitesDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_QueryInvitesDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RegisterPlayersName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RegisterPlayersName); + EOS_Sessions_RegisterPlayers = (EOS_Sessions_RegisterPlayersDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RegisterPlayersDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RejectInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RejectInviteName); + EOS_Sessions_RejectInvite = (EOS_Sessions_RejectInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RejectInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RemoveNotifyJoinSessionAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RemoveNotifyJoinSessionAcceptedName); + EOS_Sessions_RemoveNotifyJoinSessionAccepted = (EOS_Sessions_RemoveNotifyJoinSessionAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RemoveNotifyJoinSessionAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RemoveNotifyLeaveSessionRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RemoveNotifyLeaveSessionRequestedName); + EOS_Sessions_RemoveNotifyLeaveSessionRequested = (EOS_Sessions_RemoveNotifyLeaveSessionRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RemoveNotifyLeaveSessionRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedName); + EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested = (EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RemoveNotifySessionInviteAcceptedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RemoveNotifySessionInviteAcceptedName); + EOS_Sessions_RemoveNotifySessionInviteAccepted = (EOS_Sessions_RemoveNotifySessionInviteAcceptedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RemoveNotifySessionInviteAcceptedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RemoveNotifySessionInviteReceivedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RemoveNotifySessionInviteReceivedName); + EOS_Sessions_RemoveNotifySessionInviteReceived = (EOS_Sessions_RemoveNotifySessionInviteReceivedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RemoveNotifySessionInviteReceivedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_RemoveNotifySessionInviteRejectedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_RemoveNotifySessionInviteRejectedName); + EOS_Sessions_RemoveNotifySessionInviteRejected = (EOS_Sessions_RemoveNotifySessionInviteRejectedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_RemoveNotifySessionInviteRejectedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_SendInviteName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_SendInviteName); + EOS_Sessions_SendInvite = (EOS_Sessions_SendInviteDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_SendInviteDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_StartSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_StartSessionName); + EOS_Sessions_StartSession = (EOS_Sessions_StartSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_StartSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_UnregisterPlayersName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_UnregisterPlayersName); + EOS_Sessions_UnregisterPlayers = (EOS_Sessions_UnregisterPlayersDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_UnregisterPlayersDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_UpdateSessionName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_UpdateSessionName); + EOS_Sessions_UpdateSession = (EOS_Sessions_UpdateSessionDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_UpdateSessionDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Sessions_UpdateSessionModificationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Sessions_UpdateSessionModificationName); + EOS_Sessions_UpdateSessionModification = (EOS_Sessions_UpdateSessionModificationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Sessions_UpdateSessionModificationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_ShutdownName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_ShutdownName); + EOS_Shutdown = (EOS_ShutdownDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_ShutdownDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Stats_CopyStatByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Stats_CopyStatByIndexName); + EOS_Stats_CopyStatByIndex = (EOS_Stats_CopyStatByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Stats_CopyStatByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Stats_CopyStatByNameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Stats_CopyStatByNameName); + EOS_Stats_CopyStatByName = (EOS_Stats_CopyStatByNameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Stats_CopyStatByNameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Stats_GetStatsCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Stats_GetStatsCountName); + EOS_Stats_GetStatsCount = (EOS_Stats_GetStatsCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Stats_GetStatsCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Stats_IngestStatName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Stats_IngestStatName); + EOS_Stats_IngestStat = (EOS_Stats_IngestStatDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Stats_IngestStatDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Stats_QueryStatsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Stats_QueryStatsName); + EOS_Stats_QueryStats = (EOS_Stats_QueryStatsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Stats_QueryStatsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_Stats_Stat_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Stats_Stat_ReleaseName); + EOS_Stats_Stat_Release = (EOS_Stats_Stat_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Stats_Stat_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorageFileTransferRequest_CancelRequestName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorageFileTransferRequest_CancelRequestName); + EOS_TitleStorageFileTransferRequest_CancelRequest = (EOS_TitleStorageFileTransferRequest_CancelRequestDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorageFileTransferRequest_CancelRequestDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorageFileTransferRequest_GetFileRequestStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorageFileTransferRequest_GetFileRequestStateName); + EOS_TitleStorageFileTransferRequest_GetFileRequestState = (EOS_TitleStorageFileTransferRequest_GetFileRequestStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorageFileTransferRequest_GetFileRequestStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorageFileTransferRequest_GetFilenameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorageFileTransferRequest_GetFilenameName); + EOS_TitleStorageFileTransferRequest_GetFilename = (EOS_TitleStorageFileTransferRequest_GetFilenameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorageFileTransferRequest_GetFilenameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorageFileTransferRequest_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorageFileTransferRequest_ReleaseName); + EOS_TitleStorageFileTransferRequest_Release = (EOS_TitleStorageFileTransferRequest_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorageFileTransferRequest_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_CopyFileMetadataAtIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_CopyFileMetadataAtIndexName); + EOS_TitleStorage_CopyFileMetadataAtIndex = (EOS_TitleStorage_CopyFileMetadataAtIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_CopyFileMetadataAtIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_CopyFileMetadataByFilenameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_CopyFileMetadataByFilenameName); + EOS_TitleStorage_CopyFileMetadataByFilename = (EOS_TitleStorage_CopyFileMetadataByFilenameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_CopyFileMetadataByFilenameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_DeleteCacheName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_DeleteCacheName); + EOS_TitleStorage_DeleteCache = (EOS_TitleStorage_DeleteCacheDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_DeleteCacheDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_FileMetadata_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_FileMetadata_ReleaseName); + EOS_TitleStorage_FileMetadata_Release = (EOS_TitleStorage_FileMetadata_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_FileMetadata_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_GetFileMetadataCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_GetFileMetadataCountName); + EOS_TitleStorage_GetFileMetadataCount = (EOS_TitleStorage_GetFileMetadataCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_GetFileMetadataCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_QueryFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_QueryFileName); + EOS_TitleStorage_QueryFile = (EOS_TitleStorage_QueryFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_QueryFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_QueryFileListName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_QueryFileListName); + EOS_TitleStorage_QueryFileList = (EOS_TitleStorage_QueryFileListDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_QueryFileListDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_TitleStorage_ReadFileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_TitleStorage_ReadFileName); + EOS_TitleStorage_ReadFile = (EOS_TitleStorage_ReadFileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_TitleStorage_ReadFileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_AcknowledgeEventIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_AcknowledgeEventIdName); + EOS_UI_AcknowledgeEventId = (EOS_UI_AcknowledgeEventIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_AcknowledgeEventIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_AddNotifyDisplaySettingsUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_AddNotifyDisplaySettingsUpdatedName); + EOS_UI_AddNotifyDisplaySettingsUpdated = (EOS_UI_AddNotifyDisplaySettingsUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_AddNotifyDisplaySettingsUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_AddNotifyMemoryMonitorName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_AddNotifyMemoryMonitorName); + EOS_UI_AddNotifyMemoryMonitor = (EOS_UI_AddNotifyMemoryMonitorDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_AddNotifyMemoryMonitorDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_AddNotifyOnScreenKeyboardRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_AddNotifyOnScreenKeyboardRequestedName); + EOS_UI_AddNotifyOnScreenKeyboardRequested = (EOS_UI_AddNotifyOnScreenKeyboardRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_AddNotifyOnScreenKeyboardRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_ConfigureOnScreenKeyboardName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_ConfigureOnScreenKeyboardName); + EOS_UI_ConfigureOnScreenKeyboard = (EOS_UI_ConfigureOnScreenKeyboardDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_ConfigureOnScreenKeyboardDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_GetFriendsExclusiveInputName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_GetFriendsExclusiveInputName); + EOS_UI_GetFriendsExclusiveInput = (EOS_UI_GetFriendsExclusiveInputDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_GetFriendsExclusiveInputDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_GetFriendsVisibleName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_GetFriendsVisibleName); + EOS_UI_GetFriendsVisible = (EOS_UI_GetFriendsVisibleDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_GetFriendsVisibleDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_GetNotificationLocationPreferenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_GetNotificationLocationPreferenceName); + EOS_UI_GetNotificationLocationPreference = (EOS_UI_GetNotificationLocationPreferenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_GetNotificationLocationPreferenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_GetToggleFriendsButtonName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_GetToggleFriendsButtonName); + EOS_UI_GetToggleFriendsButton = (EOS_UI_GetToggleFriendsButtonDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_GetToggleFriendsButtonDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_GetToggleFriendsKeyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_GetToggleFriendsKeyName); + EOS_UI_GetToggleFriendsKey = (EOS_UI_GetToggleFriendsKeyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_GetToggleFriendsKeyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_HideFriendsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_HideFriendsName); + EOS_UI_HideFriends = (EOS_UI_HideFriendsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_HideFriendsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_IsSocialOverlayPausedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_IsSocialOverlayPausedName); + EOS_UI_IsSocialOverlayPaused = (EOS_UI_IsSocialOverlayPausedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_IsSocialOverlayPausedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_IsValidButtonCombinationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_IsValidButtonCombinationName); + EOS_UI_IsValidButtonCombination = (EOS_UI_IsValidButtonCombinationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_IsValidButtonCombinationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_IsValidKeyCombinationName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_IsValidKeyCombinationName); + EOS_UI_IsValidKeyCombination = (EOS_UI_IsValidKeyCombinationDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_IsValidKeyCombinationDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_PauseSocialOverlayName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_PauseSocialOverlayName); + EOS_UI_PauseSocialOverlay = (EOS_UI_PauseSocialOverlayDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_PauseSocialOverlayDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_PrePresentName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_PrePresentName); + EOS_UI_PrePresent = (EOS_UI_PrePresentDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_PrePresentDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_RemoveNotifyDisplaySettingsUpdatedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_RemoveNotifyDisplaySettingsUpdatedName); + EOS_UI_RemoveNotifyDisplaySettingsUpdated = (EOS_UI_RemoveNotifyDisplaySettingsUpdatedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_RemoveNotifyDisplaySettingsUpdatedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_RemoveNotifyMemoryMonitorName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_RemoveNotifyMemoryMonitorName); + EOS_UI_RemoveNotifyMemoryMonitor = (EOS_UI_RemoveNotifyMemoryMonitorDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_RemoveNotifyMemoryMonitorDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_RemoveNotifyOnScreenKeyboardRequestedName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_RemoveNotifyOnScreenKeyboardRequestedName); + EOS_UI_RemoveNotifyOnScreenKeyboardRequested = (EOS_UI_RemoveNotifyOnScreenKeyboardRequestedDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_RemoveNotifyOnScreenKeyboardRequestedDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_ReportInputStateName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_ReportInputStateName); + EOS_UI_ReportInputState = (EOS_UI_ReportInputStateDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_ReportInputStateDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_SetDisplayPreferenceName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_SetDisplayPreferenceName); + EOS_UI_SetDisplayPreference = (EOS_UI_SetDisplayPreferenceDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_SetDisplayPreferenceDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_SetToggleFriendsButtonName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_SetToggleFriendsButtonName); + EOS_UI_SetToggleFriendsButton = (EOS_UI_SetToggleFriendsButtonDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_SetToggleFriendsButtonDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_SetToggleFriendsKeyName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_SetToggleFriendsKeyName); + EOS_UI_SetToggleFriendsKey = (EOS_UI_SetToggleFriendsKeyDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_SetToggleFriendsKeyDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_ShowBlockPlayerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_ShowBlockPlayerName); + EOS_UI_ShowBlockPlayer = (EOS_UI_ShowBlockPlayerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_ShowBlockPlayerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_ShowFriendsName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_ShowFriendsName); + EOS_UI_ShowFriends = (EOS_UI_ShowFriendsDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_ShowFriendsDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_ShowNativeProfileName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_ShowNativeProfileName); + EOS_UI_ShowNativeProfile = (EOS_UI_ShowNativeProfileDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_ShowNativeProfileDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UI_ShowReportPlayerName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UI_ShowReportPlayerName); + EOS_UI_ShowReportPlayer = (EOS_UI_ShowReportPlayerDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UI_ShowReportPlayerDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_BestDisplayName_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_BestDisplayName_ReleaseName); + EOS_UserInfo_BestDisplayName_Release = (EOS_UserInfo_BestDisplayName_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_BestDisplayName_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_CopyBestDisplayNameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_CopyBestDisplayNameName); + EOS_UserInfo_CopyBestDisplayName = (EOS_UserInfo_CopyBestDisplayNameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_CopyBestDisplayNameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_CopyBestDisplayNameWithPlatformName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_CopyBestDisplayNameWithPlatformName); + EOS_UserInfo_CopyBestDisplayNameWithPlatform = (EOS_UserInfo_CopyBestDisplayNameWithPlatformDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_CopyBestDisplayNameWithPlatformDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_CopyExternalUserInfoByAccountIdName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_CopyExternalUserInfoByAccountIdName); + EOS_UserInfo_CopyExternalUserInfoByAccountId = (EOS_UserInfo_CopyExternalUserInfoByAccountIdDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_CopyExternalUserInfoByAccountIdDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_CopyExternalUserInfoByAccountTypeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_CopyExternalUserInfoByAccountTypeName); + EOS_UserInfo_CopyExternalUserInfoByAccountType = (EOS_UserInfo_CopyExternalUserInfoByAccountTypeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_CopyExternalUserInfoByAccountTypeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_CopyExternalUserInfoByIndexName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_CopyExternalUserInfoByIndexName); + EOS_UserInfo_CopyExternalUserInfoByIndex = (EOS_UserInfo_CopyExternalUserInfoByIndexDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_CopyExternalUserInfoByIndexDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_CopyUserInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_CopyUserInfoName); + EOS_UserInfo_CopyUserInfo = (EOS_UserInfo_CopyUserInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_CopyUserInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_ExternalUserInfo_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_ExternalUserInfo_ReleaseName); + EOS_UserInfo_ExternalUserInfo_Release = (EOS_UserInfo_ExternalUserInfo_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_ExternalUserInfo_ReleaseDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_GetExternalUserInfoCountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_GetExternalUserInfoCountName); + EOS_UserInfo_GetExternalUserInfoCount = (EOS_UserInfo_GetExternalUserInfoCountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_GetExternalUserInfoCountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_GetLocalPlatformTypeName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_GetLocalPlatformTypeName); + EOS_UserInfo_GetLocalPlatformType = (EOS_UserInfo_GetLocalPlatformTypeDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_GetLocalPlatformTypeDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_QueryUserInfoName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_QueryUserInfoName); + EOS_UserInfo_QueryUserInfo = (EOS_UserInfo_QueryUserInfoDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_QueryUserInfoDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_QueryUserInfoByDisplayNameName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_QueryUserInfoByDisplayNameName); + EOS_UserInfo_QueryUserInfoByDisplayName = (EOS_UserInfo_QueryUserInfoByDisplayNameDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_QueryUserInfoByDisplayNameDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_QueryUserInfoByExternalAccountName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_QueryUserInfoByExternalAccountName); + EOS_UserInfo_QueryUserInfoByExternalAccount = (EOS_UserInfo_QueryUserInfoByExternalAccountDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_QueryUserInfoByExternalAccountDelegate)); + + functionPointer = getFunctionPointer(libraryHandle, EOS_UserInfo_ReleaseName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_UserInfo_ReleaseName); + EOS_UserInfo_Release = (EOS_UserInfo_ReleaseDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_UserInfo_ReleaseDelegate)); + } + + /// + /// Unhooks dynamic bindings. + /// + public static void Unhook() + { + EOS_Achievements_AddNotifyAchievementsUnlocked = null; + EOS_Achievements_AddNotifyAchievementsUnlockedV2 = null; + EOS_Achievements_CopyAchievementDefinitionByAchievementId = null; + EOS_Achievements_CopyAchievementDefinitionByIndex = null; + EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId = null; + EOS_Achievements_CopyAchievementDefinitionV2ByIndex = null; + EOS_Achievements_CopyPlayerAchievementByAchievementId = null; + EOS_Achievements_CopyPlayerAchievementByIndex = null; + EOS_Achievements_CopyUnlockedAchievementByAchievementId = null; + EOS_Achievements_CopyUnlockedAchievementByIndex = null; + EOS_Achievements_DefinitionV2_Release = null; + EOS_Achievements_Definition_Release = null; + EOS_Achievements_GetAchievementDefinitionCount = null; + EOS_Achievements_GetPlayerAchievementCount = null; + EOS_Achievements_GetUnlockedAchievementCount = null; + EOS_Achievements_PlayerAchievement_Release = null; + EOS_Achievements_QueryDefinitions = null; + EOS_Achievements_QueryPlayerAchievements = null; + EOS_Achievements_RemoveNotifyAchievementsUnlocked = null; + EOS_Achievements_UnlockAchievements = null; + EOS_Achievements_UnlockedAchievement_Release = null; + EOS_ActiveSession_CopyInfo = null; + EOS_ActiveSession_GetRegisteredPlayerByIndex = null; + EOS_ActiveSession_GetRegisteredPlayerCount = null; + EOS_ActiveSession_Info_Release = null; + EOS_ActiveSession_Release = null; + EOS_AntiCheatClient_AddExternalIntegrityCatalog = null; + EOS_AntiCheatClient_AddNotifyClientIntegrityViolated = null; + EOS_AntiCheatClient_AddNotifyMessageToPeer = null; + EOS_AntiCheatClient_AddNotifyMessageToServer = null; + EOS_AntiCheatClient_AddNotifyPeerActionRequired = null; + EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged = null; + EOS_AntiCheatClient_BeginSession = null; + EOS_AntiCheatClient_EndSession = null; + EOS_AntiCheatClient_GetModuleBuildId = null; + EOS_AntiCheatClient_GetProtectMessageOutputLength = null; + EOS_AntiCheatClient_PollStatus = null; + EOS_AntiCheatClient_ProtectMessage = null; + EOS_AntiCheatClient_ReceiveMessageFromPeer = null; + EOS_AntiCheatClient_ReceiveMessageFromServer = null; + EOS_AntiCheatClient_RegisterPeer = null; + EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated = null; + EOS_AntiCheatClient_RemoveNotifyMessageToPeer = null; + EOS_AntiCheatClient_RemoveNotifyMessageToServer = null; + EOS_AntiCheatClient_RemoveNotifyPeerActionRequired = null; + EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged = null; + EOS_AntiCheatClient_Reserved01 = null; + EOS_AntiCheatClient_Reserved02 = null; + EOS_AntiCheatClient_UnprotectMessage = null; + EOS_AntiCheatClient_UnregisterPeer = null; + EOS_AntiCheatServer_AddNotifyClientActionRequired = null; + EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged = null; + EOS_AntiCheatServer_AddNotifyMessageToClient = null; + EOS_AntiCheatServer_BeginSession = null; + EOS_AntiCheatServer_EndSession = null; + EOS_AntiCheatServer_GetProtectMessageOutputLength = null; + EOS_AntiCheatServer_LogEvent = null; + EOS_AntiCheatServer_LogGameRoundEnd = null; + EOS_AntiCheatServer_LogGameRoundStart = null; + EOS_AntiCheatServer_LogPlayerDespawn = null; + EOS_AntiCheatServer_LogPlayerRevive = null; + EOS_AntiCheatServer_LogPlayerSpawn = null; + EOS_AntiCheatServer_LogPlayerTakeDamage = null; + EOS_AntiCheatServer_LogPlayerTick = null; + EOS_AntiCheatServer_LogPlayerUseAbility = null; + EOS_AntiCheatServer_LogPlayerUseWeapon = null; + EOS_AntiCheatServer_ProtectMessage = null; + EOS_AntiCheatServer_ReceiveMessageFromClient = null; + EOS_AntiCheatServer_RegisterClient = null; + EOS_AntiCheatServer_RegisterEvent = null; + EOS_AntiCheatServer_RemoveNotifyClientActionRequired = null; + EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged = null; + EOS_AntiCheatServer_RemoveNotifyMessageToClient = null; + EOS_AntiCheatServer_SetClientDetails = null; + EOS_AntiCheatServer_SetClientNetworkState = null; + EOS_AntiCheatServer_SetGameSessionId = null; + EOS_AntiCheatServer_UnprotectMessage = null; + EOS_AntiCheatServer_UnregisterClient = null; + EOS_Auth_AddNotifyLoginStatusChanged = null; + EOS_Auth_CopyIdToken = null; + EOS_Auth_CopyUserAuthToken = null; + EOS_Auth_DeletePersistentAuth = null; + EOS_Auth_GetLoggedInAccountByIndex = null; + EOS_Auth_GetLoggedInAccountsCount = null; + EOS_Auth_GetLoginStatus = null; + EOS_Auth_GetMergedAccountByIndex = null; + EOS_Auth_GetMergedAccountsCount = null; + EOS_Auth_GetSelectedAccountId = null; + EOS_Auth_IdToken_Release = null; + EOS_Auth_LinkAccount = null; + EOS_Auth_Login = null; + EOS_Auth_Logout = null; + EOS_Auth_QueryIdToken = null; + EOS_Auth_RemoveNotifyLoginStatusChanged = null; + EOS_Auth_Token_Release = null; + EOS_Auth_VerifyIdToken = null; + EOS_Auth_VerifyUserAuth = null; + EOS_ByteArray_ToString = null; + EOS_Connect_AddNotifyAuthExpiration = null; + EOS_Connect_AddNotifyLoginStatusChanged = null; + EOS_Connect_CopyIdToken = null; + EOS_Connect_CopyProductUserExternalAccountByAccountId = null; + EOS_Connect_CopyProductUserExternalAccountByAccountType = null; + EOS_Connect_CopyProductUserExternalAccountByIndex = null; + EOS_Connect_CopyProductUserInfo = null; + EOS_Connect_CreateDeviceId = null; + EOS_Connect_CreateUser = null; + EOS_Connect_DeleteDeviceId = null; + EOS_Connect_ExternalAccountInfo_Release = null; + EOS_Connect_GetExternalAccountMapping = null; + EOS_Connect_GetLoggedInUserByIndex = null; + EOS_Connect_GetLoggedInUsersCount = null; + EOS_Connect_GetLoginStatus = null; + EOS_Connect_GetProductUserExternalAccountCount = null; + EOS_Connect_GetProductUserIdMapping = null; + EOS_Connect_IdToken_Release = null; + EOS_Connect_LinkAccount = null; + EOS_Connect_Login = null; + EOS_Connect_Logout = null; + EOS_Connect_QueryExternalAccountMappings = null; + EOS_Connect_QueryProductUserIdMappings = null; + EOS_Connect_RemoveNotifyAuthExpiration = null; + EOS_Connect_RemoveNotifyLoginStatusChanged = null; + EOS_Connect_TransferDeviceIdAccount = null; + EOS_Connect_UnlinkAccount = null; + EOS_Connect_VerifyIdToken = null; + EOS_ContinuanceToken_ToString = null; + EOS_CustomInvites_AcceptRequestToJoin = null; + EOS_CustomInvites_AddNotifyCustomInviteAccepted = null; + EOS_CustomInvites_AddNotifyCustomInviteReceived = null; + EOS_CustomInvites_AddNotifyCustomInviteRejected = null; + EOS_CustomInvites_AddNotifyRequestToJoinAccepted = null; + EOS_CustomInvites_AddNotifyRequestToJoinReceived = null; + EOS_CustomInvites_AddNotifyRequestToJoinRejected = null; + EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived = null; + EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested = null; + EOS_CustomInvites_FinalizeInvite = null; + EOS_CustomInvites_RejectRequestToJoin = null; + EOS_CustomInvites_RemoveNotifyCustomInviteAccepted = null; + EOS_CustomInvites_RemoveNotifyCustomInviteReceived = null; + EOS_CustomInvites_RemoveNotifyCustomInviteRejected = null; + EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted = null; + EOS_CustomInvites_RemoveNotifyRequestToJoinReceived = null; + EOS_CustomInvites_RemoveNotifyRequestToJoinRejected = null; + EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived = null; + EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested = null; + EOS_CustomInvites_SendCustomInvite = null; + EOS_CustomInvites_SendRequestToJoin = null; + EOS_CustomInvites_SetCustomInvite = null; + EOS_EApplicationStatus_ToString = null; + EOS_ENetworkStatus_ToString = null; + EOS_EResult_IsOperationComplete = null; + EOS_EResult_ToString = null; + EOS_Ecom_CatalogItem_Release = null; + EOS_Ecom_CatalogOffer_Release = null; + EOS_Ecom_CatalogRelease_Release = null; + EOS_Ecom_Checkout = null; + EOS_Ecom_CopyEntitlementById = null; + EOS_Ecom_CopyEntitlementByIndex = null; + EOS_Ecom_CopyEntitlementByNameAndIndex = null; + EOS_Ecom_CopyItemById = null; + EOS_Ecom_CopyItemImageInfoByIndex = null; + EOS_Ecom_CopyItemReleaseByIndex = null; + EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex = null; + EOS_Ecom_CopyLastRedeemedEntitlementByIndex = null; + EOS_Ecom_CopyOfferById = null; + EOS_Ecom_CopyOfferByIndex = null; + EOS_Ecom_CopyOfferImageInfoByIndex = null; + EOS_Ecom_CopyOfferItemByIndex = null; + EOS_Ecom_CopyTransactionById = null; + EOS_Ecom_CopyTransactionByIndex = null; + EOS_Ecom_Entitlement_Release = null; + EOS_Ecom_GetEntitlementsByNameCount = null; + EOS_Ecom_GetEntitlementsCount = null; + EOS_Ecom_GetItemImageInfoCount = null; + EOS_Ecom_GetItemReleaseCount = null; + EOS_Ecom_GetLastRedeemEntitlementsResultCount = null; + EOS_Ecom_GetLastRedeemedEntitlementsCount = null; + EOS_Ecom_GetOfferCount = null; + EOS_Ecom_GetOfferImageInfoCount = null; + EOS_Ecom_GetOfferItemCount = null; + EOS_Ecom_GetTransactionCount = null; + EOS_Ecom_KeyImageInfo_Release = null; + EOS_Ecom_QueryEntitlementToken = null; + EOS_Ecom_QueryEntitlements = null; + EOS_Ecom_QueryOffers = null; + EOS_Ecom_QueryOwnership = null; + EOS_Ecom_QueryOwnershipBySandboxIds = null; + EOS_Ecom_QueryOwnershipToken = null; + EOS_Ecom_RedeemEntitlements = null; + EOS_Ecom_Transaction_CopyEntitlementByIndex = null; + EOS_Ecom_Transaction_GetEntitlementsCount = null; + EOS_Ecom_Transaction_GetTransactionId = null; + EOS_Ecom_Transaction_Release = null; + EOS_EpicAccountId_FromString = null; + EOS_EpicAccountId_IsValid = null; + EOS_EpicAccountId_ToString = null; + EOS_Friends_AcceptInvite = null; + EOS_Friends_AddNotifyBlockedUsersUpdate = null; + EOS_Friends_AddNotifyFriendsUpdate = null; + EOS_Friends_GetBlockedUserAtIndex = null; + EOS_Friends_GetBlockedUsersCount = null; + EOS_Friends_GetFriendAtIndex = null; + EOS_Friends_GetFriendsCount = null; + EOS_Friends_GetStatus = null; + EOS_Friends_QueryFriends = null; + EOS_Friends_RejectInvite = null; + EOS_Friends_RemoveNotifyBlockedUsersUpdate = null; + EOS_Friends_RemoveNotifyFriendsUpdate = null; + EOS_Friends_SendInvite = null; + EOS_GetVersion = null; + EOS_Initialize = null; + EOS_IntegratedPlatformOptionsContainer_Add = null; + EOS_IntegratedPlatformOptionsContainer_Release = null; + EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged = null; + EOS_IntegratedPlatform_ClearUserPreLogoutCallback = null; + EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer = null; + EOS_IntegratedPlatform_FinalizeDeferredUserLogout = null; + EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged = null; + EOS_IntegratedPlatform_SetUserLoginStatus = null; + EOS_IntegratedPlatform_SetUserPreLogoutCallback = null; + EOS_KWS_AddNotifyPermissionsUpdateReceived = null; + EOS_KWS_CopyPermissionByIndex = null; + EOS_KWS_CreateUser = null; + EOS_KWS_GetPermissionByKey = null; + EOS_KWS_GetPermissionsCount = null; + EOS_KWS_PermissionStatus_Release = null; + EOS_KWS_QueryAgeGate = null; + EOS_KWS_QueryPermissions = null; + EOS_KWS_RemoveNotifyPermissionsUpdateReceived = null; + EOS_KWS_RequestPermissions = null; + EOS_KWS_UpdateParentEmail = null; + EOS_Leaderboards_CopyLeaderboardDefinitionByIndex = null; + EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId = null; + EOS_Leaderboards_CopyLeaderboardRecordByIndex = null; + EOS_Leaderboards_CopyLeaderboardRecordByUserId = null; + EOS_Leaderboards_CopyLeaderboardUserScoreByIndex = null; + EOS_Leaderboards_CopyLeaderboardUserScoreByUserId = null; + EOS_Leaderboards_Definition_Release = null; + EOS_Leaderboards_GetLeaderboardDefinitionCount = null; + EOS_Leaderboards_GetLeaderboardRecordCount = null; + EOS_Leaderboards_GetLeaderboardUserScoreCount = null; + EOS_Leaderboards_LeaderboardRecord_Release = null; + EOS_Leaderboards_LeaderboardUserScore_Release = null; + EOS_Leaderboards_QueryLeaderboardDefinitions = null; + EOS_Leaderboards_QueryLeaderboardRanks = null; + EOS_Leaderboards_QueryLeaderboardUserScores = null; + EOS_LobbyDetails_CopyAttributeByIndex = null; + EOS_LobbyDetails_CopyAttributeByKey = null; + EOS_LobbyDetails_CopyInfo = null; + EOS_LobbyDetails_CopyMemberAttributeByIndex = null; + EOS_LobbyDetails_CopyMemberAttributeByKey = null; + EOS_LobbyDetails_CopyMemberInfo = null; + EOS_LobbyDetails_GetAttributeCount = null; + EOS_LobbyDetails_GetLobbyOwner = null; + EOS_LobbyDetails_GetMemberAttributeCount = null; + EOS_LobbyDetails_GetMemberByIndex = null; + EOS_LobbyDetails_GetMemberCount = null; + EOS_LobbyDetails_Info_Release = null; + EOS_LobbyDetails_MemberInfo_Release = null; + EOS_LobbyDetails_Release = null; + EOS_LobbyModification_AddAttribute = null; + EOS_LobbyModification_AddMemberAttribute = null; + EOS_LobbyModification_Release = null; + EOS_LobbyModification_RemoveAttribute = null; + EOS_LobbyModification_RemoveMemberAttribute = null; + EOS_LobbyModification_SetAllowedPlatformIds = null; + EOS_LobbyModification_SetBucketId = null; + EOS_LobbyModification_SetInvitesAllowed = null; + EOS_LobbyModification_SetMaxMembers = null; + EOS_LobbyModification_SetPermissionLevel = null; + EOS_LobbySearch_CopySearchResultByIndex = null; + EOS_LobbySearch_Find = null; + EOS_LobbySearch_GetSearchResultCount = null; + EOS_LobbySearch_Release = null; + EOS_LobbySearch_RemoveParameter = null; + EOS_LobbySearch_SetLobbyId = null; + EOS_LobbySearch_SetMaxResults = null; + EOS_LobbySearch_SetParameter = null; + EOS_LobbySearch_SetTargetUserId = null; + EOS_Lobby_AddNotifyJoinLobbyAccepted = null; + EOS_Lobby_AddNotifyLeaveLobbyRequested = null; + EOS_Lobby_AddNotifyLobbyInviteAccepted = null; + EOS_Lobby_AddNotifyLobbyInviteReceived = null; + EOS_Lobby_AddNotifyLobbyInviteRejected = null; + EOS_Lobby_AddNotifyLobbyMemberStatusReceived = null; + EOS_Lobby_AddNotifyLobbyMemberUpdateReceived = null; + EOS_Lobby_AddNotifyLobbyUpdateReceived = null; + EOS_Lobby_AddNotifyRTCRoomConnectionChanged = null; + EOS_Lobby_AddNotifySendLobbyNativeInviteRequested = null; + EOS_Lobby_Attribute_Release = null; + EOS_Lobby_CopyLobbyDetailsHandle = null; + EOS_Lobby_CopyLobbyDetailsHandleByInviteId = null; + EOS_Lobby_CopyLobbyDetailsHandleByUiEventId = null; + EOS_Lobby_CreateLobby = null; + EOS_Lobby_CreateLobbySearch = null; + EOS_Lobby_DestroyLobby = null; + EOS_Lobby_GetConnectString = null; + EOS_Lobby_GetInviteCount = null; + EOS_Lobby_GetInviteIdByIndex = null; + EOS_Lobby_GetRTCRoomName = null; + EOS_Lobby_HardMuteMember = null; + EOS_Lobby_IsRTCRoomConnected = null; + EOS_Lobby_JoinLobby = null; + EOS_Lobby_JoinLobbyById = null; + EOS_Lobby_JoinRTCRoom = null; + EOS_Lobby_KickMember = null; + EOS_Lobby_LeaveLobby = null; + EOS_Lobby_LeaveRTCRoom = null; + EOS_Lobby_ParseConnectString = null; + EOS_Lobby_PromoteMember = null; + EOS_Lobby_QueryInvites = null; + EOS_Lobby_RejectInvite = null; + EOS_Lobby_RemoveNotifyJoinLobbyAccepted = null; + EOS_Lobby_RemoveNotifyLeaveLobbyRequested = null; + EOS_Lobby_RemoveNotifyLobbyInviteAccepted = null; + EOS_Lobby_RemoveNotifyLobbyInviteReceived = null; + EOS_Lobby_RemoveNotifyLobbyInviteRejected = null; + EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived = null; + EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived = null; + EOS_Lobby_RemoveNotifyLobbyUpdateReceived = null; + EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged = null; + EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested = null; + EOS_Lobby_SendInvite = null; + EOS_Lobby_UpdateLobby = null; + EOS_Lobby_UpdateLobbyModification = null; + EOS_Logging_SetCallback = null; + EOS_Logging_SetLogLevel = null; + EOS_Metrics_BeginPlayerSession = null; + EOS_Metrics_EndPlayerSession = null; + EOS_Mods_CopyModInfo = null; + EOS_Mods_EnumerateMods = null; + EOS_Mods_InstallMod = null; + EOS_Mods_ModInfo_Release = null; + EOS_Mods_UninstallMod = null; + EOS_Mods_UpdateMod = null; + EOS_P2P_AcceptConnection = null; + EOS_P2P_AddNotifyIncomingPacketQueueFull = null; + EOS_P2P_AddNotifyPeerConnectionClosed = null; + EOS_P2P_AddNotifyPeerConnectionEstablished = null; + EOS_P2P_AddNotifyPeerConnectionInterrupted = null; + EOS_P2P_AddNotifyPeerConnectionRequest = null; + EOS_P2P_ClearPacketQueue = null; + EOS_P2P_CloseConnection = null; + EOS_P2P_CloseConnections = null; + EOS_P2P_GetNATType = null; + EOS_P2P_GetNextReceivedPacketSize = null; + EOS_P2P_GetPacketQueueInfo = null; + EOS_P2P_GetPortRange = null; + EOS_P2P_GetRelayControl = null; + EOS_P2P_QueryNATType = null; + EOS_P2P_ReceivePacket = null; + EOS_P2P_RemoveNotifyIncomingPacketQueueFull = null; + EOS_P2P_RemoveNotifyPeerConnectionClosed = null; + EOS_P2P_RemoveNotifyPeerConnectionEstablished = null; + EOS_P2P_RemoveNotifyPeerConnectionInterrupted = null; + EOS_P2P_RemoveNotifyPeerConnectionRequest = null; + EOS_P2P_SendPacket = null; + EOS_P2P_SetPacketQueueSize = null; + EOS_P2P_SetPortRange = null; + EOS_P2P_SetRelayControl = null; + EOS_Platform_CheckForLauncherAndRestart = null; + EOS_Platform_Create = null; + EOS_Platform_GetAchievementsInterface = null; + EOS_Platform_GetActiveCountryCode = null; + EOS_Platform_GetActiveLocaleCode = null; + EOS_Platform_GetAntiCheatClientInterface = null; + EOS_Platform_GetAntiCheatServerInterface = null; + EOS_Platform_GetApplicationStatus = null; + EOS_Platform_GetAuthInterface = null; + EOS_Platform_GetConnectInterface = null; + EOS_Platform_GetCustomInvitesInterface = null; + EOS_Platform_GetDesktopCrossplayStatus = null; + EOS_Platform_GetEcomInterface = null; + EOS_Platform_GetFriendsInterface = null; + EOS_Platform_GetIntegratedPlatformInterface = null; + EOS_Platform_GetKWSInterface = null; + EOS_Platform_GetLeaderboardsInterface = null; + EOS_Platform_GetLobbyInterface = null; + EOS_Platform_GetMetricsInterface = null; + EOS_Platform_GetModsInterface = null; + EOS_Platform_GetNetworkStatus = null; + EOS_Platform_GetOverrideCountryCode = null; + EOS_Platform_GetOverrideLocaleCode = null; + EOS_Platform_GetP2PInterface = null; + EOS_Platform_GetPlayerDataStorageInterface = null; + EOS_Platform_GetPresenceInterface = null; + EOS_Platform_GetProgressionSnapshotInterface = null; + EOS_Platform_GetRTCAdminInterface = null; + EOS_Platform_GetRTCInterface = null; + EOS_Platform_GetReportsInterface = null; + EOS_Platform_GetSanctionsInterface = null; + EOS_Platform_GetSessionsInterface = null; + EOS_Platform_GetStatsInterface = null; + EOS_Platform_GetTitleStorageInterface = null; + EOS_Platform_GetUIInterface = null; + EOS_Platform_GetUserInfoInterface = null; + EOS_Platform_Release = null; + EOS_Platform_SetApplicationStatus = null; + EOS_Platform_SetNetworkStatus = null; + EOS_Platform_SetOverrideCountryCode = null; + EOS_Platform_SetOverrideLocaleCode = null; + EOS_Platform_Tick = null; + EOS_PlayerDataStorageFileTransferRequest_CancelRequest = null; + EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState = null; + EOS_PlayerDataStorageFileTransferRequest_GetFilename = null; + EOS_PlayerDataStorageFileTransferRequest_Release = null; + EOS_PlayerDataStorage_CopyFileMetadataAtIndex = null; + EOS_PlayerDataStorage_CopyFileMetadataByFilename = null; + EOS_PlayerDataStorage_DeleteCache = null; + EOS_PlayerDataStorage_DeleteFile = null; + EOS_PlayerDataStorage_DuplicateFile = null; + EOS_PlayerDataStorage_FileMetadata_Release = null; + EOS_PlayerDataStorage_GetFileMetadataCount = null; + EOS_PlayerDataStorage_QueryFile = null; + EOS_PlayerDataStorage_QueryFileList = null; + EOS_PlayerDataStorage_ReadFile = null; + EOS_PlayerDataStorage_WriteFile = null; + EOS_PresenceModification_DeleteData = null; + EOS_PresenceModification_Release = null; + EOS_PresenceModification_SetData = null; + EOS_PresenceModification_SetJoinInfo = null; + EOS_PresenceModification_SetRawRichText = null; + EOS_PresenceModification_SetStatus = null; + EOS_PresenceModification_SetTemplateData = null; + EOS_PresenceModification_SetTemplateId = null; + EOS_Presence_AddNotifyJoinGameAccepted = null; + EOS_Presence_AddNotifyOnPresenceChanged = null; + EOS_Presence_CopyPresence = null; + EOS_Presence_CreatePresenceModification = null; + EOS_Presence_GetJoinInfo = null; + EOS_Presence_HasPresence = null; + EOS_Presence_Info_Release = null; + EOS_Presence_QueryPresence = null; + EOS_Presence_RemoveNotifyJoinGameAccepted = null; + EOS_Presence_RemoveNotifyOnPresenceChanged = null; + EOS_Presence_SetPresence = null; + EOS_ProductUserId_FromString = null; + EOS_ProductUserId_IsValid = null; + EOS_ProductUserId_ToString = null; + EOS_ProgressionSnapshot_AddProgression = null; + EOS_ProgressionSnapshot_BeginSnapshot = null; + EOS_ProgressionSnapshot_DeleteSnapshot = null; + EOS_ProgressionSnapshot_EndSnapshot = null; + EOS_ProgressionSnapshot_SubmitSnapshot = null; + EOS_RTCAdmin_CopyUserTokenByIndex = null; + EOS_RTCAdmin_CopyUserTokenByUserId = null; + EOS_RTCAdmin_Kick = null; + EOS_RTCAdmin_QueryJoinRoomToken = null; + EOS_RTCAdmin_SetParticipantHardMute = null; + EOS_RTCAdmin_UserToken_Release = null; + EOS_RTCAudio_AddNotifyAudioBeforeRender = null; + EOS_RTCAudio_AddNotifyAudioBeforeSend = null; + EOS_RTCAudio_AddNotifyAudioDevicesChanged = null; + EOS_RTCAudio_AddNotifyAudioInputState = null; + EOS_RTCAudio_AddNotifyAudioOutputState = null; + EOS_RTCAudio_AddNotifyParticipantUpdated = null; + EOS_RTCAudio_CopyInputDeviceInformationByIndex = null; + EOS_RTCAudio_CopyOutputDeviceInformationByIndex = null; + EOS_RTCAudio_GetAudioInputDeviceByIndex = null; + EOS_RTCAudio_GetAudioInputDevicesCount = null; + EOS_RTCAudio_GetAudioOutputDeviceByIndex = null; + EOS_RTCAudio_GetAudioOutputDevicesCount = null; + EOS_RTCAudio_GetInputDevicesCount = null; + EOS_RTCAudio_GetOutputDevicesCount = null; + EOS_RTCAudio_InputDeviceInformation_Release = null; + EOS_RTCAudio_OutputDeviceInformation_Release = null; + EOS_RTCAudio_QueryInputDevicesInformation = null; + EOS_RTCAudio_QueryOutputDevicesInformation = null; + EOS_RTCAudio_RegisterPlatformAudioUser = null; + EOS_RTCAudio_RegisterPlatformUser = null; + EOS_RTCAudio_RemoveNotifyAudioBeforeRender = null; + EOS_RTCAudio_RemoveNotifyAudioBeforeSend = null; + EOS_RTCAudio_RemoveNotifyAudioDevicesChanged = null; + EOS_RTCAudio_RemoveNotifyAudioInputState = null; + EOS_RTCAudio_RemoveNotifyAudioOutputState = null; + EOS_RTCAudio_RemoveNotifyParticipantUpdated = null; + EOS_RTCAudio_SendAudio = null; + EOS_RTCAudio_SetAudioInputSettings = null; + EOS_RTCAudio_SetAudioOutputSettings = null; + EOS_RTCAudio_SetInputDeviceSettings = null; + EOS_RTCAudio_SetOutputDeviceSettings = null; + EOS_RTCAudio_UnregisterPlatformAudioUser = null; + EOS_RTCAudio_UnregisterPlatformUser = null; + EOS_RTCAudio_UpdateParticipantVolume = null; + EOS_RTCAudio_UpdateReceiving = null; + EOS_RTCAudio_UpdateReceivingVolume = null; + EOS_RTCAudio_UpdateSending = null; + EOS_RTCAudio_UpdateSendingVolume = null; + EOS_RTCData_AddNotifyDataReceived = null; + EOS_RTCData_AddNotifyParticipantUpdated = null; + EOS_RTCData_RemoveNotifyDataReceived = null; + EOS_RTCData_RemoveNotifyParticipantUpdated = null; + EOS_RTCData_SendData = null; + EOS_RTCData_UpdateReceiving = null; + EOS_RTCData_UpdateSending = null; + EOS_RTC_AddNotifyDisconnected = null; + EOS_RTC_AddNotifyParticipantStatusChanged = null; + EOS_RTC_AddNotifyRoomBeforeJoin = null; + EOS_RTC_AddNotifyRoomStatisticsUpdated = null; + EOS_RTC_BlockParticipant = null; + EOS_RTC_GetAudioInterface = null; + EOS_RTC_GetDataInterface = null; + EOS_RTC_JoinRoom = null; + EOS_RTC_LeaveRoom = null; + EOS_RTC_RemoveNotifyDisconnected = null; + EOS_RTC_RemoveNotifyParticipantStatusChanged = null; + EOS_RTC_RemoveNotifyRoomBeforeJoin = null; + EOS_RTC_RemoveNotifyRoomStatisticsUpdated = null; + EOS_RTC_SetRoomSetting = null; + EOS_RTC_SetSetting = null; + EOS_Reports_SendPlayerBehaviorReport = null; + EOS_Sanctions_CopyPlayerSanctionByIndex = null; + EOS_Sanctions_CreatePlayerSanctionAppeal = null; + EOS_Sanctions_GetPlayerSanctionCount = null; + EOS_Sanctions_PlayerSanction_Release = null; + EOS_Sanctions_QueryActivePlayerSanctions = null; + EOS_SessionDetails_Attribute_Release = null; + EOS_SessionDetails_CopyInfo = null; + EOS_SessionDetails_CopySessionAttributeByIndex = null; + EOS_SessionDetails_CopySessionAttributeByKey = null; + EOS_SessionDetails_GetSessionAttributeCount = null; + EOS_SessionDetails_Info_Release = null; + EOS_SessionDetails_Release = null; + EOS_SessionModification_AddAttribute = null; + EOS_SessionModification_Release = null; + EOS_SessionModification_RemoveAttribute = null; + EOS_SessionModification_SetAllowedPlatformIds = null; + EOS_SessionModification_SetBucketId = null; + EOS_SessionModification_SetHostAddress = null; + EOS_SessionModification_SetInvitesAllowed = null; + EOS_SessionModification_SetJoinInProgressAllowed = null; + EOS_SessionModification_SetMaxPlayers = null; + EOS_SessionModification_SetPermissionLevel = null; + EOS_SessionSearch_CopySearchResultByIndex = null; + EOS_SessionSearch_Find = null; + EOS_SessionSearch_GetSearchResultCount = null; + EOS_SessionSearch_Release = null; + EOS_SessionSearch_RemoveParameter = null; + EOS_SessionSearch_SetMaxResults = null; + EOS_SessionSearch_SetParameter = null; + EOS_SessionSearch_SetSessionId = null; + EOS_SessionSearch_SetTargetUserId = null; + EOS_Sessions_AddNotifyJoinSessionAccepted = null; + EOS_Sessions_AddNotifyLeaveSessionRequested = null; + EOS_Sessions_AddNotifySendSessionNativeInviteRequested = null; + EOS_Sessions_AddNotifySessionInviteAccepted = null; + EOS_Sessions_AddNotifySessionInviteReceived = null; + EOS_Sessions_AddNotifySessionInviteRejected = null; + EOS_Sessions_CopyActiveSessionHandle = null; + EOS_Sessions_CopySessionHandleByInviteId = null; + EOS_Sessions_CopySessionHandleByUiEventId = null; + EOS_Sessions_CopySessionHandleForPresence = null; + EOS_Sessions_CreateSessionModification = null; + EOS_Sessions_CreateSessionSearch = null; + EOS_Sessions_DestroySession = null; + EOS_Sessions_DumpSessionState = null; + EOS_Sessions_EndSession = null; + EOS_Sessions_GetInviteCount = null; + EOS_Sessions_GetInviteIdByIndex = null; + EOS_Sessions_IsUserInSession = null; + EOS_Sessions_JoinSession = null; + EOS_Sessions_QueryInvites = null; + EOS_Sessions_RegisterPlayers = null; + EOS_Sessions_RejectInvite = null; + EOS_Sessions_RemoveNotifyJoinSessionAccepted = null; + EOS_Sessions_RemoveNotifyLeaveSessionRequested = null; + EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested = null; + EOS_Sessions_RemoveNotifySessionInviteAccepted = null; + EOS_Sessions_RemoveNotifySessionInviteReceived = null; + EOS_Sessions_RemoveNotifySessionInviteRejected = null; + EOS_Sessions_SendInvite = null; + EOS_Sessions_StartSession = null; + EOS_Sessions_UnregisterPlayers = null; + EOS_Sessions_UpdateSession = null; + EOS_Sessions_UpdateSessionModification = null; + EOS_Shutdown = null; + EOS_Stats_CopyStatByIndex = null; + EOS_Stats_CopyStatByName = null; + EOS_Stats_GetStatsCount = null; + EOS_Stats_IngestStat = null; + EOS_Stats_QueryStats = null; + EOS_Stats_Stat_Release = null; + EOS_TitleStorageFileTransferRequest_CancelRequest = null; + EOS_TitleStorageFileTransferRequest_GetFileRequestState = null; + EOS_TitleStorageFileTransferRequest_GetFilename = null; + EOS_TitleStorageFileTransferRequest_Release = null; + EOS_TitleStorage_CopyFileMetadataAtIndex = null; + EOS_TitleStorage_CopyFileMetadataByFilename = null; + EOS_TitleStorage_DeleteCache = null; + EOS_TitleStorage_FileMetadata_Release = null; + EOS_TitleStorage_GetFileMetadataCount = null; + EOS_TitleStorage_QueryFile = null; + EOS_TitleStorage_QueryFileList = null; + EOS_TitleStorage_ReadFile = null; + EOS_UI_AcknowledgeEventId = null; + EOS_UI_AddNotifyDisplaySettingsUpdated = null; + EOS_UI_AddNotifyMemoryMonitor = null; + EOS_UI_AddNotifyOnScreenKeyboardRequested = null; + EOS_UI_ConfigureOnScreenKeyboard = null; + EOS_UI_GetFriendsExclusiveInput = null; + EOS_UI_GetFriendsVisible = null; + EOS_UI_GetNotificationLocationPreference = null; + EOS_UI_GetToggleFriendsButton = null; + EOS_UI_GetToggleFriendsKey = null; + EOS_UI_HideFriends = null; + EOS_UI_IsSocialOverlayPaused = null; + EOS_UI_IsValidButtonCombination = null; + EOS_UI_IsValidKeyCombination = null; + EOS_UI_PauseSocialOverlay = null; + EOS_UI_PrePresent = null; + EOS_UI_RemoveNotifyDisplaySettingsUpdated = null; + EOS_UI_RemoveNotifyMemoryMonitor = null; + EOS_UI_RemoveNotifyOnScreenKeyboardRequested = null; + EOS_UI_ReportInputState = null; + EOS_UI_SetDisplayPreference = null; + EOS_UI_SetToggleFriendsButton = null; + EOS_UI_SetToggleFriendsKey = null; + EOS_UI_ShowBlockPlayer = null; + EOS_UI_ShowFriends = null; + EOS_UI_ShowNativeProfile = null; + EOS_UI_ShowReportPlayer = null; + EOS_UserInfo_BestDisplayName_Release = null; + EOS_UserInfo_CopyBestDisplayName = null; + EOS_UserInfo_CopyBestDisplayNameWithPlatform = null; + EOS_UserInfo_CopyExternalUserInfoByAccountId = null; + EOS_UserInfo_CopyExternalUserInfoByAccountType = null; + EOS_UserInfo_CopyExternalUserInfoByIndex = null; + EOS_UserInfo_CopyUserInfo = null; + EOS_UserInfo_ExternalUserInfo_Release = null; + EOS_UserInfo_GetExternalUserInfoCount = null; + EOS_UserInfo_GetLocalPlatformType = null; + EOS_UserInfo_QueryUserInfo = null; + EOS_UserInfo_QueryUserInfoByDisplayName = null; + EOS_UserInfo_QueryUserInfoByExternalAccount = null; + EOS_UserInfo_Release = null; + } + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Achievements_AddNotifyAchievementsUnlockedDelegate(IntPtr handle, ref Achievements.AddNotifyAchievementsUnlockedOptionsInternal options, IntPtr clientData, Achievements.OnAchievementsUnlockedCallbackInternal notificationFn); + internal static EOS_Achievements_AddNotifyAchievementsUnlockedDelegate EOS_Achievements_AddNotifyAchievementsUnlocked; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Achievements_AddNotifyAchievementsUnlockedV2Delegate(IntPtr handle, ref Achievements.AddNotifyAchievementsUnlockedV2OptionsInternal options, IntPtr clientData, Achievements.OnAchievementsUnlockedCallbackV2Internal notificationFn); + internal static EOS_Achievements_AddNotifyAchievementsUnlockedV2Delegate EOS_Achievements_AddNotifyAchievementsUnlockedV2; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyAchievementDefinitionByAchievementIdDelegate(IntPtr handle, ref Achievements.CopyAchievementDefinitionByAchievementIdOptionsInternal options, out IntPtr outDefinition); + internal static EOS_Achievements_CopyAchievementDefinitionByAchievementIdDelegate EOS_Achievements_CopyAchievementDefinitionByAchievementId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyAchievementDefinitionByIndexDelegate(IntPtr handle, ref Achievements.CopyAchievementDefinitionByIndexOptionsInternal options, out IntPtr outDefinition); + internal static EOS_Achievements_CopyAchievementDefinitionByIndexDelegate EOS_Achievements_CopyAchievementDefinitionByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdDelegate(IntPtr handle, ref Achievements.CopyAchievementDefinitionV2ByAchievementIdOptionsInternal options, out IntPtr outDefinition); + internal static EOS_Achievements_CopyAchievementDefinitionV2ByAchievementIdDelegate EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyAchievementDefinitionV2ByIndexDelegate(IntPtr handle, ref Achievements.CopyAchievementDefinitionV2ByIndexOptionsInternal options, out IntPtr outDefinition); + internal static EOS_Achievements_CopyAchievementDefinitionV2ByIndexDelegate EOS_Achievements_CopyAchievementDefinitionV2ByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyPlayerAchievementByAchievementIdDelegate(IntPtr handle, ref Achievements.CopyPlayerAchievementByAchievementIdOptionsInternal options, out IntPtr outAchievement); + internal static EOS_Achievements_CopyPlayerAchievementByAchievementIdDelegate EOS_Achievements_CopyPlayerAchievementByAchievementId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyPlayerAchievementByIndexDelegate(IntPtr handle, ref Achievements.CopyPlayerAchievementByIndexOptionsInternal options, out IntPtr outAchievement); + internal static EOS_Achievements_CopyPlayerAchievementByIndexDelegate EOS_Achievements_CopyPlayerAchievementByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyUnlockedAchievementByAchievementIdDelegate(IntPtr handle, ref Achievements.CopyUnlockedAchievementByAchievementIdOptionsInternal options, out IntPtr outAchievement); + internal static EOS_Achievements_CopyUnlockedAchievementByAchievementIdDelegate EOS_Achievements_CopyUnlockedAchievementByAchievementId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Achievements_CopyUnlockedAchievementByIndexDelegate(IntPtr handle, ref Achievements.CopyUnlockedAchievementByIndexOptionsInternal options, out IntPtr outAchievement); + internal static EOS_Achievements_CopyUnlockedAchievementByIndexDelegate EOS_Achievements_CopyUnlockedAchievementByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_DefinitionV2_ReleaseDelegate(IntPtr achievementDefinition); + internal static EOS_Achievements_DefinitionV2_ReleaseDelegate EOS_Achievements_DefinitionV2_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_Definition_ReleaseDelegate(IntPtr achievementDefinition); + internal static EOS_Achievements_Definition_ReleaseDelegate EOS_Achievements_Definition_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Achievements_GetAchievementDefinitionCountDelegate(IntPtr handle, ref Achievements.GetAchievementDefinitionCountOptionsInternal options); + internal static EOS_Achievements_GetAchievementDefinitionCountDelegate EOS_Achievements_GetAchievementDefinitionCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Achievements_GetPlayerAchievementCountDelegate(IntPtr handle, ref Achievements.GetPlayerAchievementCountOptionsInternal options); + internal static EOS_Achievements_GetPlayerAchievementCountDelegate EOS_Achievements_GetPlayerAchievementCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Achievements_GetUnlockedAchievementCountDelegate(IntPtr handle, ref Achievements.GetUnlockedAchievementCountOptionsInternal options); + internal static EOS_Achievements_GetUnlockedAchievementCountDelegate EOS_Achievements_GetUnlockedAchievementCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_PlayerAchievement_ReleaseDelegate(IntPtr achievement); + internal static EOS_Achievements_PlayerAchievement_ReleaseDelegate EOS_Achievements_PlayerAchievement_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_QueryDefinitionsDelegate(IntPtr handle, ref Achievements.QueryDefinitionsOptionsInternal options, IntPtr clientData, Achievements.OnQueryDefinitionsCompleteCallbackInternal completionDelegate); + internal static EOS_Achievements_QueryDefinitionsDelegate EOS_Achievements_QueryDefinitions; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_QueryPlayerAchievementsDelegate(IntPtr handle, ref Achievements.QueryPlayerAchievementsOptionsInternal options, IntPtr clientData, Achievements.OnQueryPlayerAchievementsCompleteCallbackInternal completionDelegate); + internal static EOS_Achievements_QueryPlayerAchievementsDelegate EOS_Achievements_QueryPlayerAchievements; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_RemoveNotifyAchievementsUnlockedDelegate(IntPtr handle, ulong inId); + internal static EOS_Achievements_RemoveNotifyAchievementsUnlockedDelegate EOS_Achievements_RemoveNotifyAchievementsUnlocked; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_UnlockAchievementsDelegate(IntPtr handle, ref Achievements.UnlockAchievementsOptionsInternal options, IntPtr clientData, Achievements.OnUnlockAchievementsCompleteCallbackInternal completionDelegate); + internal static EOS_Achievements_UnlockAchievementsDelegate EOS_Achievements_UnlockAchievements; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Achievements_UnlockedAchievement_ReleaseDelegate(IntPtr achievement); + internal static EOS_Achievements_UnlockedAchievement_ReleaseDelegate EOS_Achievements_UnlockedAchievement_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ActiveSession_CopyInfoDelegate(IntPtr handle, ref Sessions.ActiveSessionCopyInfoOptionsInternal options, out IntPtr outActiveSessionInfo); + internal static EOS_ActiveSession_CopyInfoDelegate EOS_ActiveSession_CopyInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_ActiveSession_GetRegisteredPlayerByIndexDelegate(IntPtr handle, ref Sessions.ActiveSessionGetRegisteredPlayerByIndexOptionsInternal options); + internal static EOS_ActiveSession_GetRegisteredPlayerByIndexDelegate EOS_ActiveSession_GetRegisteredPlayerByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_ActiveSession_GetRegisteredPlayerCountDelegate(IntPtr handle, ref Sessions.ActiveSessionGetRegisteredPlayerCountOptionsInternal options); + internal static EOS_ActiveSession_GetRegisteredPlayerCountDelegate EOS_ActiveSession_GetRegisteredPlayerCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_ActiveSession_Info_ReleaseDelegate(IntPtr activeSessionInfo); + internal static EOS_ActiveSession_Info_ReleaseDelegate EOS_ActiveSession_Info_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_ActiveSession_ReleaseDelegate(IntPtr activeSessionHandle); + internal static EOS_ActiveSession_ReleaseDelegate EOS_ActiveSession_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_AddExternalIntegrityCatalogDelegate(IntPtr handle, ref AntiCheatClient.AddExternalIntegrityCatalogOptionsInternal options); + internal static EOS_AntiCheatClient_AddExternalIntegrityCatalogDelegate EOS_AntiCheatClient_AddExternalIntegrityCatalog; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedDelegate(IntPtr handle, ref AntiCheatClient.AddNotifyClientIntegrityViolatedOptionsInternal options, IntPtr clientData, AntiCheatClient.OnClientIntegrityViolatedCallbackInternal notificationFn); + internal static EOS_AntiCheatClient_AddNotifyClientIntegrityViolatedDelegate EOS_AntiCheatClient_AddNotifyClientIntegrityViolated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatClient_AddNotifyMessageToPeerDelegate(IntPtr handle, ref AntiCheatClient.AddNotifyMessageToPeerOptionsInternal options, IntPtr clientData, AntiCheatClient.OnMessageToPeerCallbackInternal notificationFn); + internal static EOS_AntiCheatClient_AddNotifyMessageToPeerDelegate EOS_AntiCheatClient_AddNotifyMessageToPeer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatClient_AddNotifyMessageToServerDelegate(IntPtr handle, ref AntiCheatClient.AddNotifyMessageToServerOptionsInternal options, IntPtr clientData, AntiCheatClient.OnMessageToServerCallbackInternal notificationFn); + internal static EOS_AntiCheatClient_AddNotifyMessageToServerDelegate EOS_AntiCheatClient_AddNotifyMessageToServer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatClient_AddNotifyPeerActionRequiredDelegate(IntPtr handle, ref AntiCheatClient.AddNotifyPeerActionRequiredOptionsInternal options, IntPtr clientData, AntiCheatClient.OnPeerActionRequiredCallbackInternal notificationFn); + internal static EOS_AntiCheatClient_AddNotifyPeerActionRequiredDelegate EOS_AntiCheatClient_AddNotifyPeerActionRequired; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedDelegate(IntPtr handle, ref AntiCheatClient.AddNotifyPeerAuthStatusChangedOptionsInternal options, IntPtr clientData, AntiCheatClient.OnPeerAuthStatusChangedCallbackInternal notificationFn); + internal static EOS_AntiCheatClient_AddNotifyPeerAuthStatusChangedDelegate EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_BeginSessionDelegate(IntPtr handle, ref AntiCheatClient.BeginSessionOptionsInternal options); + internal static EOS_AntiCheatClient_BeginSessionDelegate EOS_AntiCheatClient_BeginSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_EndSessionDelegate(IntPtr handle, ref AntiCheatClient.EndSessionOptionsInternal options); + internal static EOS_AntiCheatClient_EndSessionDelegate EOS_AntiCheatClient_EndSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_GetModuleBuildIdDelegate(IntPtr handle, ref AntiCheatClient.GetModuleBuildIdOptionsInternal options, out uint outModuleBuildId); + internal static EOS_AntiCheatClient_GetModuleBuildIdDelegate EOS_AntiCheatClient_GetModuleBuildId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_GetProtectMessageOutputLengthDelegate(IntPtr handle, ref AntiCheatClient.GetProtectMessageOutputLengthOptionsInternal options, out uint outBufferSizeBytes); + internal static EOS_AntiCheatClient_GetProtectMessageOutputLengthDelegate EOS_AntiCheatClient_GetProtectMessageOutputLength; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_PollStatusDelegate(IntPtr handle, ref AntiCheatClient.PollStatusOptionsInternal options, out AntiCheatClient.AntiCheatClientViolationType outViolationType, IntPtr outMessage); + internal static EOS_AntiCheatClient_PollStatusDelegate EOS_AntiCheatClient_PollStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_ProtectMessageDelegate(IntPtr handle, ref AntiCheatClient.ProtectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + internal static EOS_AntiCheatClient_ProtectMessageDelegate EOS_AntiCheatClient_ProtectMessage; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_ReceiveMessageFromPeerDelegate(IntPtr handle, ref AntiCheatClient.ReceiveMessageFromPeerOptionsInternal options); + internal static EOS_AntiCheatClient_ReceiveMessageFromPeerDelegate EOS_AntiCheatClient_ReceiveMessageFromPeer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_ReceiveMessageFromServerDelegate(IntPtr handle, ref AntiCheatClient.ReceiveMessageFromServerOptionsInternal options); + internal static EOS_AntiCheatClient_ReceiveMessageFromServerDelegate EOS_AntiCheatClient_ReceiveMessageFromServer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_RegisterPeerDelegate(IntPtr handle, ref AntiCheatClient.RegisterPeerOptionsInternal options); + internal static EOS_AntiCheatClient_RegisterPeerDelegate EOS_AntiCheatClient_RegisterPeer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolatedDelegate EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatClient_RemoveNotifyMessageToPeerDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatClient_RemoveNotifyMessageToPeerDelegate EOS_AntiCheatClient_RemoveNotifyMessageToPeer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatClient_RemoveNotifyMessageToServerDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatClient_RemoveNotifyMessageToServerDelegate EOS_AntiCheatClient_RemoveNotifyMessageToServer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatClient_RemoveNotifyPeerActionRequiredDelegate EOS_AntiCheatClient_RemoveNotifyPeerActionRequired; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChangedDelegate EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_Reserved01Delegate(IntPtr handle, ref AntiCheatClient.Reserved01OptionsInternal options, out int outValue); + internal static EOS_AntiCheatClient_Reserved01Delegate EOS_AntiCheatClient_Reserved01; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_Reserved02Delegate(IntPtr handle, ref AntiCheatClient.Reserved02OptionsInternal options); + internal static EOS_AntiCheatClient_Reserved02Delegate EOS_AntiCheatClient_Reserved02; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_UnprotectMessageDelegate(IntPtr handle, ref AntiCheatClient.UnprotectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + internal static EOS_AntiCheatClient_UnprotectMessageDelegate EOS_AntiCheatClient_UnprotectMessage; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatClient_UnregisterPeerDelegate(IntPtr handle, ref AntiCheatClient.UnregisterPeerOptionsInternal options); + internal static EOS_AntiCheatClient_UnregisterPeerDelegate EOS_AntiCheatClient_UnregisterPeer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatServer_AddNotifyClientActionRequiredDelegate(IntPtr handle, ref AntiCheatServer.AddNotifyClientActionRequiredOptionsInternal options, IntPtr clientData, AntiCheatServer.OnClientActionRequiredCallbackInternal notificationFn); + internal static EOS_AntiCheatServer_AddNotifyClientActionRequiredDelegate EOS_AntiCheatServer_AddNotifyClientActionRequired; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedDelegate(IntPtr handle, ref AntiCheatServer.AddNotifyClientAuthStatusChangedOptionsInternal options, IntPtr clientData, AntiCheatServer.OnClientAuthStatusChangedCallbackInternal notificationFn); + internal static EOS_AntiCheatServer_AddNotifyClientAuthStatusChangedDelegate EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_AntiCheatServer_AddNotifyMessageToClientDelegate(IntPtr handle, ref AntiCheatServer.AddNotifyMessageToClientOptionsInternal options, IntPtr clientData, AntiCheatServer.OnMessageToClientCallbackInternal notificationFn); + internal static EOS_AntiCheatServer_AddNotifyMessageToClientDelegate EOS_AntiCheatServer_AddNotifyMessageToClient; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_BeginSessionDelegate(IntPtr handle, ref AntiCheatServer.BeginSessionOptionsInternal options); + internal static EOS_AntiCheatServer_BeginSessionDelegate EOS_AntiCheatServer_BeginSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_EndSessionDelegate(IntPtr handle, ref AntiCheatServer.EndSessionOptionsInternal options); + internal static EOS_AntiCheatServer_EndSessionDelegate EOS_AntiCheatServer_EndSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_GetProtectMessageOutputLengthDelegate(IntPtr handle, ref AntiCheatServer.GetProtectMessageOutputLengthOptionsInternal options, out uint outBufferSizeBytes); + internal static EOS_AntiCheatServer_GetProtectMessageOutputLengthDelegate EOS_AntiCheatServer_GetProtectMessageOutputLength; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogEventDelegate(IntPtr handle, ref AntiCheatCommon.LogEventOptionsInternal options); + internal static EOS_AntiCheatServer_LogEventDelegate EOS_AntiCheatServer_LogEvent; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogGameRoundEndDelegate(IntPtr handle, ref AntiCheatCommon.LogGameRoundEndOptionsInternal options); + internal static EOS_AntiCheatServer_LogGameRoundEndDelegate EOS_AntiCheatServer_LogGameRoundEnd; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogGameRoundStartDelegate(IntPtr handle, ref AntiCheatCommon.LogGameRoundStartOptionsInternal options); + internal static EOS_AntiCheatServer_LogGameRoundStartDelegate EOS_AntiCheatServer_LogGameRoundStart; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerDespawnDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerDespawnOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerDespawnDelegate EOS_AntiCheatServer_LogPlayerDespawn; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerReviveDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerReviveOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerReviveDelegate EOS_AntiCheatServer_LogPlayerRevive; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerSpawnDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerSpawnOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerSpawnDelegate EOS_AntiCheatServer_LogPlayerSpawn; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerTakeDamageDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerTakeDamageOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerTakeDamageDelegate EOS_AntiCheatServer_LogPlayerTakeDamage; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerTickDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerTickOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerTickDelegate EOS_AntiCheatServer_LogPlayerTick; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerUseAbilityDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerUseAbilityOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerUseAbilityDelegate EOS_AntiCheatServer_LogPlayerUseAbility; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_LogPlayerUseWeaponDelegate(IntPtr handle, ref AntiCheatCommon.LogPlayerUseWeaponOptionsInternal options); + internal static EOS_AntiCheatServer_LogPlayerUseWeaponDelegate EOS_AntiCheatServer_LogPlayerUseWeapon; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_ProtectMessageDelegate(IntPtr handle, ref AntiCheatServer.ProtectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + internal static EOS_AntiCheatServer_ProtectMessageDelegate EOS_AntiCheatServer_ProtectMessage; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_ReceiveMessageFromClientDelegate(IntPtr handle, ref AntiCheatServer.ReceiveMessageFromClientOptionsInternal options); + internal static EOS_AntiCheatServer_ReceiveMessageFromClientDelegate EOS_AntiCheatServer_ReceiveMessageFromClient; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_RegisterClientDelegate(IntPtr handle, ref AntiCheatServer.RegisterClientOptionsInternal options); + internal static EOS_AntiCheatServer_RegisterClientDelegate EOS_AntiCheatServer_RegisterClient; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_RegisterEventDelegate(IntPtr handle, ref AntiCheatCommon.RegisterEventOptionsInternal options); + internal static EOS_AntiCheatServer_RegisterEventDelegate EOS_AntiCheatServer_RegisterEvent; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatServer_RemoveNotifyClientActionRequiredDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatServer_RemoveNotifyClientActionRequiredDelegate EOS_AntiCheatServer_RemoveNotifyClientActionRequired; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChangedDelegate EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_AntiCheatServer_RemoveNotifyMessageToClientDelegate(IntPtr handle, ulong notificationId); + internal static EOS_AntiCheatServer_RemoveNotifyMessageToClientDelegate EOS_AntiCheatServer_RemoveNotifyMessageToClient; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_SetClientDetailsDelegate(IntPtr handle, ref AntiCheatCommon.SetClientDetailsOptionsInternal options); + internal static EOS_AntiCheatServer_SetClientDetailsDelegate EOS_AntiCheatServer_SetClientDetails; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_SetClientNetworkStateDelegate(IntPtr handle, ref AntiCheatServer.SetClientNetworkStateOptionsInternal options); + internal static EOS_AntiCheatServer_SetClientNetworkStateDelegate EOS_AntiCheatServer_SetClientNetworkState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_SetGameSessionIdDelegate(IntPtr handle, ref AntiCheatCommon.SetGameSessionIdOptionsInternal options); + internal static EOS_AntiCheatServer_SetGameSessionIdDelegate EOS_AntiCheatServer_SetGameSessionId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_UnprotectMessageDelegate(IntPtr handle, ref AntiCheatServer.UnprotectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + internal static EOS_AntiCheatServer_UnprotectMessageDelegate EOS_AntiCheatServer_UnprotectMessage; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_AntiCheatServer_UnregisterClientDelegate(IntPtr handle, ref AntiCheatServer.UnregisterClientOptionsInternal options); + internal static EOS_AntiCheatServer_UnregisterClientDelegate EOS_AntiCheatServer_UnregisterClient; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Auth_AddNotifyLoginStatusChangedDelegate(IntPtr handle, ref Auth.AddNotifyLoginStatusChangedOptionsInternal options, IntPtr clientData, Auth.OnLoginStatusChangedCallbackInternal notification); + internal static EOS_Auth_AddNotifyLoginStatusChangedDelegate EOS_Auth_AddNotifyLoginStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Auth_CopyIdTokenDelegate(IntPtr handle, ref Auth.CopyIdTokenOptionsInternal options, out IntPtr outIdToken); + internal static EOS_Auth_CopyIdTokenDelegate EOS_Auth_CopyIdToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Auth_CopyUserAuthTokenDelegate(IntPtr handle, ref Auth.CopyUserAuthTokenOptionsInternal options, IntPtr localUserId, out IntPtr outUserAuthToken); + internal static EOS_Auth_CopyUserAuthTokenDelegate EOS_Auth_CopyUserAuthToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_DeletePersistentAuthDelegate(IntPtr handle, ref Auth.DeletePersistentAuthOptionsInternal options, IntPtr clientData, Auth.OnDeletePersistentAuthCallbackInternal completionDelegate); + internal static EOS_Auth_DeletePersistentAuthDelegate EOS_Auth_DeletePersistentAuth; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Auth_GetLoggedInAccountByIndexDelegate(IntPtr handle, int index); + internal static EOS_Auth_GetLoggedInAccountByIndexDelegate EOS_Auth_GetLoggedInAccountByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_Auth_GetLoggedInAccountsCountDelegate(IntPtr handle); + internal static EOS_Auth_GetLoggedInAccountsCountDelegate EOS_Auth_GetLoggedInAccountsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate LoginStatus EOS_Auth_GetLoginStatusDelegate(IntPtr handle, IntPtr localUserId); + internal static EOS_Auth_GetLoginStatusDelegate EOS_Auth_GetLoginStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Auth_GetMergedAccountByIndexDelegate(IntPtr handle, IntPtr localUserId, uint index); + internal static EOS_Auth_GetMergedAccountByIndexDelegate EOS_Auth_GetMergedAccountByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Auth_GetMergedAccountsCountDelegate(IntPtr handle, IntPtr localUserId); + internal static EOS_Auth_GetMergedAccountsCountDelegate EOS_Auth_GetMergedAccountsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Auth_GetSelectedAccountIdDelegate(IntPtr handle, IntPtr localUserId, out IntPtr outSelectedAccountId); + internal static EOS_Auth_GetSelectedAccountIdDelegate EOS_Auth_GetSelectedAccountId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_IdToken_ReleaseDelegate(IntPtr idToken); + internal static EOS_Auth_IdToken_ReleaseDelegate EOS_Auth_IdToken_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_LinkAccountDelegate(IntPtr handle, ref Auth.LinkAccountOptionsInternal options, IntPtr clientData, Auth.OnLinkAccountCallbackInternal completionDelegate); + internal static EOS_Auth_LinkAccountDelegate EOS_Auth_LinkAccount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_LoginDelegate(IntPtr handle, ref Auth.LoginOptionsInternal options, IntPtr clientData, Auth.OnLoginCallbackInternal completionDelegate); + internal static EOS_Auth_LoginDelegate EOS_Auth_Login; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_LogoutDelegate(IntPtr handle, ref Auth.LogoutOptionsInternal options, IntPtr clientData, Auth.OnLogoutCallbackInternal completionDelegate); + internal static EOS_Auth_LogoutDelegate EOS_Auth_Logout; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_QueryIdTokenDelegate(IntPtr handle, ref Auth.QueryIdTokenOptionsInternal options, IntPtr clientData, Auth.OnQueryIdTokenCallbackInternal completionDelegate); + internal static EOS_Auth_QueryIdTokenDelegate EOS_Auth_QueryIdToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_RemoveNotifyLoginStatusChangedDelegate(IntPtr handle, ulong inId); + internal static EOS_Auth_RemoveNotifyLoginStatusChangedDelegate EOS_Auth_RemoveNotifyLoginStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_Token_ReleaseDelegate(IntPtr authToken); + internal static EOS_Auth_Token_ReleaseDelegate EOS_Auth_Token_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_VerifyIdTokenDelegate(IntPtr handle, ref Auth.VerifyIdTokenOptionsInternal options, IntPtr clientData, Auth.OnVerifyIdTokenCallbackInternal completionDelegate); + internal static EOS_Auth_VerifyIdTokenDelegate EOS_Auth_VerifyIdToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_VerifyUserAuthDelegate(IntPtr handle, ref Auth.VerifyUserAuthOptionsInternal options, IntPtr clientData, Auth.OnVerifyUserAuthCallbackInternal completionDelegate); + internal static EOS_Auth_VerifyUserAuthDelegate EOS_Auth_VerifyUserAuth; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ByteArray_ToStringDelegate(IntPtr byteArray, uint length, IntPtr outBuffer, ref uint inOutBufferLength); + internal static EOS_ByteArray_ToStringDelegate EOS_ByteArray_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Connect_AddNotifyAuthExpirationDelegate(IntPtr handle, ref Connect.AddNotifyAuthExpirationOptionsInternal options, IntPtr clientData, Connect.OnAuthExpirationCallbackInternal notification); + internal static EOS_Connect_AddNotifyAuthExpirationDelegate EOS_Connect_AddNotifyAuthExpiration; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Connect_AddNotifyLoginStatusChangedDelegate(IntPtr handle, ref Connect.AddNotifyLoginStatusChangedOptionsInternal options, IntPtr clientData, Connect.OnLoginStatusChangedCallbackInternal notification); + internal static EOS_Connect_AddNotifyLoginStatusChangedDelegate EOS_Connect_AddNotifyLoginStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Connect_CopyIdTokenDelegate(IntPtr handle, ref Connect.CopyIdTokenOptionsInternal options, out IntPtr outIdToken); + internal static EOS_Connect_CopyIdTokenDelegate EOS_Connect_CopyIdToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Connect_CopyProductUserExternalAccountByAccountIdDelegate(IntPtr handle, ref Connect.CopyProductUserExternalAccountByAccountIdOptionsInternal options, out IntPtr outExternalAccountInfo); + internal static EOS_Connect_CopyProductUserExternalAccountByAccountIdDelegate EOS_Connect_CopyProductUserExternalAccountByAccountId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Connect_CopyProductUserExternalAccountByAccountTypeDelegate(IntPtr handle, ref Connect.CopyProductUserExternalAccountByAccountTypeOptionsInternal options, out IntPtr outExternalAccountInfo); + internal static EOS_Connect_CopyProductUserExternalAccountByAccountTypeDelegate EOS_Connect_CopyProductUserExternalAccountByAccountType; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Connect_CopyProductUserExternalAccountByIndexDelegate(IntPtr handle, ref Connect.CopyProductUserExternalAccountByIndexOptionsInternal options, out IntPtr outExternalAccountInfo); + internal static EOS_Connect_CopyProductUserExternalAccountByIndexDelegate EOS_Connect_CopyProductUserExternalAccountByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Connect_CopyProductUserInfoDelegate(IntPtr handle, ref Connect.CopyProductUserInfoOptionsInternal options, out IntPtr outExternalAccountInfo); + internal static EOS_Connect_CopyProductUserInfoDelegate EOS_Connect_CopyProductUserInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_CreateDeviceIdDelegate(IntPtr handle, ref Connect.CreateDeviceIdOptionsInternal options, IntPtr clientData, Connect.OnCreateDeviceIdCallbackInternal completionDelegate); + internal static EOS_Connect_CreateDeviceIdDelegate EOS_Connect_CreateDeviceId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_CreateUserDelegate(IntPtr handle, ref Connect.CreateUserOptionsInternal options, IntPtr clientData, Connect.OnCreateUserCallbackInternal completionDelegate); + internal static EOS_Connect_CreateUserDelegate EOS_Connect_CreateUser; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_DeleteDeviceIdDelegate(IntPtr handle, ref Connect.DeleteDeviceIdOptionsInternal options, IntPtr clientData, Connect.OnDeleteDeviceIdCallbackInternal completionDelegate); + internal static EOS_Connect_DeleteDeviceIdDelegate EOS_Connect_DeleteDeviceId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_ExternalAccountInfo_ReleaseDelegate(IntPtr externalAccountInfo); + internal static EOS_Connect_ExternalAccountInfo_ReleaseDelegate EOS_Connect_ExternalAccountInfo_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Connect_GetExternalAccountMappingDelegate(IntPtr handle, ref Connect.GetExternalAccountMappingsOptionsInternal options); + internal static EOS_Connect_GetExternalAccountMappingDelegate EOS_Connect_GetExternalAccountMapping; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Connect_GetLoggedInUserByIndexDelegate(IntPtr handle, int index); + internal static EOS_Connect_GetLoggedInUserByIndexDelegate EOS_Connect_GetLoggedInUserByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_Connect_GetLoggedInUsersCountDelegate(IntPtr handle); + internal static EOS_Connect_GetLoggedInUsersCountDelegate EOS_Connect_GetLoggedInUsersCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate LoginStatus EOS_Connect_GetLoginStatusDelegate(IntPtr handle, IntPtr localUserId); + internal static EOS_Connect_GetLoginStatusDelegate EOS_Connect_GetLoginStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Connect_GetProductUserExternalAccountCountDelegate(IntPtr handle, ref Connect.GetProductUserExternalAccountCountOptionsInternal options); + internal static EOS_Connect_GetProductUserExternalAccountCountDelegate EOS_Connect_GetProductUserExternalAccountCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Connect_GetProductUserIdMappingDelegate(IntPtr handle, ref Connect.GetProductUserIdMappingOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Connect_GetProductUserIdMappingDelegate EOS_Connect_GetProductUserIdMapping; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_IdToken_ReleaseDelegate(IntPtr idToken); + internal static EOS_Connect_IdToken_ReleaseDelegate EOS_Connect_IdToken_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_LinkAccountDelegate(IntPtr handle, ref Connect.LinkAccountOptionsInternal options, IntPtr clientData, Connect.OnLinkAccountCallbackInternal completionDelegate); + internal static EOS_Connect_LinkAccountDelegate EOS_Connect_LinkAccount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_LoginDelegate(IntPtr handle, ref Connect.LoginOptionsInternal options, IntPtr clientData, Connect.OnLoginCallbackInternal completionDelegate); + internal static EOS_Connect_LoginDelegate EOS_Connect_Login; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_LogoutDelegate(IntPtr handle, ref Connect.LogoutOptionsInternal options, IntPtr clientData, Connect.OnLogoutCallbackInternal completionDelegate); + internal static EOS_Connect_LogoutDelegate EOS_Connect_Logout; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_QueryExternalAccountMappingsDelegate(IntPtr handle, ref Connect.QueryExternalAccountMappingsOptionsInternal options, IntPtr clientData, Connect.OnQueryExternalAccountMappingsCallbackInternal completionDelegate); + internal static EOS_Connect_QueryExternalAccountMappingsDelegate EOS_Connect_QueryExternalAccountMappings; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_QueryProductUserIdMappingsDelegate(IntPtr handle, ref Connect.QueryProductUserIdMappingsOptionsInternal options, IntPtr clientData, Connect.OnQueryProductUserIdMappingsCallbackInternal completionDelegate); + internal static EOS_Connect_QueryProductUserIdMappingsDelegate EOS_Connect_QueryProductUserIdMappings; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_RemoveNotifyAuthExpirationDelegate(IntPtr handle, ulong inId); + internal static EOS_Connect_RemoveNotifyAuthExpirationDelegate EOS_Connect_RemoveNotifyAuthExpiration; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_RemoveNotifyLoginStatusChangedDelegate(IntPtr handle, ulong inId); + internal static EOS_Connect_RemoveNotifyLoginStatusChangedDelegate EOS_Connect_RemoveNotifyLoginStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_TransferDeviceIdAccountDelegate(IntPtr handle, ref Connect.TransferDeviceIdAccountOptionsInternal options, IntPtr clientData, Connect.OnTransferDeviceIdAccountCallbackInternal completionDelegate); + internal static EOS_Connect_TransferDeviceIdAccountDelegate EOS_Connect_TransferDeviceIdAccount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_UnlinkAccountDelegate(IntPtr handle, ref Connect.UnlinkAccountOptionsInternal options, IntPtr clientData, Connect.OnUnlinkAccountCallbackInternal completionDelegate); + internal static EOS_Connect_UnlinkAccountDelegate EOS_Connect_UnlinkAccount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Connect_VerifyIdTokenDelegate(IntPtr handle, ref Connect.VerifyIdTokenOptionsInternal options, IntPtr clientData, Connect.OnVerifyIdTokenCallbackInternal completionDelegate); + internal static EOS_Connect_VerifyIdTokenDelegate EOS_Connect_VerifyIdToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ContinuanceToken_ToStringDelegate(IntPtr continuanceToken, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_ContinuanceToken_ToStringDelegate EOS_ContinuanceToken_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_AcceptRequestToJoinDelegate(IntPtr handle, ref CustomInvites.AcceptRequestToJoinOptionsInternal options, IntPtr clientData, CustomInvites.OnAcceptRequestToJoinCallbackInternal completionDelegate); + internal static EOS_CustomInvites_AcceptRequestToJoinDelegate EOS_CustomInvites_AcceptRequestToJoin; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyCustomInviteAcceptedDelegate(IntPtr handle, ref CustomInvites.AddNotifyCustomInviteAcceptedOptionsInternal options, IntPtr clientData, CustomInvites.OnCustomInviteAcceptedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyCustomInviteAcceptedDelegate EOS_CustomInvites_AddNotifyCustomInviteAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyCustomInviteReceivedDelegate(IntPtr handle, ref CustomInvites.AddNotifyCustomInviteReceivedOptionsInternal options, IntPtr clientData, CustomInvites.OnCustomInviteReceivedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyCustomInviteReceivedDelegate EOS_CustomInvites_AddNotifyCustomInviteReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyCustomInviteRejectedDelegate(IntPtr handle, ref CustomInvites.AddNotifyCustomInviteRejectedOptionsInternal options, IntPtr clientData, CustomInvites.OnCustomInviteRejectedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyCustomInviteRejectedDelegate EOS_CustomInvites_AddNotifyCustomInviteRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyRequestToJoinAcceptedDelegate(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinAcceptedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinAcceptedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyRequestToJoinAcceptedDelegate EOS_CustomInvites_AddNotifyRequestToJoinAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyRequestToJoinReceivedDelegate(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinReceivedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinReceivedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyRequestToJoinReceivedDelegate EOS_CustomInvites_AddNotifyRequestToJoinReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyRequestToJoinRejectedDelegate(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinRejectedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinRejectedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyRequestToJoinRejectedDelegate EOS_CustomInvites_AddNotifyRequestToJoinRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedDelegate(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinResponseReceivedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinResponseReceivedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifyRequestToJoinResponseReceivedDelegate EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedDelegate(IntPtr handle, ref CustomInvites.AddNotifySendCustomNativeInviteRequestedOptionsInternal options, IntPtr clientData, CustomInvites.OnSendCustomNativeInviteRequestedCallbackInternal notificationFn); + internal static EOS_CustomInvites_AddNotifySendCustomNativeInviteRequestedDelegate EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_CustomInvites_FinalizeInviteDelegate(IntPtr handle, ref CustomInvites.FinalizeInviteOptionsInternal options); + internal static EOS_CustomInvites_FinalizeInviteDelegate EOS_CustomInvites_FinalizeInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RejectRequestToJoinDelegate(IntPtr handle, ref CustomInvites.RejectRequestToJoinOptionsInternal options, IntPtr clientData, CustomInvites.OnRejectRequestToJoinCallbackInternal completionDelegate); + internal static EOS_CustomInvites_RejectRequestToJoinDelegate EOS_CustomInvites_RejectRequestToJoin; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyCustomInviteAcceptedDelegate EOS_CustomInvites_RemoveNotifyCustomInviteAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyCustomInviteReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyCustomInviteReceivedDelegate EOS_CustomInvites_RemoveNotifyCustomInviteReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyCustomInviteRejectedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyCustomInviteRejectedDelegate EOS_CustomInvites_RemoveNotifyCustomInviteRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyRequestToJoinAcceptedDelegate EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyRequestToJoinReceivedDelegate EOS_CustomInvites_RemoveNotifyRequestToJoinReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyRequestToJoinRejectedDelegate EOS_CustomInvites_RemoveNotifyRequestToJoinRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceivedDelegate EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedDelegate(IntPtr handle, ulong inId); + internal static EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequestedDelegate EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_SendCustomInviteDelegate(IntPtr handle, ref CustomInvites.SendCustomInviteOptionsInternal options, IntPtr clientData, CustomInvites.OnSendCustomInviteCallbackInternal completionDelegate); + internal static EOS_CustomInvites_SendCustomInviteDelegate EOS_CustomInvites_SendCustomInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_CustomInvites_SendRequestToJoinDelegate(IntPtr handle, ref CustomInvites.SendRequestToJoinOptionsInternal options, IntPtr clientData, CustomInvites.OnSendRequestToJoinCallbackInternal completionDelegate); + internal static EOS_CustomInvites_SendRequestToJoinDelegate EOS_CustomInvites_SendRequestToJoin; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_CustomInvites_SetCustomInviteDelegate(IntPtr handle, ref CustomInvites.SetCustomInviteOptionsInternal options); + internal static EOS_CustomInvites_SetCustomInviteDelegate EOS_CustomInvites_SetCustomInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_EApplicationStatus_ToStringDelegate(Platform.ApplicationStatus applicationStatus); + internal static EOS_EApplicationStatus_ToStringDelegate EOS_EApplicationStatus_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_ENetworkStatus_ToStringDelegate(Platform.NetworkStatus networkStatus); + internal static EOS_ENetworkStatus_ToStringDelegate EOS_ENetworkStatus_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_EResult_IsOperationCompleteDelegate(Result result); + internal static EOS_EResult_IsOperationCompleteDelegate EOS_EResult_IsOperationComplete; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_EResult_ToStringDelegate(Result result); + internal static EOS_EResult_ToStringDelegate EOS_EResult_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_CatalogItem_ReleaseDelegate(IntPtr catalogItem); + internal static EOS_Ecom_CatalogItem_ReleaseDelegate EOS_Ecom_CatalogItem_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_CatalogOffer_ReleaseDelegate(IntPtr catalogOffer); + internal static EOS_Ecom_CatalogOffer_ReleaseDelegate EOS_Ecom_CatalogOffer_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_CatalogRelease_ReleaseDelegate(IntPtr catalogRelease); + internal static EOS_Ecom_CatalogRelease_ReleaseDelegate EOS_Ecom_CatalogRelease_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_CheckoutDelegate(IntPtr handle, ref Ecom.CheckoutOptionsInternal options, IntPtr clientData, Ecom.OnCheckoutCallbackInternal completionDelegate); + internal static EOS_Ecom_CheckoutDelegate EOS_Ecom_Checkout; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyEntitlementByIdDelegate(IntPtr handle, ref Ecom.CopyEntitlementByIdOptionsInternal options, out IntPtr outEntitlement); + internal static EOS_Ecom_CopyEntitlementByIdDelegate EOS_Ecom_CopyEntitlementById; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyEntitlementByIndexDelegate(IntPtr handle, ref Ecom.CopyEntitlementByIndexOptionsInternal options, out IntPtr outEntitlement); + internal static EOS_Ecom_CopyEntitlementByIndexDelegate EOS_Ecom_CopyEntitlementByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyEntitlementByNameAndIndexDelegate(IntPtr handle, ref Ecom.CopyEntitlementByNameAndIndexOptionsInternal options, out IntPtr outEntitlement); + internal static EOS_Ecom_CopyEntitlementByNameAndIndexDelegate EOS_Ecom_CopyEntitlementByNameAndIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyItemByIdDelegate(IntPtr handle, ref Ecom.CopyItemByIdOptionsInternal options, out IntPtr outItem); + internal static EOS_Ecom_CopyItemByIdDelegate EOS_Ecom_CopyItemById; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyItemImageInfoByIndexDelegate(IntPtr handle, ref Ecom.CopyItemImageInfoByIndexOptionsInternal options, out IntPtr outImageInfo); + internal static EOS_Ecom_CopyItemImageInfoByIndexDelegate EOS_Ecom_CopyItemImageInfoByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyItemReleaseByIndexDelegate(IntPtr handle, ref Ecom.CopyItemReleaseByIndexOptionsInternal options, out IntPtr outRelease); + internal static EOS_Ecom_CopyItemReleaseByIndexDelegate EOS_Ecom_CopyItemReleaseByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexDelegate(IntPtr handle, ref Ecom.CopyLastRedeemEntitlementsResultByIndexOptionsInternal options, IntPtr outEntitlementId, ref int inOutEntitlementIdLength); + internal static EOS_Ecom_CopyLastRedeemEntitlementsResultByIndexDelegate EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyLastRedeemedEntitlementByIndexDelegate(IntPtr handle, ref Ecom.CopyLastRedeemedEntitlementByIndexOptionsInternal options, IntPtr outRedeemedEntitlementId, ref int inOutRedeemedEntitlementIdLength); + internal static EOS_Ecom_CopyLastRedeemedEntitlementByIndexDelegate EOS_Ecom_CopyLastRedeemedEntitlementByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyOfferByIdDelegate(IntPtr handle, ref Ecom.CopyOfferByIdOptionsInternal options, out IntPtr outOffer); + internal static EOS_Ecom_CopyOfferByIdDelegate EOS_Ecom_CopyOfferById; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyOfferByIndexDelegate(IntPtr handle, ref Ecom.CopyOfferByIndexOptionsInternal options, out IntPtr outOffer); + internal static EOS_Ecom_CopyOfferByIndexDelegate EOS_Ecom_CopyOfferByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyOfferImageInfoByIndexDelegate(IntPtr handle, ref Ecom.CopyOfferImageInfoByIndexOptionsInternal options, out IntPtr outImageInfo); + internal static EOS_Ecom_CopyOfferImageInfoByIndexDelegate EOS_Ecom_CopyOfferImageInfoByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyOfferItemByIndexDelegate(IntPtr handle, ref Ecom.CopyOfferItemByIndexOptionsInternal options, out IntPtr outItem); + internal static EOS_Ecom_CopyOfferItemByIndexDelegate EOS_Ecom_CopyOfferItemByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyTransactionByIdDelegate(IntPtr handle, ref Ecom.CopyTransactionByIdOptionsInternal options, out IntPtr outTransaction); + internal static EOS_Ecom_CopyTransactionByIdDelegate EOS_Ecom_CopyTransactionById; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_CopyTransactionByIndexDelegate(IntPtr handle, ref Ecom.CopyTransactionByIndexOptionsInternal options, out IntPtr outTransaction); + internal static EOS_Ecom_CopyTransactionByIndexDelegate EOS_Ecom_CopyTransactionByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_Entitlement_ReleaseDelegate(IntPtr entitlement); + internal static EOS_Ecom_Entitlement_ReleaseDelegate EOS_Ecom_Entitlement_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetEntitlementsByNameCountDelegate(IntPtr handle, ref Ecom.GetEntitlementsByNameCountOptionsInternal options); + internal static EOS_Ecom_GetEntitlementsByNameCountDelegate EOS_Ecom_GetEntitlementsByNameCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetEntitlementsCountDelegate(IntPtr handle, ref Ecom.GetEntitlementsCountOptionsInternal options); + internal static EOS_Ecom_GetEntitlementsCountDelegate EOS_Ecom_GetEntitlementsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetItemImageInfoCountDelegate(IntPtr handle, ref Ecom.GetItemImageInfoCountOptionsInternal options); + internal static EOS_Ecom_GetItemImageInfoCountDelegate EOS_Ecom_GetItemImageInfoCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetItemReleaseCountDelegate(IntPtr handle, ref Ecom.GetItemReleaseCountOptionsInternal options); + internal static EOS_Ecom_GetItemReleaseCountDelegate EOS_Ecom_GetItemReleaseCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetLastRedeemEntitlementsResultCountDelegate(IntPtr handle, ref Ecom.GetLastRedeemEntitlementsResultCountOptionsInternal options); + internal static EOS_Ecom_GetLastRedeemEntitlementsResultCountDelegate EOS_Ecom_GetLastRedeemEntitlementsResultCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetLastRedeemedEntitlementsCountDelegate(IntPtr handle, ref Ecom.GetLastRedeemedEntitlementsCountOptionsInternal options); + internal static EOS_Ecom_GetLastRedeemedEntitlementsCountDelegate EOS_Ecom_GetLastRedeemedEntitlementsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetOfferCountDelegate(IntPtr handle, ref Ecom.GetOfferCountOptionsInternal options); + internal static EOS_Ecom_GetOfferCountDelegate EOS_Ecom_GetOfferCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetOfferImageInfoCountDelegate(IntPtr handle, ref Ecom.GetOfferImageInfoCountOptionsInternal options); + internal static EOS_Ecom_GetOfferImageInfoCountDelegate EOS_Ecom_GetOfferImageInfoCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetOfferItemCountDelegate(IntPtr handle, ref Ecom.GetOfferItemCountOptionsInternal options); + internal static EOS_Ecom_GetOfferItemCountDelegate EOS_Ecom_GetOfferItemCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_GetTransactionCountDelegate(IntPtr handle, ref Ecom.GetTransactionCountOptionsInternal options); + internal static EOS_Ecom_GetTransactionCountDelegate EOS_Ecom_GetTransactionCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_KeyImageInfo_ReleaseDelegate(IntPtr keyImageInfo); + internal static EOS_Ecom_KeyImageInfo_ReleaseDelegate EOS_Ecom_KeyImageInfo_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_QueryEntitlementTokenDelegate(IntPtr handle, ref Ecom.QueryEntitlementTokenOptionsInternal options, IntPtr clientData, Ecom.OnQueryEntitlementTokenCallbackInternal completionDelegate); + internal static EOS_Ecom_QueryEntitlementTokenDelegate EOS_Ecom_QueryEntitlementToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_QueryEntitlementsDelegate(IntPtr handle, ref Ecom.QueryEntitlementsOptionsInternal options, IntPtr clientData, Ecom.OnQueryEntitlementsCallbackInternal completionDelegate); + internal static EOS_Ecom_QueryEntitlementsDelegate EOS_Ecom_QueryEntitlements; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_QueryOffersDelegate(IntPtr handle, ref Ecom.QueryOffersOptionsInternal options, IntPtr clientData, Ecom.OnQueryOffersCallbackInternal completionDelegate); + internal static EOS_Ecom_QueryOffersDelegate EOS_Ecom_QueryOffers; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_QueryOwnershipDelegate(IntPtr handle, ref Ecom.QueryOwnershipOptionsInternal options, IntPtr clientData, Ecom.OnQueryOwnershipCallbackInternal completionDelegate); + internal static EOS_Ecom_QueryOwnershipDelegate EOS_Ecom_QueryOwnership; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_QueryOwnershipBySandboxIdsDelegate(IntPtr handle, ref Ecom.QueryOwnershipBySandboxIdsOptionsInternal options, IntPtr clientData, Ecom.OnQueryOwnershipBySandboxIdsCallbackInternal completionDelegate); + internal static EOS_Ecom_QueryOwnershipBySandboxIdsDelegate EOS_Ecom_QueryOwnershipBySandboxIds; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_QueryOwnershipTokenDelegate(IntPtr handle, ref Ecom.QueryOwnershipTokenOptionsInternal options, IntPtr clientData, Ecom.OnQueryOwnershipTokenCallbackInternal completionDelegate); + internal static EOS_Ecom_QueryOwnershipTokenDelegate EOS_Ecom_QueryOwnershipToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_RedeemEntitlementsDelegate(IntPtr handle, ref Ecom.RedeemEntitlementsOptionsInternal options, IntPtr clientData, Ecom.OnRedeemEntitlementsCallbackInternal completionDelegate); + internal static EOS_Ecom_RedeemEntitlementsDelegate EOS_Ecom_RedeemEntitlements; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_Transaction_CopyEntitlementByIndexDelegate(IntPtr handle, ref Ecom.TransactionCopyEntitlementByIndexOptionsInternal options, out IntPtr outEntitlement); + internal static EOS_Ecom_Transaction_CopyEntitlementByIndexDelegate EOS_Ecom_Transaction_CopyEntitlementByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Ecom_Transaction_GetEntitlementsCountDelegate(IntPtr handle, ref Ecom.TransactionGetEntitlementsCountOptionsInternal options); + internal static EOS_Ecom_Transaction_GetEntitlementsCountDelegate EOS_Ecom_Transaction_GetEntitlementsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Ecom_Transaction_GetTransactionIdDelegate(IntPtr handle, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Ecom_Transaction_GetTransactionIdDelegate EOS_Ecom_Transaction_GetTransactionId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Ecom_Transaction_ReleaseDelegate(IntPtr transaction); + internal static EOS_Ecom_Transaction_ReleaseDelegate EOS_Ecom_Transaction_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_EpicAccountId_FromStringDelegate(IntPtr accountIdString); + internal static EOS_EpicAccountId_FromStringDelegate EOS_EpicAccountId_FromString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_EpicAccountId_IsValidDelegate(IntPtr accountId); + internal static EOS_EpicAccountId_IsValidDelegate EOS_EpicAccountId_IsValid; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_EpicAccountId_ToStringDelegate(IntPtr accountId, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_EpicAccountId_ToStringDelegate EOS_EpicAccountId_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Friends_AcceptInviteDelegate(IntPtr handle, ref Friends.AcceptInviteOptionsInternal options, IntPtr clientData, Friends.OnAcceptInviteCallbackInternal completionDelegate); + internal static EOS_Friends_AcceptInviteDelegate EOS_Friends_AcceptInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Friends_AddNotifyBlockedUsersUpdateDelegate(IntPtr handle, ref Friends.AddNotifyBlockedUsersUpdateOptionsInternal options, IntPtr clientData, Friends.OnBlockedUsersUpdateCallbackInternal blockedUsersUpdateHandler); + internal static EOS_Friends_AddNotifyBlockedUsersUpdateDelegate EOS_Friends_AddNotifyBlockedUsersUpdate; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Friends_AddNotifyFriendsUpdateDelegate(IntPtr handle, ref Friends.AddNotifyFriendsUpdateOptionsInternal options, IntPtr clientData, Friends.OnFriendsUpdateCallbackInternal friendsUpdateHandler); + internal static EOS_Friends_AddNotifyFriendsUpdateDelegate EOS_Friends_AddNotifyFriendsUpdate; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Friends_GetBlockedUserAtIndexDelegate(IntPtr handle, ref Friends.GetBlockedUserAtIndexOptionsInternal options); + internal static EOS_Friends_GetBlockedUserAtIndexDelegate EOS_Friends_GetBlockedUserAtIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_Friends_GetBlockedUsersCountDelegate(IntPtr handle, ref Friends.GetBlockedUsersCountOptionsInternal options); + internal static EOS_Friends_GetBlockedUsersCountDelegate EOS_Friends_GetBlockedUsersCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Friends_GetFriendAtIndexDelegate(IntPtr handle, ref Friends.GetFriendAtIndexOptionsInternal options); + internal static EOS_Friends_GetFriendAtIndexDelegate EOS_Friends_GetFriendAtIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_Friends_GetFriendsCountDelegate(IntPtr handle, ref Friends.GetFriendsCountOptionsInternal options); + internal static EOS_Friends_GetFriendsCountDelegate EOS_Friends_GetFriendsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Friends.FriendsStatus EOS_Friends_GetStatusDelegate(IntPtr handle, ref Friends.GetStatusOptionsInternal options); + internal static EOS_Friends_GetStatusDelegate EOS_Friends_GetStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Friends_QueryFriendsDelegate(IntPtr handle, ref Friends.QueryFriendsOptionsInternal options, IntPtr clientData, Friends.OnQueryFriendsCallbackInternal completionDelegate); + internal static EOS_Friends_QueryFriendsDelegate EOS_Friends_QueryFriends; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Friends_RejectInviteDelegate(IntPtr handle, ref Friends.RejectInviteOptionsInternal options, IntPtr clientData, Friends.OnRejectInviteCallbackInternal completionDelegate); + internal static EOS_Friends_RejectInviteDelegate EOS_Friends_RejectInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Friends_RemoveNotifyBlockedUsersUpdateDelegate(IntPtr handle, ulong notificationId); + internal static EOS_Friends_RemoveNotifyBlockedUsersUpdateDelegate EOS_Friends_RemoveNotifyBlockedUsersUpdate; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Friends_RemoveNotifyFriendsUpdateDelegate(IntPtr handle, ulong notificationId); + internal static EOS_Friends_RemoveNotifyFriendsUpdateDelegate EOS_Friends_RemoveNotifyFriendsUpdate; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Friends_SendInviteDelegate(IntPtr handle, ref Friends.SendInviteOptionsInternal options, IntPtr clientData, Friends.OnSendInviteCallbackInternal completionDelegate); + internal static EOS_Friends_SendInviteDelegate EOS_Friends_SendInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_GetVersionDelegate(); + internal static EOS_GetVersionDelegate EOS_GetVersion; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_InitializeDelegate(ref Platform.InitializeOptionsInternal options); + internal static EOS_InitializeDelegate EOS_Initialize; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_IntegratedPlatformOptionsContainer_AddDelegate(IntPtr handle, ref IntegratedPlatform.IntegratedPlatformOptionsContainerAddOptionsInternal inOptions); + internal static EOS_IntegratedPlatformOptionsContainer_AddDelegate EOS_IntegratedPlatformOptionsContainer_Add; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_IntegratedPlatformOptionsContainer_ReleaseDelegate(IntPtr integratedPlatformOptionsContainerHandle); + internal static EOS_IntegratedPlatformOptionsContainer_ReleaseDelegate EOS_IntegratedPlatformOptionsContainer_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedDelegate(IntPtr handle, ref IntegratedPlatform.AddNotifyUserLoginStatusChangedOptionsInternal options, IntPtr clientData, IntegratedPlatform.OnUserLoginStatusChangedCallbackInternal callbackFunction); + internal static EOS_IntegratedPlatform_AddNotifyUserLoginStatusChangedDelegate EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_IntegratedPlatform_ClearUserPreLogoutCallbackDelegate(IntPtr handle, ref IntegratedPlatform.ClearUserPreLogoutCallbackOptionsInternal options); + internal static EOS_IntegratedPlatform_ClearUserPreLogoutCallbackDelegate EOS_IntegratedPlatform_ClearUserPreLogoutCallback; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerDelegate(ref IntegratedPlatform.CreateIntegratedPlatformOptionsContainerOptionsInternal options, out IntPtr outIntegratedPlatformOptionsContainerHandle); + internal static EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainerDelegate EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_IntegratedPlatform_FinalizeDeferredUserLogoutDelegate(IntPtr handle, ref IntegratedPlatform.FinalizeDeferredUserLogoutOptionsInternal options); + internal static EOS_IntegratedPlatform_FinalizeDeferredUserLogoutDelegate EOS_IntegratedPlatform_FinalizeDeferredUserLogout; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChangedDelegate EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_IntegratedPlatform_SetUserLoginStatusDelegate(IntPtr handle, ref IntegratedPlatform.SetUserLoginStatusOptionsInternal options); + internal static EOS_IntegratedPlatform_SetUserLoginStatusDelegate EOS_IntegratedPlatform_SetUserLoginStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_IntegratedPlatform_SetUserPreLogoutCallbackDelegate(IntPtr handle, ref IntegratedPlatform.SetUserPreLogoutCallbackOptionsInternal options, IntPtr clientData, IntegratedPlatform.OnUserPreLogoutCallbackInternal callbackFunction); + internal static EOS_IntegratedPlatform_SetUserPreLogoutCallbackDelegate EOS_IntegratedPlatform_SetUserPreLogoutCallback; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_KWS_AddNotifyPermissionsUpdateReceivedDelegate(IntPtr handle, ref KWS.AddNotifyPermissionsUpdateReceivedOptionsInternal options, IntPtr clientData, KWS.OnPermissionsUpdateReceivedCallbackInternal notificationFn); + internal static EOS_KWS_AddNotifyPermissionsUpdateReceivedDelegate EOS_KWS_AddNotifyPermissionsUpdateReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_KWS_CopyPermissionByIndexDelegate(IntPtr handle, ref KWS.CopyPermissionByIndexOptionsInternal options, out IntPtr outPermission); + internal static EOS_KWS_CopyPermissionByIndexDelegate EOS_KWS_CopyPermissionByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_CreateUserDelegate(IntPtr handle, ref KWS.CreateUserOptionsInternal options, IntPtr clientData, KWS.OnCreateUserCallbackInternal completionDelegate); + internal static EOS_KWS_CreateUserDelegate EOS_KWS_CreateUser; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_KWS_GetPermissionByKeyDelegate(IntPtr handle, ref KWS.GetPermissionByKeyOptionsInternal options, out KWS.KWSPermissionStatus outPermission); + internal static EOS_KWS_GetPermissionByKeyDelegate EOS_KWS_GetPermissionByKey; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_KWS_GetPermissionsCountDelegate(IntPtr handle, ref KWS.GetPermissionsCountOptionsInternal options); + internal static EOS_KWS_GetPermissionsCountDelegate EOS_KWS_GetPermissionsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_PermissionStatus_ReleaseDelegate(IntPtr permissionStatus); + internal static EOS_KWS_PermissionStatus_ReleaseDelegate EOS_KWS_PermissionStatus_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_QueryAgeGateDelegate(IntPtr handle, ref KWS.QueryAgeGateOptionsInternal options, IntPtr clientData, KWS.OnQueryAgeGateCallbackInternal completionDelegate); + internal static EOS_KWS_QueryAgeGateDelegate EOS_KWS_QueryAgeGate; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_QueryPermissionsDelegate(IntPtr handle, ref KWS.QueryPermissionsOptionsInternal options, IntPtr clientData, KWS.OnQueryPermissionsCallbackInternal completionDelegate); + internal static EOS_KWS_QueryPermissionsDelegate EOS_KWS_QueryPermissions; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_RemoveNotifyPermissionsUpdateReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_KWS_RemoveNotifyPermissionsUpdateReceivedDelegate EOS_KWS_RemoveNotifyPermissionsUpdateReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_RequestPermissionsDelegate(IntPtr handle, ref KWS.RequestPermissionsOptionsInternal options, IntPtr clientData, KWS.OnRequestPermissionsCallbackInternal completionDelegate); + internal static EOS_KWS_RequestPermissionsDelegate EOS_KWS_RequestPermissions; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_KWS_UpdateParentEmailDelegate(IntPtr handle, ref KWS.UpdateParentEmailOptionsInternal options, IntPtr clientData, KWS.OnUpdateParentEmailCallbackInternal completionDelegate); + internal static EOS_KWS_UpdateParentEmailDelegate EOS_KWS_UpdateParentEmail; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Leaderboards_CopyLeaderboardDefinitionByIndexDelegate(IntPtr handle, ref Leaderboards.CopyLeaderboardDefinitionByIndexOptionsInternal options, out IntPtr outLeaderboardDefinition); + internal static EOS_Leaderboards_CopyLeaderboardDefinitionByIndexDelegate EOS_Leaderboards_CopyLeaderboardDefinitionByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdDelegate(IntPtr handle, ref Leaderboards.CopyLeaderboardDefinitionByLeaderboardIdOptionsInternal options, out IntPtr outLeaderboardDefinition); + internal static EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardIdDelegate EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Leaderboards_CopyLeaderboardRecordByIndexDelegate(IntPtr handle, ref Leaderboards.CopyLeaderboardRecordByIndexOptionsInternal options, out IntPtr outLeaderboardRecord); + internal static EOS_Leaderboards_CopyLeaderboardRecordByIndexDelegate EOS_Leaderboards_CopyLeaderboardRecordByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Leaderboards_CopyLeaderboardRecordByUserIdDelegate(IntPtr handle, ref Leaderboards.CopyLeaderboardRecordByUserIdOptionsInternal options, out IntPtr outLeaderboardRecord); + internal static EOS_Leaderboards_CopyLeaderboardRecordByUserIdDelegate EOS_Leaderboards_CopyLeaderboardRecordByUserId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Leaderboards_CopyLeaderboardUserScoreByIndexDelegate(IntPtr handle, ref Leaderboards.CopyLeaderboardUserScoreByIndexOptionsInternal options, out IntPtr outLeaderboardUserScore); + internal static EOS_Leaderboards_CopyLeaderboardUserScoreByIndexDelegate EOS_Leaderboards_CopyLeaderboardUserScoreByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdDelegate(IntPtr handle, ref Leaderboards.CopyLeaderboardUserScoreByUserIdOptionsInternal options, out IntPtr outLeaderboardUserScore); + internal static EOS_Leaderboards_CopyLeaderboardUserScoreByUserIdDelegate EOS_Leaderboards_CopyLeaderboardUserScoreByUserId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Leaderboards_Definition_ReleaseDelegate(IntPtr leaderboardDefinition); + internal static EOS_Leaderboards_Definition_ReleaseDelegate EOS_Leaderboards_Definition_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Leaderboards_GetLeaderboardDefinitionCountDelegate(IntPtr handle, ref Leaderboards.GetLeaderboardDefinitionCountOptionsInternal options); + internal static EOS_Leaderboards_GetLeaderboardDefinitionCountDelegate EOS_Leaderboards_GetLeaderboardDefinitionCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Leaderboards_GetLeaderboardRecordCountDelegate(IntPtr handle, ref Leaderboards.GetLeaderboardRecordCountOptionsInternal options); + internal static EOS_Leaderboards_GetLeaderboardRecordCountDelegate EOS_Leaderboards_GetLeaderboardRecordCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Leaderboards_GetLeaderboardUserScoreCountDelegate(IntPtr handle, ref Leaderboards.GetLeaderboardUserScoreCountOptionsInternal options); + internal static EOS_Leaderboards_GetLeaderboardUserScoreCountDelegate EOS_Leaderboards_GetLeaderboardUserScoreCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Leaderboards_LeaderboardRecord_ReleaseDelegate(IntPtr leaderboardRecord); + internal static EOS_Leaderboards_LeaderboardRecord_ReleaseDelegate EOS_Leaderboards_LeaderboardRecord_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Leaderboards_LeaderboardUserScore_ReleaseDelegate(IntPtr leaderboardUserScore); + internal static EOS_Leaderboards_LeaderboardUserScore_ReleaseDelegate EOS_Leaderboards_LeaderboardUserScore_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Leaderboards_QueryLeaderboardDefinitionsDelegate(IntPtr handle, ref Leaderboards.QueryLeaderboardDefinitionsOptionsInternal options, IntPtr clientData, Leaderboards.OnQueryLeaderboardDefinitionsCompleteCallbackInternal completionDelegate); + internal static EOS_Leaderboards_QueryLeaderboardDefinitionsDelegate EOS_Leaderboards_QueryLeaderboardDefinitions; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Leaderboards_QueryLeaderboardRanksDelegate(IntPtr handle, ref Leaderboards.QueryLeaderboardRanksOptionsInternal options, IntPtr clientData, Leaderboards.OnQueryLeaderboardRanksCompleteCallbackInternal completionDelegate); + internal static EOS_Leaderboards_QueryLeaderboardRanksDelegate EOS_Leaderboards_QueryLeaderboardRanks; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Leaderboards_QueryLeaderboardUserScoresDelegate(IntPtr handle, ref Leaderboards.QueryLeaderboardUserScoresOptionsInternal options, IntPtr clientData, Leaderboards.OnQueryLeaderboardUserScoresCompleteCallbackInternal completionDelegate); + internal static EOS_Leaderboards_QueryLeaderboardUserScoresDelegate EOS_Leaderboards_QueryLeaderboardUserScores; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyDetails_CopyAttributeByIndexDelegate(IntPtr handle, ref Lobby.LobbyDetailsCopyAttributeByIndexOptionsInternal options, out IntPtr outAttribute); + internal static EOS_LobbyDetails_CopyAttributeByIndexDelegate EOS_LobbyDetails_CopyAttributeByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyDetails_CopyAttributeByKeyDelegate(IntPtr handle, ref Lobby.LobbyDetailsCopyAttributeByKeyOptionsInternal options, out IntPtr outAttribute); + internal static EOS_LobbyDetails_CopyAttributeByKeyDelegate EOS_LobbyDetails_CopyAttributeByKey; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyDetails_CopyInfoDelegate(IntPtr handle, ref Lobby.LobbyDetailsCopyInfoOptionsInternal options, out IntPtr outLobbyDetailsInfo); + internal static EOS_LobbyDetails_CopyInfoDelegate EOS_LobbyDetails_CopyInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyDetails_CopyMemberAttributeByIndexDelegate(IntPtr handle, ref Lobby.LobbyDetailsCopyMemberAttributeByIndexOptionsInternal options, out IntPtr outAttribute); + internal static EOS_LobbyDetails_CopyMemberAttributeByIndexDelegate EOS_LobbyDetails_CopyMemberAttributeByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyDetails_CopyMemberAttributeByKeyDelegate(IntPtr handle, ref Lobby.LobbyDetailsCopyMemberAttributeByKeyOptionsInternal options, out IntPtr outAttribute); + internal static EOS_LobbyDetails_CopyMemberAttributeByKeyDelegate EOS_LobbyDetails_CopyMemberAttributeByKey; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyDetails_CopyMemberInfoDelegate(IntPtr handle, ref Lobby.LobbyDetailsCopyMemberInfoOptionsInternal options, out IntPtr outLobbyDetailsMemberInfo); + internal static EOS_LobbyDetails_CopyMemberInfoDelegate EOS_LobbyDetails_CopyMemberInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_LobbyDetails_GetAttributeCountDelegate(IntPtr handle, ref Lobby.LobbyDetailsGetAttributeCountOptionsInternal options); + internal static EOS_LobbyDetails_GetAttributeCountDelegate EOS_LobbyDetails_GetAttributeCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_LobbyDetails_GetLobbyOwnerDelegate(IntPtr handle, ref Lobby.LobbyDetailsGetLobbyOwnerOptionsInternal options); + internal static EOS_LobbyDetails_GetLobbyOwnerDelegate EOS_LobbyDetails_GetLobbyOwner; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_LobbyDetails_GetMemberAttributeCountDelegate(IntPtr handle, ref Lobby.LobbyDetailsGetMemberAttributeCountOptionsInternal options); + internal static EOS_LobbyDetails_GetMemberAttributeCountDelegate EOS_LobbyDetails_GetMemberAttributeCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_LobbyDetails_GetMemberByIndexDelegate(IntPtr handle, ref Lobby.LobbyDetailsGetMemberByIndexOptionsInternal options); + internal static EOS_LobbyDetails_GetMemberByIndexDelegate EOS_LobbyDetails_GetMemberByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_LobbyDetails_GetMemberCountDelegate(IntPtr handle, ref Lobby.LobbyDetailsGetMemberCountOptionsInternal options); + internal static EOS_LobbyDetails_GetMemberCountDelegate EOS_LobbyDetails_GetMemberCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_LobbyDetails_Info_ReleaseDelegate(IntPtr lobbyDetailsInfo); + internal static EOS_LobbyDetails_Info_ReleaseDelegate EOS_LobbyDetails_Info_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_LobbyDetails_MemberInfo_ReleaseDelegate(IntPtr lobbyDetailsMemberInfo); + internal static EOS_LobbyDetails_MemberInfo_ReleaseDelegate EOS_LobbyDetails_MemberInfo_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_LobbyDetails_ReleaseDelegate(IntPtr lobbyHandle); + internal static EOS_LobbyDetails_ReleaseDelegate EOS_LobbyDetails_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_AddAttributeDelegate(IntPtr handle, ref Lobby.LobbyModificationAddAttributeOptionsInternal options); + internal static EOS_LobbyModification_AddAttributeDelegate EOS_LobbyModification_AddAttribute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_AddMemberAttributeDelegate(IntPtr handle, ref Lobby.LobbyModificationAddMemberAttributeOptionsInternal options); + internal static EOS_LobbyModification_AddMemberAttributeDelegate EOS_LobbyModification_AddMemberAttribute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_LobbyModification_ReleaseDelegate(IntPtr lobbyModificationHandle); + internal static EOS_LobbyModification_ReleaseDelegate EOS_LobbyModification_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_RemoveAttributeDelegate(IntPtr handle, ref Lobby.LobbyModificationRemoveAttributeOptionsInternal options); + internal static EOS_LobbyModification_RemoveAttributeDelegate EOS_LobbyModification_RemoveAttribute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_RemoveMemberAttributeDelegate(IntPtr handle, ref Lobby.LobbyModificationRemoveMemberAttributeOptionsInternal options); + internal static EOS_LobbyModification_RemoveMemberAttributeDelegate EOS_LobbyModification_RemoveMemberAttribute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_SetAllowedPlatformIdsDelegate(IntPtr handle, ref Lobby.LobbyModificationSetAllowedPlatformIdsOptionsInternal options); + internal static EOS_LobbyModification_SetAllowedPlatformIdsDelegate EOS_LobbyModification_SetAllowedPlatformIds; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_SetBucketIdDelegate(IntPtr handle, ref Lobby.LobbyModificationSetBucketIdOptionsInternal options); + internal static EOS_LobbyModification_SetBucketIdDelegate EOS_LobbyModification_SetBucketId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_SetInvitesAllowedDelegate(IntPtr handle, ref Lobby.LobbyModificationSetInvitesAllowedOptionsInternal options); + internal static EOS_LobbyModification_SetInvitesAllowedDelegate EOS_LobbyModification_SetInvitesAllowed; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_SetMaxMembersDelegate(IntPtr handle, ref Lobby.LobbyModificationSetMaxMembersOptionsInternal options); + internal static EOS_LobbyModification_SetMaxMembersDelegate EOS_LobbyModification_SetMaxMembers; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbyModification_SetPermissionLevelDelegate(IntPtr handle, ref Lobby.LobbyModificationSetPermissionLevelOptionsInternal options); + internal static EOS_LobbyModification_SetPermissionLevelDelegate EOS_LobbyModification_SetPermissionLevel; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbySearch_CopySearchResultByIndexDelegate(IntPtr handle, ref Lobby.LobbySearchCopySearchResultByIndexOptionsInternal options, out IntPtr outLobbyDetailsHandle); + internal static EOS_LobbySearch_CopySearchResultByIndexDelegate EOS_LobbySearch_CopySearchResultByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_LobbySearch_FindDelegate(IntPtr handle, ref Lobby.LobbySearchFindOptionsInternal options, IntPtr clientData, Lobby.LobbySearchOnFindCallbackInternal completionDelegate); + internal static EOS_LobbySearch_FindDelegate EOS_LobbySearch_Find; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_LobbySearch_GetSearchResultCountDelegate(IntPtr handle, ref Lobby.LobbySearchGetSearchResultCountOptionsInternal options); + internal static EOS_LobbySearch_GetSearchResultCountDelegate EOS_LobbySearch_GetSearchResultCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_LobbySearch_ReleaseDelegate(IntPtr lobbySearchHandle); + internal static EOS_LobbySearch_ReleaseDelegate EOS_LobbySearch_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbySearch_RemoveParameterDelegate(IntPtr handle, ref Lobby.LobbySearchRemoveParameterOptionsInternal options); + internal static EOS_LobbySearch_RemoveParameterDelegate EOS_LobbySearch_RemoveParameter; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbySearch_SetLobbyIdDelegate(IntPtr handle, ref Lobby.LobbySearchSetLobbyIdOptionsInternal options); + internal static EOS_LobbySearch_SetLobbyIdDelegate EOS_LobbySearch_SetLobbyId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbySearch_SetMaxResultsDelegate(IntPtr handle, ref Lobby.LobbySearchSetMaxResultsOptionsInternal options); + internal static EOS_LobbySearch_SetMaxResultsDelegate EOS_LobbySearch_SetMaxResults; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbySearch_SetParameterDelegate(IntPtr handle, ref Lobby.LobbySearchSetParameterOptionsInternal options); + internal static EOS_LobbySearch_SetParameterDelegate EOS_LobbySearch_SetParameter; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_LobbySearch_SetTargetUserIdDelegate(IntPtr handle, ref Lobby.LobbySearchSetTargetUserIdOptionsInternal options); + internal static EOS_LobbySearch_SetTargetUserIdDelegate EOS_LobbySearch_SetTargetUserId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyJoinLobbyAcceptedDelegate(IntPtr handle, ref Lobby.AddNotifyJoinLobbyAcceptedOptionsInternal options, IntPtr clientData, Lobby.OnJoinLobbyAcceptedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyJoinLobbyAcceptedDelegate EOS_Lobby_AddNotifyJoinLobbyAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLeaveLobbyRequestedDelegate(IntPtr handle, ref Lobby.AddNotifyLeaveLobbyRequestedOptionsInternal options, IntPtr clientData, Lobby.OnLeaveLobbyRequestedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLeaveLobbyRequestedDelegate EOS_Lobby_AddNotifyLeaveLobbyRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLobbyInviteAcceptedDelegate(IntPtr handle, ref Lobby.AddNotifyLobbyInviteAcceptedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyInviteAcceptedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLobbyInviteAcceptedDelegate EOS_Lobby_AddNotifyLobbyInviteAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLobbyInviteReceivedDelegate(IntPtr handle, ref Lobby.AddNotifyLobbyInviteReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyInviteReceivedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLobbyInviteReceivedDelegate EOS_Lobby_AddNotifyLobbyInviteReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLobbyInviteRejectedDelegate(IntPtr handle, ref Lobby.AddNotifyLobbyInviteRejectedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyInviteRejectedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLobbyInviteRejectedDelegate EOS_Lobby_AddNotifyLobbyInviteRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLobbyMemberStatusReceivedDelegate(IntPtr handle, ref Lobby.AddNotifyLobbyMemberStatusReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyMemberStatusReceivedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLobbyMemberStatusReceivedDelegate EOS_Lobby_AddNotifyLobbyMemberStatusReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedDelegate(IntPtr handle, ref Lobby.AddNotifyLobbyMemberUpdateReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyMemberUpdateReceivedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLobbyMemberUpdateReceivedDelegate EOS_Lobby_AddNotifyLobbyMemberUpdateReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyLobbyUpdateReceivedDelegate(IntPtr handle, ref Lobby.AddNotifyLobbyUpdateReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyUpdateReceivedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyLobbyUpdateReceivedDelegate EOS_Lobby_AddNotifyLobbyUpdateReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifyRTCRoomConnectionChangedDelegate(IntPtr handle, ref Lobby.AddNotifyRTCRoomConnectionChangedOptionsInternal options, IntPtr clientData, Lobby.OnRTCRoomConnectionChangedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifyRTCRoomConnectionChangedDelegate EOS_Lobby_AddNotifyRTCRoomConnectionChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedDelegate(IntPtr handle, ref Lobby.AddNotifySendLobbyNativeInviteRequestedOptionsInternal options, IntPtr clientData, Lobby.OnSendLobbyNativeInviteRequestedCallbackInternal notificationFn); + internal static EOS_Lobby_AddNotifySendLobbyNativeInviteRequestedDelegate EOS_Lobby_AddNotifySendLobbyNativeInviteRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_Attribute_ReleaseDelegate(IntPtr lobbyAttribute); + internal static EOS_Lobby_Attribute_ReleaseDelegate EOS_Lobby_Attribute_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_CopyLobbyDetailsHandleDelegate(IntPtr handle, ref Lobby.CopyLobbyDetailsHandleOptionsInternal options, out IntPtr outLobbyDetailsHandle); + internal static EOS_Lobby_CopyLobbyDetailsHandleDelegate EOS_Lobby_CopyLobbyDetailsHandle; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_CopyLobbyDetailsHandleByInviteIdDelegate(IntPtr handle, ref Lobby.CopyLobbyDetailsHandleByInviteIdOptionsInternal options, out IntPtr outLobbyDetailsHandle); + internal static EOS_Lobby_CopyLobbyDetailsHandleByInviteIdDelegate EOS_Lobby_CopyLobbyDetailsHandleByInviteId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdDelegate(IntPtr handle, ref Lobby.CopyLobbyDetailsHandleByUiEventIdOptionsInternal options, out IntPtr outLobbyDetailsHandle); + internal static EOS_Lobby_CopyLobbyDetailsHandleByUiEventIdDelegate EOS_Lobby_CopyLobbyDetailsHandleByUiEventId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_CreateLobbyDelegate(IntPtr handle, ref Lobby.CreateLobbyOptionsInternal options, IntPtr clientData, Lobby.OnCreateLobbyCallbackInternal completionDelegate); + internal static EOS_Lobby_CreateLobbyDelegate EOS_Lobby_CreateLobby; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_CreateLobbySearchDelegate(IntPtr handle, ref Lobby.CreateLobbySearchOptionsInternal options, out IntPtr outLobbySearchHandle); + internal static EOS_Lobby_CreateLobbySearchDelegate EOS_Lobby_CreateLobbySearch; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_DestroyLobbyDelegate(IntPtr handle, ref Lobby.DestroyLobbyOptionsInternal options, IntPtr clientData, Lobby.OnDestroyLobbyCallbackInternal completionDelegate); + internal static EOS_Lobby_DestroyLobbyDelegate EOS_Lobby_DestroyLobby; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_GetConnectStringDelegate(IntPtr handle, ref Lobby.GetConnectStringOptionsInternal options, IntPtr outBuffer, ref uint inOutBufferLength); + internal static EOS_Lobby_GetConnectStringDelegate EOS_Lobby_GetConnectString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Lobby_GetInviteCountDelegate(IntPtr handle, ref Lobby.GetInviteCountOptionsInternal options); + internal static EOS_Lobby_GetInviteCountDelegate EOS_Lobby_GetInviteCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_GetInviteIdByIndexDelegate(IntPtr handle, ref Lobby.GetInviteIdByIndexOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Lobby_GetInviteIdByIndexDelegate EOS_Lobby_GetInviteIdByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_GetRTCRoomNameDelegate(IntPtr handle, ref Lobby.GetRTCRoomNameOptionsInternal options, IntPtr outBuffer, ref uint inOutBufferLength); + internal static EOS_Lobby_GetRTCRoomNameDelegate EOS_Lobby_GetRTCRoomName; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_HardMuteMemberDelegate(IntPtr handle, ref Lobby.HardMuteMemberOptionsInternal options, IntPtr clientData, Lobby.OnHardMuteMemberCallbackInternal completionDelegate); + internal static EOS_Lobby_HardMuteMemberDelegate EOS_Lobby_HardMuteMember; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_IsRTCRoomConnectedDelegate(IntPtr handle, ref Lobby.IsRTCRoomConnectedOptionsInternal options, out int outIsConnected); + internal static EOS_Lobby_IsRTCRoomConnectedDelegate EOS_Lobby_IsRTCRoomConnected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_JoinLobbyDelegate(IntPtr handle, ref Lobby.JoinLobbyOptionsInternal options, IntPtr clientData, Lobby.OnJoinLobbyCallbackInternal completionDelegate); + internal static EOS_Lobby_JoinLobbyDelegate EOS_Lobby_JoinLobby; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_JoinLobbyByIdDelegate(IntPtr handle, ref Lobby.JoinLobbyByIdOptionsInternal options, IntPtr clientData, Lobby.OnJoinLobbyByIdCallbackInternal completionDelegate); + internal static EOS_Lobby_JoinLobbyByIdDelegate EOS_Lobby_JoinLobbyById; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_JoinRTCRoomDelegate(IntPtr handle, ref Lobby.JoinRTCRoomOptionsInternal options, IntPtr clientData, Lobby.OnJoinRTCRoomCallbackInternal completionDelegate); + internal static EOS_Lobby_JoinRTCRoomDelegate EOS_Lobby_JoinRTCRoom; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_KickMemberDelegate(IntPtr handle, ref Lobby.KickMemberOptionsInternal options, IntPtr clientData, Lobby.OnKickMemberCallbackInternal completionDelegate); + internal static EOS_Lobby_KickMemberDelegate EOS_Lobby_KickMember; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_LeaveLobbyDelegate(IntPtr handle, ref Lobby.LeaveLobbyOptionsInternal options, IntPtr clientData, Lobby.OnLeaveLobbyCallbackInternal completionDelegate); + internal static EOS_Lobby_LeaveLobbyDelegate EOS_Lobby_LeaveLobby; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_LeaveRTCRoomDelegate(IntPtr handle, ref Lobby.LeaveRTCRoomOptionsInternal options, IntPtr clientData, Lobby.OnLeaveRTCRoomCallbackInternal completionDelegate); + internal static EOS_Lobby_LeaveRTCRoomDelegate EOS_Lobby_LeaveRTCRoom; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_ParseConnectStringDelegate(IntPtr handle, ref Lobby.ParseConnectStringOptionsInternal options, IntPtr outBuffer, ref uint inOutBufferLength); + internal static EOS_Lobby_ParseConnectStringDelegate EOS_Lobby_ParseConnectString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_PromoteMemberDelegate(IntPtr handle, ref Lobby.PromoteMemberOptionsInternal options, IntPtr clientData, Lobby.OnPromoteMemberCallbackInternal completionDelegate); + internal static EOS_Lobby_PromoteMemberDelegate EOS_Lobby_PromoteMember; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_QueryInvitesDelegate(IntPtr handle, ref Lobby.QueryInvitesOptionsInternal options, IntPtr clientData, Lobby.OnQueryInvitesCallbackInternal completionDelegate); + internal static EOS_Lobby_QueryInvitesDelegate EOS_Lobby_QueryInvites; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RejectInviteDelegate(IntPtr handle, ref Lobby.RejectInviteOptionsInternal options, IntPtr clientData, Lobby.OnRejectInviteCallbackInternal completionDelegate); + internal static EOS_Lobby_RejectInviteDelegate EOS_Lobby_RejectInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyJoinLobbyAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyJoinLobbyAcceptedDelegate EOS_Lobby_RemoveNotifyJoinLobbyAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLeaveLobbyRequestedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLeaveLobbyRequestedDelegate EOS_Lobby_RemoveNotifyLeaveLobbyRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLobbyInviteAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLobbyInviteAcceptedDelegate EOS_Lobby_RemoveNotifyLobbyInviteAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLobbyInviteReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLobbyInviteReceivedDelegate EOS_Lobby_RemoveNotifyLobbyInviteReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLobbyInviteRejectedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLobbyInviteRejectedDelegate EOS_Lobby_RemoveNotifyLobbyInviteRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLobbyMemberStatusReceivedDelegate EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceivedDelegate EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyLobbyUpdateReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyLobbyUpdateReceivedDelegate EOS_Lobby_RemoveNotifyLobbyUpdateReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifyRTCRoomConnectionChangedDelegate EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedDelegate(IntPtr handle, ulong inId); + internal static EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequestedDelegate EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_SendInviteDelegate(IntPtr handle, ref Lobby.SendInviteOptionsInternal options, IntPtr clientData, Lobby.OnSendInviteCallbackInternal completionDelegate); + internal static EOS_Lobby_SendInviteDelegate EOS_Lobby_SendInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Lobby_UpdateLobbyDelegate(IntPtr handle, ref Lobby.UpdateLobbyOptionsInternal options, IntPtr clientData, Lobby.OnUpdateLobbyCallbackInternal completionDelegate); + internal static EOS_Lobby_UpdateLobbyDelegate EOS_Lobby_UpdateLobby; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Lobby_UpdateLobbyModificationDelegate(IntPtr handle, ref Lobby.UpdateLobbyModificationOptionsInternal options, out IntPtr outLobbyModificationHandle); + internal static EOS_Lobby_UpdateLobbyModificationDelegate EOS_Lobby_UpdateLobbyModification; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Logging_SetCallbackDelegate(Logging.LogMessageFuncInternal callback); + internal static EOS_Logging_SetCallbackDelegate EOS_Logging_SetCallback; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Logging_SetLogLevelDelegate(Logging.LogCategory logCategory, Logging.LogLevel logLevel); + internal static EOS_Logging_SetLogLevelDelegate EOS_Logging_SetLogLevel; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Metrics_BeginPlayerSessionDelegate(IntPtr handle, ref Metrics.BeginPlayerSessionOptionsInternal options); + internal static EOS_Metrics_BeginPlayerSessionDelegate EOS_Metrics_BeginPlayerSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Metrics_EndPlayerSessionDelegate(IntPtr handle, ref Metrics.EndPlayerSessionOptionsInternal options); + internal static EOS_Metrics_EndPlayerSessionDelegate EOS_Metrics_EndPlayerSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Mods_CopyModInfoDelegate(IntPtr handle, ref Mods.CopyModInfoOptionsInternal options, out IntPtr outEnumeratedMods); + internal static EOS_Mods_CopyModInfoDelegate EOS_Mods_CopyModInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Mods_EnumerateModsDelegate(IntPtr handle, ref Mods.EnumerateModsOptionsInternal options, IntPtr clientData, Mods.OnEnumerateModsCallbackInternal completionDelegate); + internal static EOS_Mods_EnumerateModsDelegate EOS_Mods_EnumerateMods; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Mods_InstallModDelegate(IntPtr handle, ref Mods.InstallModOptionsInternal options, IntPtr clientData, Mods.OnInstallModCallbackInternal completionDelegate); + internal static EOS_Mods_InstallModDelegate EOS_Mods_InstallMod; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Mods_ModInfo_ReleaseDelegate(IntPtr modInfo); + internal static EOS_Mods_ModInfo_ReleaseDelegate EOS_Mods_ModInfo_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Mods_UninstallModDelegate(IntPtr handle, ref Mods.UninstallModOptionsInternal options, IntPtr clientData, Mods.OnUninstallModCallbackInternal completionDelegate); + internal static EOS_Mods_UninstallModDelegate EOS_Mods_UninstallMod; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Mods_UpdateModDelegate(IntPtr handle, ref Mods.UpdateModOptionsInternal options, IntPtr clientData, Mods.OnUpdateModCallbackInternal completionDelegate); + internal static EOS_Mods_UpdateModDelegate EOS_Mods_UpdateMod; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_AcceptConnectionDelegate(IntPtr handle, ref P2P.AcceptConnectionOptionsInternal options); + internal static EOS_P2P_AcceptConnectionDelegate EOS_P2P_AcceptConnection; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_P2P_AddNotifyIncomingPacketQueueFullDelegate(IntPtr handle, ref P2P.AddNotifyIncomingPacketQueueFullOptionsInternal options, IntPtr clientData, P2P.OnIncomingPacketQueueFullCallbackInternal incomingPacketQueueFullHandler); + internal static EOS_P2P_AddNotifyIncomingPacketQueueFullDelegate EOS_P2P_AddNotifyIncomingPacketQueueFull; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_P2P_AddNotifyPeerConnectionClosedDelegate(IntPtr handle, ref P2P.AddNotifyPeerConnectionClosedOptionsInternal options, IntPtr clientData, P2P.OnRemoteConnectionClosedCallbackInternal connectionClosedHandler); + internal static EOS_P2P_AddNotifyPeerConnectionClosedDelegate EOS_P2P_AddNotifyPeerConnectionClosed; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_P2P_AddNotifyPeerConnectionEstablishedDelegate(IntPtr handle, ref P2P.AddNotifyPeerConnectionEstablishedOptionsInternal options, IntPtr clientData, P2P.OnPeerConnectionEstablishedCallbackInternal connectionEstablishedHandler); + internal static EOS_P2P_AddNotifyPeerConnectionEstablishedDelegate EOS_P2P_AddNotifyPeerConnectionEstablished; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_P2P_AddNotifyPeerConnectionInterruptedDelegate(IntPtr handle, ref P2P.AddNotifyPeerConnectionInterruptedOptionsInternal options, IntPtr clientData, P2P.OnPeerConnectionInterruptedCallbackInternal connectionInterruptedHandler); + internal static EOS_P2P_AddNotifyPeerConnectionInterruptedDelegate EOS_P2P_AddNotifyPeerConnectionInterrupted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_P2P_AddNotifyPeerConnectionRequestDelegate(IntPtr handle, ref P2P.AddNotifyPeerConnectionRequestOptionsInternal options, IntPtr clientData, P2P.OnIncomingConnectionRequestCallbackInternal connectionRequestHandler); + internal static EOS_P2P_AddNotifyPeerConnectionRequestDelegate EOS_P2P_AddNotifyPeerConnectionRequest; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_ClearPacketQueueDelegate(IntPtr handle, ref P2P.ClearPacketQueueOptionsInternal options); + internal static EOS_P2P_ClearPacketQueueDelegate EOS_P2P_ClearPacketQueue; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_CloseConnectionDelegate(IntPtr handle, ref P2P.CloseConnectionOptionsInternal options); + internal static EOS_P2P_CloseConnectionDelegate EOS_P2P_CloseConnection; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_CloseConnectionsDelegate(IntPtr handle, ref P2P.CloseConnectionsOptionsInternal options); + internal static EOS_P2P_CloseConnectionsDelegate EOS_P2P_CloseConnections; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_GetNATTypeDelegate(IntPtr handle, ref P2P.GetNATTypeOptionsInternal options, out P2P.NATType outNATType); + internal static EOS_P2P_GetNATTypeDelegate EOS_P2P_GetNATType; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_GetNextReceivedPacketSizeDelegate(IntPtr handle, ref P2P.GetNextReceivedPacketSizeOptionsInternal options, out uint outPacketSizeBytes); + internal static EOS_P2P_GetNextReceivedPacketSizeDelegate EOS_P2P_GetNextReceivedPacketSize; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_GetPacketQueueInfoDelegate(IntPtr handle, ref P2P.GetPacketQueueInfoOptionsInternal options, out P2P.PacketQueueInfoInternal outPacketQueueInfo); + internal static EOS_P2P_GetPacketQueueInfoDelegate EOS_P2P_GetPacketQueueInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_GetPortRangeDelegate(IntPtr handle, ref P2P.GetPortRangeOptionsInternal options, out ushort outPort, out ushort outNumAdditionalPortsToTry); + internal static EOS_P2P_GetPortRangeDelegate EOS_P2P_GetPortRange; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_GetRelayControlDelegate(IntPtr handle, ref P2P.GetRelayControlOptionsInternal options, out P2P.RelayControl outRelayControl); + internal static EOS_P2P_GetRelayControlDelegate EOS_P2P_GetRelayControl; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_P2P_QueryNATTypeDelegate(IntPtr handle, ref P2P.QueryNATTypeOptionsInternal options, IntPtr clientData, P2P.OnQueryNATTypeCompleteCallbackInternal completionDelegate); + internal static EOS_P2P_QueryNATTypeDelegate EOS_P2P_QueryNATType; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_ReceivePacketDelegate(IntPtr handle, ref P2P.ReceivePacketOptionsInternal options, out IntPtr outPeerId, IntPtr outSocketId, out byte outChannel, IntPtr outData, out uint outBytesWritten); + internal static EOS_P2P_ReceivePacketDelegate EOS_P2P_ReceivePacket; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_P2P_RemoveNotifyIncomingPacketQueueFullDelegate(IntPtr handle, ulong notificationId); + internal static EOS_P2P_RemoveNotifyIncomingPacketQueueFullDelegate EOS_P2P_RemoveNotifyIncomingPacketQueueFull; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_P2P_RemoveNotifyPeerConnectionClosedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_P2P_RemoveNotifyPeerConnectionClosedDelegate EOS_P2P_RemoveNotifyPeerConnectionClosed; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_P2P_RemoveNotifyPeerConnectionEstablishedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_P2P_RemoveNotifyPeerConnectionEstablishedDelegate EOS_P2P_RemoveNotifyPeerConnectionEstablished; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_P2P_RemoveNotifyPeerConnectionInterruptedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_P2P_RemoveNotifyPeerConnectionInterruptedDelegate EOS_P2P_RemoveNotifyPeerConnectionInterrupted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_P2P_RemoveNotifyPeerConnectionRequestDelegate(IntPtr handle, ulong notificationId); + internal static EOS_P2P_RemoveNotifyPeerConnectionRequestDelegate EOS_P2P_RemoveNotifyPeerConnectionRequest; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_SendPacketDelegate(IntPtr handle, ref P2P.SendPacketOptionsInternal options); + internal static EOS_P2P_SendPacketDelegate EOS_P2P_SendPacket; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_SetPacketQueueSizeDelegate(IntPtr handle, ref P2P.SetPacketQueueSizeOptionsInternal options); + internal static EOS_P2P_SetPacketQueueSizeDelegate EOS_P2P_SetPacketQueueSize; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_SetPortRangeDelegate(IntPtr handle, ref P2P.SetPortRangeOptionsInternal options); + internal static EOS_P2P_SetPortRangeDelegate EOS_P2P_SetPortRange; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_P2P_SetRelayControlDelegate(IntPtr handle, ref P2P.SetRelayControlOptionsInternal options); + internal static EOS_P2P_SetRelayControlDelegate EOS_P2P_SetRelayControl; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_CheckForLauncherAndRestartDelegate(IntPtr handle); + internal static EOS_Platform_CheckForLauncherAndRestartDelegate EOS_Platform_CheckForLauncherAndRestart; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_CreateDelegate(ref Platform.OptionsInternal options); + internal static EOS_Platform_CreateDelegate EOS_Platform_Create; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetAchievementsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetAchievementsInterfaceDelegate EOS_Platform_GetAchievementsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_GetActiveCountryCodeDelegate(IntPtr handle, IntPtr localUserId, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Platform_GetActiveCountryCodeDelegate EOS_Platform_GetActiveCountryCode; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_GetActiveLocaleCodeDelegate(IntPtr handle, IntPtr localUserId, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Platform_GetActiveLocaleCodeDelegate EOS_Platform_GetActiveLocaleCode; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetAntiCheatClientInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetAntiCheatClientInterfaceDelegate EOS_Platform_GetAntiCheatClientInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetAntiCheatServerInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetAntiCheatServerInterfaceDelegate EOS_Platform_GetAntiCheatServerInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Platform.ApplicationStatus EOS_Platform_GetApplicationStatusDelegate(IntPtr handle); + internal static EOS_Platform_GetApplicationStatusDelegate EOS_Platform_GetApplicationStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetAuthInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetAuthInterfaceDelegate EOS_Platform_GetAuthInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetConnectInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetConnectInterfaceDelegate EOS_Platform_GetConnectInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetCustomInvitesInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetCustomInvitesInterfaceDelegate EOS_Platform_GetCustomInvitesInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_GetDesktopCrossplayStatusDelegate(IntPtr handle, ref Platform.GetDesktopCrossplayStatusOptionsInternal options, out Platform.DesktopCrossplayStatusInfoInternal outDesktopCrossplayStatusInfo); + internal static EOS_Platform_GetDesktopCrossplayStatusDelegate EOS_Platform_GetDesktopCrossplayStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetEcomInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetEcomInterfaceDelegate EOS_Platform_GetEcomInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetFriendsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetFriendsInterfaceDelegate EOS_Platform_GetFriendsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetIntegratedPlatformInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetIntegratedPlatformInterfaceDelegate EOS_Platform_GetIntegratedPlatformInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetKWSInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetKWSInterfaceDelegate EOS_Platform_GetKWSInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetLeaderboardsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetLeaderboardsInterfaceDelegate EOS_Platform_GetLeaderboardsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetLobbyInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetLobbyInterfaceDelegate EOS_Platform_GetLobbyInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetMetricsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetMetricsInterfaceDelegate EOS_Platform_GetMetricsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetModsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetModsInterfaceDelegate EOS_Platform_GetModsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Platform.NetworkStatus EOS_Platform_GetNetworkStatusDelegate(IntPtr handle); + internal static EOS_Platform_GetNetworkStatusDelegate EOS_Platform_GetNetworkStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_GetOverrideCountryCodeDelegate(IntPtr handle, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Platform_GetOverrideCountryCodeDelegate EOS_Platform_GetOverrideCountryCode; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_GetOverrideLocaleCodeDelegate(IntPtr handle, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Platform_GetOverrideLocaleCodeDelegate EOS_Platform_GetOverrideLocaleCode; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetP2PInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetP2PInterfaceDelegate EOS_Platform_GetP2PInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetPlayerDataStorageInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetPlayerDataStorageInterfaceDelegate EOS_Platform_GetPlayerDataStorageInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetPresenceInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetPresenceInterfaceDelegate EOS_Platform_GetPresenceInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetProgressionSnapshotInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetProgressionSnapshotInterfaceDelegate EOS_Platform_GetProgressionSnapshotInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetRTCAdminInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetRTCAdminInterfaceDelegate EOS_Platform_GetRTCAdminInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetRTCInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetRTCInterfaceDelegate EOS_Platform_GetRTCInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetReportsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetReportsInterfaceDelegate EOS_Platform_GetReportsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetSanctionsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetSanctionsInterfaceDelegate EOS_Platform_GetSanctionsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetSessionsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetSessionsInterfaceDelegate EOS_Platform_GetSessionsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetStatsInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetStatsInterfaceDelegate EOS_Platform_GetStatsInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetTitleStorageInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetTitleStorageInterfaceDelegate EOS_Platform_GetTitleStorageInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetUIInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetUIInterfaceDelegate EOS_Platform_GetUIInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_Platform_GetUserInfoInterfaceDelegate(IntPtr handle); + internal static EOS_Platform_GetUserInfoInterfaceDelegate EOS_Platform_GetUserInfoInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Platform_ReleaseDelegate(IntPtr handle); + internal static EOS_Platform_ReleaseDelegate EOS_Platform_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_SetApplicationStatusDelegate(IntPtr handle, Platform.ApplicationStatus newStatus); + internal static EOS_Platform_SetApplicationStatusDelegate EOS_Platform_SetApplicationStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_SetNetworkStatusDelegate(IntPtr handle, Platform.NetworkStatus newStatus); + internal static EOS_Platform_SetNetworkStatusDelegate EOS_Platform_SetNetworkStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_SetOverrideCountryCodeDelegate(IntPtr handle, IntPtr newCountryCode); + internal static EOS_Platform_SetOverrideCountryCodeDelegate EOS_Platform_SetOverrideCountryCode; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Platform_SetOverrideLocaleCodeDelegate(IntPtr handle, IntPtr newLocaleCode); + internal static EOS_Platform_SetOverrideLocaleCodeDelegate EOS_Platform_SetOverrideLocaleCode; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Platform_TickDelegate(IntPtr handle); + internal static EOS_Platform_TickDelegate EOS_Platform_Tick; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorageFileTransferRequest_CancelRequestDelegate(IntPtr handle); + internal static EOS_PlayerDataStorageFileTransferRequest_CancelRequestDelegate EOS_PlayerDataStorageFileTransferRequest_CancelRequest; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateDelegate(IntPtr handle); + internal static EOS_PlayerDataStorageFileTransferRequest_GetFileRequestStateDelegate EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorageFileTransferRequest_GetFilenameDelegate(IntPtr handle, uint filenameStringBufferSizeBytes, IntPtr outStringBuffer, out int outStringLength); + internal static EOS_PlayerDataStorageFileTransferRequest_GetFilenameDelegate EOS_PlayerDataStorageFileTransferRequest_GetFilename; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PlayerDataStorageFileTransferRequest_ReleaseDelegate(IntPtr playerDataStorageFileTransferHandle); + internal static EOS_PlayerDataStorageFileTransferRequest_ReleaseDelegate EOS_PlayerDataStorageFileTransferRequest_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorage_CopyFileMetadataAtIndexDelegate(IntPtr handle, ref PlayerDataStorage.CopyFileMetadataAtIndexOptionsInternal copyFileMetadataOptions, out IntPtr outMetadata); + internal static EOS_PlayerDataStorage_CopyFileMetadataAtIndexDelegate EOS_PlayerDataStorage_CopyFileMetadataAtIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorage_CopyFileMetadataByFilenameDelegate(IntPtr handle, ref PlayerDataStorage.CopyFileMetadataByFilenameOptionsInternal copyFileMetadataOptions, out IntPtr outMetadata); + internal static EOS_PlayerDataStorage_CopyFileMetadataByFilenameDelegate EOS_PlayerDataStorage_CopyFileMetadataByFilename; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorage_DeleteCacheDelegate(IntPtr handle, ref PlayerDataStorage.DeleteCacheOptionsInternal options, IntPtr clientData, PlayerDataStorage.OnDeleteCacheCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_DeleteCacheDelegate EOS_PlayerDataStorage_DeleteCache; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PlayerDataStorage_DeleteFileDelegate(IntPtr handle, ref PlayerDataStorage.DeleteFileOptionsInternal deleteOptions, IntPtr clientData, PlayerDataStorage.OnDeleteFileCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_DeleteFileDelegate EOS_PlayerDataStorage_DeleteFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PlayerDataStorage_DuplicateFileDelegate(IntPtr handle, ref PlayerDataStorage.DuplicateFileOptionsInternal duplicateOptions, IntPtr clientData, PlayerDataStorage.OnDuplicateFileCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_DuplicateFileDelegate EOS_PlayerDataStorage_DuplicateFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PlayerDataStorage_FileMetadata_ReleaseDelegate(IntPtr fileMetadata); + internal static EOS_PlayerDataStorage_FileMetadata_ReleaseDelegate EOS_PlayerDataStorage_FileMetadata_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PlayerDataStorage_GetFileMetadataCountDelegate(IntPtr handle, ref PlayerDataStorage.GetFileMetadataCountOptionsInternal getFileMetadataCountOptions, out int outFileMetadataCount); + internal static EOS_PlayerDataStorage_GetFileMetadataCountDelegate EOS_PlayerDataStorage_GetFileMetadataCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PlayerDataStorage_QueryFileDelegate(IntPtr handle, ref PlayerDataStorage.QueryFileOptionsInternal queryFileOptions, IntPtr clientData, PlayerDataStorage.OnQueryFileCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_QueryFileDelegate EOS_PlayerDataStorage_QueryFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PlayerDataStorage_QueryFileListDelegate(IntPtr handle, ref PlayerDataStorage.QueryFileListOptionsInternal queryFileListOptions, IntPtr clientData, PlayerDataStorage.OnQueryFileListCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_QueryFileListDelegate EOS_PlayerDataStorage_QueryFileList; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_PlayerDataStorage_ReadFileDelegate(IntPtr handle, ref PlayerDataStorage.ReadFileOptionsInternal readOptions, IntPtr clientData, PlayerDataStorage.OnReadFileCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_ReadFileDelegate EOS_PlayerDataStorage_ReadFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_PlayerDataStorage_WriteFileDelegate(IntPtr handle, ref PlayerDataStorage.WriteFileOptionsInternal writeOptions, IntPtr clientData, PlayerDataStorage.OnWriteFileCompleteCallbackInternal completionCallback); + internal static EOS_PlayerDataStorage_WriteFileDelegate EOS_PlayerDataStorage_WriteFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_DeleteDataDelegate(IntPtr handle, ref Presence.PresenceModificationDeleteDataOptionsInternal options); + internal static EOS_PresenceModification_DeleteDataDelegate EOS_PresenceModification_DeleteData; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_PresenceModification_ReleaseDelegate(IntPtr presenceModificationHandle); + internal static EOS_PresenceModification_ReleaseDelegate EOS_PresenceModification_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_SetDataDelegate(IntPtr handle, ref Presence.PresenceModificationSetDataOptionsInternal options); + internal static EOS_PresenceModification_SetDataDelegate EOS_PresenceModification_SetData; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_SetJoinInfoDelegate(IntPtr handle, ref Presence.PresenceModificationSetJoinInfoOptionsInternal options); + internal static EOS_PresenceModification_SetJoinInfoDelegate EOS_PresenceModification_SetJoinInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_SetRawRichTextDelegate(IntPtr handle, ref Presence.PresenceModificationSetRawRichTextOptionsInternal options); + internal static EOS_PresenceModification_SetRawRichTextDelegate EOS_PresenceModification_SetRawRichText; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_SetStatusDelegate(IntPtr handle, ref Presence.PresenceModificationSetStatusOptionsInternal options); + internal static EOS_PresenceModification_SetStatusDelegate EOS_PresenceModification_SetStatus; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_SetTemplateDataDelegate(IntPtr handle, ref Presence.PresenceModificationSetTemplateDataOptionsInternal options); + internal static EOS_PresenceModification_SetTemplateDataDelegate EOS_PresenceModification_SetTemplateData; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_PresenceModification_SetTemplateIdDelegate(IntPtr handle, ref Presence.PresenceModificationSetTemplateIdOptionsInternal options); + internal static EOS_PresenceModification_SetTemplateIdDelegate EOS_PresenceModification_SetTemplateId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Presence_AddNotifyJoinGameAcceptedDelegate(IntPtr handle, ref Presence.AddNotifyJoinGameAcceptedOptionsInternal options, IntPtr clientData, Presence.OnJoinGameAcceptedCallbackInternal notificationFn); + internal static EOS_Presence_AddNotifyJoinGameAcceptedDelegate EOS_Presence_AddNotifyJoinGameAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Presence_AddNotifyOnPresenceChangedDelegate(IntPtr handle, ref Presence.AddNotifyOnPresenceChangedOptionsInternal options, IntPtr clientData, Presence.OnPresenceChangedCallbackInternal notificationHandler); + internal static EOS_Presence_AddNotifyOnPresenceChangedDelegate EOS_Presence_AddNotifyOnPresenceChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Presence_CopyPresenceDelegate(IntPtr handle, ref Presence.CopyPresenceOptionsInternal options, out IntPtr outPresence); + internal static EOS_Presence_CopyPresenceDelegate EOS_Presence_CopyPresence; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Presence_CreatePresenceModificationDelegate(IntPtr handle, ref Presence.CreatePresenceModificationOptionsInternal options, out IntPtr outPresenceModificationHandle); + internal static EOS_Presence_CreatePresenceModificationDelegate EOS_Presence_CreatePresenceModification; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Presence_GetJoinInfoDelegate(IntPtr handle, ref Presence.GetJoinInfoOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Presence_GetJoinInfoDelegate EOS_Presence_GetJoinInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_Presence_HasPresenceDelegate(IntPtr handle, ref Presence.HasPresenceOptionsInternal options); + internal static EOS_Presence_HasPresenceDelegate EOS_Presence_HasPresence; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Presence_Info_ReleaseDelegate(IntPtr presenceInfo); + internal static EOS_Presence_Info_ReleaseDelegate EOS_Presence_Info_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Presence_QueryPresenceDelegate(IntPtr handle, ref Presence.QueryPresenceOptionsInternal options, IntPtr clientData, Presence.OnQueryPresenceCompleteCallbackInternal completionDelegate); + internal static EOS_Presence_QueryPresenceDelegate EOS_Presence_QueryPresence; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Presence_RemoveNotifyJoinGameAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_Presence_RemoveNotifyJoinGameAcceptedDelegate EOS_Presence_RemoveNotifyJoinGameAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Presence_RemoveNotifyOnPresenceChangedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_Presence_RemoveNotifyOnPresenceChangedDelegate EOS_Presence_RemoveNotifyOnPresenceChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Presence_SetPresenceDelegate(IntPtr handle, ref Presence.SetPresenceOptionsInternal options, IntPtr clientData, Presence.SetPresenceCompleteCallbackInternal completionDelegate); + internal static EOS_Presence_SetPresenceDelegate EOS_Presence_SetPresence; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_ProductUserId_FromStringDelegate(IntPtr productUserIdString); + internal static EOS_ProductUserId_FromStringDelegate EOS_ProductUserId_FromString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_ProductUserId_IsValidDelegate(IntPtr accountId); + internal static EOS_ProductUserId_IsValidDelegate EOS_ProductUserId_IsValid; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ProductUserId_ToStringDelegate(IntPtr accountId, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_ProductUserId_ToStringDelegate EOS_ProductUserId_ToString; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ProgressionSnapshot_AddProgressionDelegate(IntPtr handle, ref ProgressionSnapshot.AddProgressionOptionsInternal options); + internal static EOS_ProgressionSnapshot_AddProgressionDelegate EOS_ProgressionSnapshot_AddProgression; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ProgressionSnapshot_BeginSnapshotDelegate(IntPtr handle, ref ProgressionSnapshot.BeginSnapshotOptionsInternal options, out uint outSnapshotId); + internal static EOS_ProgressionSnapshot_BeginSnapshotDelegate EOS_ProgressionSnapshot_BeginSnapshot; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_ProgressionSnapshot_DeleteSnapshotDelegate(IntPtr handle, ref ProgressionSnapshot.DeleteSnapshotOptionsInternal options, IntPtr clientData, ProgressionSnapshot.OnDeleteSnapshotCallbackInternal completionDelegate); + internal static EOS_ProgressionSnapshot_DeleteSnapshotDelegate EOS_ProgressionSnapshot_DeleteSnapshot; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ProgressionSnapshot_EndSnapshotDelegate(IntPtr handle, ref ProgressionSnapshot.EndSnapshotOptionsInternal options); + internal static EOS_ProgressionSnapshot_EndSnapshotDelegate EOS_ProgressionSnapshot_EndSnapshot; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_ProgressionSnapshot_SubmitSnapshotDelegate(IntPtr handle, ref ProgressionSnapshot.SubmitSnapshotOptionsInternal options, IntPtr clientData, ProgressionSnapshot.OnSubmitSnapshotCallbackInternal completionDelegate); + internal static EOS_ProgressionSnapshot_SubmitSnapshotDelegate EOS_ProgressionSnapshot_SubmitSnapshot; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAdmin_CopyUserTokenByIndexDelegate(IntPtr handle, ref RTCAdmin.CopyUserTokenByIndexOptionsInternal options, out IntPtr outUserToken); + internal static EOS_RTCAdmin_CopyUserTokenByIndexDelegate EOS_RTCAdmin_CopyUserTokenByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAdmin_CopyUserTokenByUserIdDelegate(IntPtr handle, ref RTCAdmin.CopyUserTokenByUserIdOptionsInternal options, out IntPtr outUserToken); + internal static EOS_RTCAdmin_CopyUserTokenByUserIdDelegate EOS_RTCAdmin_CopyUserTokenByUserId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAdmin_KickDelegate(IntPtr handle, ref RTCAdmin.KickOptionsInternal options, IntPtr clientData, RTCAdmin.OnKickCompleteCallbackInternal completionDelegate); + internal static EOS_RTCAdmin_KickDelegate EOS_RTCAdmin_Kick; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAdmin_QueryJoinRoomTokenDelegate(IntPtr handle, ref RTCAdmin.QueryJoinRoomTokenOptionsInternal options, IntPtr clientData, RTCAdmin.OnQueryJoinRoomTokenCompleteCallbackInternal completionDelegate); + internal static EOS_RTCAdmin_QueryJoinRoomTokenDelegate EOS_RTCAdmin_QueryJoinRoomToken; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAdmin_SetParticipantHardMuteDelegate(IntPtr handle, ref RTCAdmin.SetParticipantHardMuteOptionsInternal options, IntPtr clientData, RTCAdmin.OnSetParticipantHardMuteCompleteCallbackInternal completionDelegate); + internal static EOS_RTCAdmin_SetParticipantHardMuteDelegate EOS_RTCAdmin_SetParticipantHardMute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAdmin_UserToken_ReleaseDelegate(IntPtr userToken); + internal static EOS_RTCAdmin_UserToken_ReleaseDelegate EOS_RTCAdmin_UserToken_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCAudio_AddNotifyAudioBeforeRenderDelegate(IntPtr handle, ref RTCAudio.AddNotifyAudioBeforeRenderOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioBeforeRenderCallbackInternal completionDelegate); + internal static EOS_RTCAudio_AddNotifyAudioBeforeRenderDelegate EOS_RTCAudio_AddNotifyAudioBeforeRender; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCAudio_AddNotifyAudioBeforeSendDelegate(IntPtr handle, ref RTCAudio.AddNotifyAudioBeforeSendOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioBeforeSendCallbackInternal completionDelegate); + internal static EOS_RTCAudio_AddNotifyAudioBeforeSendDelegate EOS_RTCAudio_AddNotifyAudioBeforeSend; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCAudio_AddNotifyAudioDevicesChangedDelegate(IntPtr handle, ref RTCAudio.AddNotifyAudioDevicesChangedOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioDevicesChangedCallbackInternal completionDelegate); + internal static EOS_RTCAudio_AddNotifyAudioDevicesChangedDelegate EOS_RTCAudio_AddNotifyAudioDevicesChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCAudio_AddNotifyAudioInputStateDelegate(IntPtr handle, ref RTCAudio.AddNotifyAudioInputStateOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioInputStateCallbackInternal completionDelegate); + internal static EOS_RTCAudio_AddNotifyAudioInputStateDelegate EOS_RTCAudio_AddNotifyAudioInputState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCAudio_AddNotifyAudioOutputStateDelegate(IntPtr handle, ref RTCAudio.AddNotifyAudioOutputStateOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioOutputStateCallbackInternal completionDelegate); + internal static EOS_RTCAudio_AddNotifyAudioOutputStateDelegate EOS_RTCAudio_AddNotifyAudioOutputState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCAudio_AddNotifyParticipantUpdatedDelegate(IntPtr handle, ref RTCAudio.AddNotifyParticipantUpdatedOptionsInternal options, IntPtr clientData, RTCAudio.OnParticipantUpdatedCallbackInternal completionDelegate); + internal static EOS_RTCAudio_AddNotifyParticipantUpdatedDelegate EOS_RTCAudio_AddNotifyParticipantUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_CopyInputDeviceInformationByIndexDelegate(IntPtr handle, ref RTCAudio.CopyInputDeviceInformationByIndexOptionsInternal options, out IntPtr outInputDeviceInformation); + internal static EOS_RTCAudio_CopyInputDeviceInformationByIndexDelegate EOS_RTCAudio_CopyInputDeviceInformationByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_CopyOutputDeviceInformationByIndexDelegate(IntPtr handle, ref RTCAudio.CopyOutputDeviceInformationByIndexOptionsInternal options, out IntPtr outOutputDeviceInformation); + internal static EOS_RTCAudio_CopyOutputDeviceInformationByIndexDelegate EOS_RTCAudio_CopyOutputDeviceInformationByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_RTCAudio_GetAudioInputDeviceByIndexDelegate(IntPtr handle, ref RTCAudio.GetAudioInputDeviceByIndexOptionsInternal options); + internal static EOS_RTCAudio_GetAudioInputDeviceByIndexDelegate EOS_RTCAudio_GetAudioInputDeviceByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_RTCAudio_GetAudioInputDevicesCountDelegate(IntPtr handle, ref RTCAudio.GetAudioInputDevicesCountOptionsInternal options); + internal static EOS_RTCAudio_GetAudioInputDevicesCountDelegate EOS_RTCAudio_GetAudioInputDevicesCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_RTCAudio_GetAudioOutputDeviceByIndexDelegate(IntPtr handle, ref RTCAudio.GetAudioOutputDeviceByIndexOptionsInternal options); + internal static EOS_RTCAudio_GetAudioOutputDeviceByIndexDelegate EOS_RTCAudio_GetAudioOutputDeviceByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_RTCAudio_GetAudioOutputDevicesCountDelegate(IntPtr handle, ref RTCAudio.GetAudioOutputDevicesCountOptionsInternal options); + internal static EOS_RTCAudio_GetAudioOutputDevicesCountDelegate EOS_RTCAudio_GetAudioOutputDevicesCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_RTCAudio_GetInputDevicesCountDelegate(IntPtr handle, ref RTCAudio.GetInputDevicesCountOptionsInternal options); + internal static EOS_RTCAudio_GetInputDevicesCountDelegate EOS_RTCAudio_GetInputDevicesCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_RTCAudio_GetOutputDevicesCountDelegate(IntPtr handle, ref RTCAudio.GetOutputDevicesCountOptionsInternal options); + internal static EOS_RTCAudio_GetOutputDevicesCountDelegate EOS_RTCAudio_GetOutputDevicesCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_InputDeviceInformation_ReleaseDelegate(IntPtr deviceInformation); + internal static EOS_RTCAudio_InputDeviceInformation_ReleaseDelegate EOS_RTCAudio_InputDeviceInformation_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_OutputDeviceInformation_ReleaseDelegate(IntPtr deviceInformation); + internal static EOS_RTCAudio_OutputDeviceInformation_ReleaseDelegate EOS_RTCAudio_OutputDeviceInformation_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_QueryInputDevicesInformationDelegate(IntPtr handle, ref RTCAudio.QueryInputDevicesInformationOptionsInternal options, IntPtr clientData, RTCAudio.OnQueryInputDevicesInformationCallbackInternal completionDelegate); + internal static EOS_RTCAudio_QueryInputDevicesInformationDelegate EOS_RTCAudio_QueryInputDevicesInformation; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_QueryOutputDevicesInformationDelegate(IntPtr handle, ref RTCAudio.QueryOutputDevicesInformationOptionsInternal options, IntPtr clientData, RTCAudio.OnQueryOutputDevicesInformationCallbackInternal completionDelegate); + internal static EOS_RTCAudio_QueryOutputDevicesInformationDelegate EOS_RTCAudio_QueryOutputDevicesInformation; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_RegisterPlatformAudioUserDelegate(IntPtr handle, ref RTCAudio.RegisterPlatformAudioUserOptionsInternal options); + internal static EOS_RTCAudio_RegisterPlatformAudioUserDelegate EOS_RTCAudio_RegisterPlatformAudioUser; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RegisterPlatformUserDelegate(IntPtr handle, ref RTCAudio.RegisterPlatformUserOptionsInternal options, IntPtr clientData, RTCAudio.OnRegisterPlatformUserCallbackInternal completionDelegate); + internal static EOS_RTCAudio_RegisterPlatformUserDelegate EOS_RTCAudio_RegisterPlatformUser; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RemoveNotifyAudioBeforeRenderDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCAudio_RemoveNotifyAudioBeforeRenderDelegate EOS_RTCAudio_RemoveNotifyAudioBeforeRender; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RemoveNotifyAudioBeforeSendDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCAudio_RemoveNotifyAudioBeforeSendDelegate EOS_RTCAudio_RemoveNotifyAudioBeforeSend; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RemoveNotifyAudioDevicesChangedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCAudio_RemoveNotifyAudioDevicesChangedDelegate EOS_RTCAudio_RemoveNotifyAudioDevicesChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RemoveNotifyAudioInputStateDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCAudio_RemoveNotifyAudioInputStateDelegate EOS_RTCAudio_RemoveNotifyAudioInputState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RemoveNotifyAudioOutputStateDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCAudio_RemoveNotifyAudioOutputStateDelegate EOS_RTCAudio_RemoveNotifyAudioOutputState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_RemoveNotifyParticipantUpdatedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCAudio_RemoveNotifyParticipantUpdatedDelegate EOS_RTCAudio_RemoveNotifyParticipantUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_SendAudioDelegate(IntPtr handle, ref RTCAudio.SendAudioOptionsInternal options); + internal static EOS_RTCAudio_SendAudioDelegate EOS_RTCAudio_SendAudio; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_SetAudioInputSettingsDelegate(IntPtr handle, ref RTCAudio.SetAudioInputSettingsOptionsInternal options); + internal static EOS_RTCAudio_SetAudioInputSettingsDelegate EOS_RTCAudio_SetAudioInputSettings; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_SetAudioOutputSettingsDelegate(IntPtr handle, ref RTCAudio.SetAudioOutputSettingsOptionsInternal options); + internal static EOS_RTCAudio_SetAudioOutputSettingsDelegate EOS_RTCAudio_SetAudioOutputSettings; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_SetInputDeviceSettingsDelegate(IntPtr handle, ref RTCAudio.SetInputDeviceSettingsOptionsInternal options, IntPtr clientData, RTCAudio.OnSetInputDeviceSettingsCallbackInternal completionDelegate); + internal static EOS_RTCAudio_SetInputDeviceSettingsDelegate EOS_RTCAudio_SetInputDeviceSettings; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_SetOutputDeviceSettingsDelegate(IntPtr handle, ref RTCAudio.SetOutputDeviceSettingsOptionsInternal options, IntPtr clientData, RTCAudio.OnSetOutputDeviceSettingsCallbackInternal completionDelegate); + internal static EOS_RTCAudio_SetOutputDeviceSettingsDelegate EOS_RTCAudio_SetOutputDeviceSettings; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCAudio_UnregisterPlatformAudioUserDelegate(IntPtr handle, ref RTCAudio.UnregisterPlatformAudioUserOptionsInternal options); + internal static EOS_RTCAudio_UnregisterPlatformAudioUserDelegate EOS_RTCAudio_UnregisterPlatformAudioUser; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_UnregisterPlatformUserDelegate(IntPtr handle, ref RTCAudio.UnregisterPlatformUserOptionsInternal options, IntPtr clientData, RTCAudio.OnUnregisterPlatformUserCallbackInternal completionDelegate); + internal static EOS_RTCAudio_UnregisterPlatformUserDelegate EOS_RTCAudio_UnregisterPlatformUser; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_UpdateParticipantVolumeDelegate(IntPtr handle, ref RTCAudio.UpdateParticipantVolumeOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateParticipantVolumeCallbackInternal completionDelegate); + internal static EOS_RTCAudio_UpdateParticipantVolumeDelegate EOS_RTCAudio_UpdateParticipantVolume; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_UpdateReceivingDelegate(IntPtr handle, ref RTCAudio.UpdateReceivingOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateReceivingCallbackInternal completionDelegate); + internal static EOS_RTCAudio_UpdateReceivingDelegate EOS_RTCAudio_UpdateReceiving; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_UpdateReceivingVolumeDelegate(IntPtr handle, ref RTCAudio.UpdateReceivingVolumeOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateReceivingVolumeCallbackInternal completionDelegate); + internal static EOS_RTCAudio_UpdateReceivingVolumeDelegate EOS_RTCAudio_UpdateReceivingVolume; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_UpdateSendingDelegate(IntPtr handle, ref RTCAudio.UpdateSendingOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateSendingCallbackInternal completionDelegate); + internal static EOS_RTCAudio_UpdateSendingDelegate EOS_RTCAudio_UpdateSending; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCAudio_UpdateSendingVolumeDelegate(IntPtr handle, ref RTCAudio.UpdateSendingVolumeOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateSendingVolumeCallbackInternal completionDelegate); + internal static EOS_RTCAudio_UpdateSendingVolumeDelegate EOS_RTCAudio_UpdateSendingVolume; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCData_AddNotifyDataReceivedDelegate(IntPtr handle, ref RTCData.AddNotifyDataReceivedOptionsInternal options, IntPtr clientData, RTCData.OnDataReceivedCallbackInternal completionDelegate); + internal static EOS_RTCData_AddNotifyDataReceivedDelegate EOS_RTCData_AddNotifyDataReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTCData_AddNotifyParticipantUpdatedDelegate(IntPtr handle, ref RTCData.AddNotifyParticipantUpdatedOptionsInternal options, IntPtr clientData, RTCData.OnParticipantUpdatedCallbackInternal completionDelegate); + internal static EOS_RTCData_AddNotifyParticipantUpdatedDelegate EOS_RTCData_AddNotifyParticipantUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCData_RemoveNotifyDataReceivedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCData_RemoveNotifyDataReceivedDelegate EOS_RTCData_RemoveNotifyDataReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCData_RemoveNotifyParticipantUpdatedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTCData_RemoveNotifyParticipantUpdatedDelegate EOS_RTCData_RemoveNotifyParticipantUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTCData_SendDataDelegate(IntPtr handle, ref RTCData.SendDataOptionsInternal options); + internal static EOS_RTCData_SendDataDelegate EOS_RTCData_SendData; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCData_UpdateReceivingDelegate(IntPtr handle, ref RTCData.UpdateReceivingOptionsInternal options, IntPtr clientData, RTCData.OnUpdateReceivingCallbackInternal completionDelegate); + internal static EOS_RTCData_UpdateReceivingDelegate EOS_RTCData_UpdateReceiving; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTCData_UpdateSendingDelegate(IntPtr handle, ref RTCData.UpdateSendingOptionsInternal options, IntPtr clientData, RTCData.OnUpdateSendingCallbackInternal completionDelegate); + internal static EOS_RTCData_UpdateSendingDelegate EOS_RTCData_UpdateSending; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTC_AddNotifyDisconnectedDelegate(IntPtr handle, ref RTC.AddNotifyDisconnectedOptionsInternal options, IntPtr clientData, RTC.OnDisconnectedCallbackInternal completionDelegate); + internal static EOS_RTC_AddNotifyDisconnectedDelegate EOS_RTC_AddNotifyDisconnected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTC_AddNotifyParticipantStatusChangedDelegate(IntPtr handle, ref RTC.AddNotifyParticipantStatusChangedOptionsInternal options, IntPtr clientData, RTC.OnParticipantStatusChangedCallbackInternal completionDelegate); + internal static EOS_RTC_AddNotifyParticipantStatusChangedDelegate EOS_RTC_AddNotifyParticipantStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTC_AddNotifyRoomBeforeJoinDelegate(IntPtr handle, ref RTC.AddNotifyRoomBeforeJoinOptionsInternal options, IntPtr clientData, RTC.OnRoomBeforeJoinCallbackInternal completionDelegate); + internal static EOS_RTC_AddNotifyRoomBeforeJoinDelegate EOS_RTC_AddNotifyRoomBeforeJoin; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_RTC_AddNotifyRoomStatisticsUpdatedDelegate(IntPtr handle, ref RTC.AddNotifyRoomStatisticsUpdatedOptionsInternal options, IntPtr clientData, RTC.OnRoomStatisticsUpdatedCallbackInternal completionDelegate); + internal static EOS_RTC_AddNotifyRoomStatisticsUpdatedDelegate EOS_RTC_AddNotifyRoomStatisticsUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_BlockParticipantDelegate(IntPtr handle, ref RTC.BlockParticipantOptionsInternal options, IntPtr clientData, RTC.OnBlockParticipantCallbackInternal completionDelegate); + internal static EOS_RTC_BlockParticipantDelegate EOS_RTC_BlockParticipant; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_RTC_GetAudioInterfaceDelegate(IntPtr handle); + internal static EOS_RTC_GetAudioInterfaceDelegate EOS_RTC_GetAudioInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_RTC_GetDataInterfaceDelegate(IntPtr handle); + internal static EOS_RTC_GetDataInterfaceDelegate EOS_RTC_GetDataInterface; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_JoinRoomDelegate(IntPtr handle, ref RTC.JoinRoomOptionsInternal options, IntPtr clientData, RTC.OnJoinRoomCallbackInternal completionDelegate); + internal static EOS_RTC_JoinRoomDelegate EOS_RTC_JoinRoom; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_LeaveRoomDelegate(IntPtr handle, ref RTC.LeaveRoomOptionsInternal options, IntPtr clientData, RTC.OnLeaveRoomCallbackInternal completionDelegate); + internal static EOS_RTC_LeaveRoomDelegate EOS_RTC_LeaveRoom; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_RemoveNotifyDisconnectedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTC_RemoveNotifyDisconnectedDelegate EOS_RTC_RemoveNotifyDisconnected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_RemoveNotifyParticipantStatusChangedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTC_RemoveNotifyParticipantStatusChangedDelegate EOS_RTC_RemoveNotifyParticipantStatusChanged; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_RemoveNotifyRoomBeforeJoinDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTC_RemoveNotifyRoomBeforeJoinDelegate EOS_RTC_RemoveNotifyRoomBeforeJoin; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_RTC_RemoveNotifyRoomStatisticsUpdatedDelegate(IntPtr handle, ulong notificationId); + internal static EOS_RTC_RemoveNotifyRoomStatisticsUpdatedDelegate EOS_RTC_RemoveNotifyRoomStatisticsUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTC_SetRoomSettingDelegate(IntPtr handle, ref RTC.SetRoomSettingOptionsInternal options); + internal static EOS_RTC_SetRoomSettingDelegate EOS_RTC_SetRoomSetting; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_RTC_SetSettingDelegate(IntPtr handle, ref RTC.SetSettingOptionsInternal options); + internal static EOS_RTC_SetSettingDelegate EOS_RTC_SetSetting; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Reports_SendPlayerBehaviorReportDelegate(IntPtr handle, ref Reports.SendPlayerBehaviorReportOptionsInternal options, IntPtr clientData, Reports.OnSendPlayerBehaviorReportCompleteCallbackInternal completionDelegate); + internal static EOS_Reports_SendPlayerBehaviorReportDelegate EOS_Reports_SendPlayerBehaviorReport; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sanctions_CopyPlayerSanctionByIndexDelegate(IntPtr handle, ref Sanctions.CopyPlayerSanctionByIndexOptionsInternal options, out IntPtr outSanction); + internal static EOS_Sanctions_CopyPlayerSanctionByIndexDelegate EOS_Sanctions_CopyPlayerSanctionByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sanctions_CreatePlayerSanctionAppealDelegate(IntPtr handle, ref Sanctions.CreatePlayerSanctionAppealOptionsInternal options, IntPtr clientData, Sanctions.CreatePlayerSanctionAppealCallbackInternal completionDelegate); + internal static EOS_Sanctions_CreatePlayerSanctionAppealDelegate EOS_Sanctions_CreatePlayerSanctionAppeal; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Sanctions_GetPlayerSanctionCountDelegate(IntPtr handle, ref Sanctions.GetPlayerSanctionCountOptionsInternal options); + internal static EOS_Sanctions_GetPlayerSanctionCountDelegate EOS_Sanctions_GetPlayerSanctionCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sanctions_PlayerSanction_ReleaseDelegate(IntPtr sanction); + internal static EOS_Sanctions_PlayerSanction_ReleaseDelegate EOS_Sanctions_PlayerSanction_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sanctions_QueryActivePlayerSanctionsDelegate(IntPtr handle, ref Sanctions.QueryActivePlayerSanctionsOptionsInternal options, IntPtr clientData, Sanctions.OnQueryActivePlayerSanctionsCallbackInternal completionDelegate); + internal static EOS_Sanctions_QueryActivePlayerSanctionsDelegate EOS_Sanctions_QueryActivePlayerSanctions; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_SessionDetails_Attribute_ReleaseDelegate(IntPtr sessionAttribute); + internal static EOS_SessionDetails_Attribute_ReleaseDelegate EOS_SessionDetails_Attribute_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionDetails_CopyInfoDelegate(IntPtr handle, ref Sessions.SessionDetailsCopyInfoOptionsInternal options, out IntPtr outSessionInfo); + internal static EOS_SessionDetails_CopyInfoDelegate EOS_SessionDetails_CopyInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionDetails_CopySessionAttributeByIndexDelegate(IntPtr handle, ref Sessions.SessionDetailsCopySessionAttributeByIndexOptionsInternal options, out IntPtr outSessionAttribute); + internal static EOS_SessionDetails_CopySessionAttributeByIndexDelegate EOS_SessionDetails_CopySessionAttributeByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionDetails_CopySessionAttributeByKeyDelegate(IntPtr handle, ref Sessions.SessionDetailsCopySessionAttributeByKeyOptionsInternal options, out IntPtr outSessionAttribute); + internal static EOS_SessionDetails_CopySessionAttributeByKeyDelegate EOS_SessionDetails_CopySessionAttributeByKey; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_SessionDetails_GetSessionAttributeCountDelegate(IntPtr handle, ref Sessions.SessionDetailsGetSessionAttributeCountOptionsInternal options); + internal static EOS_SessionDetails_GetSessionAttributeCountDelegate EOS_SessionDetails_GetSessionAttributeCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_SessionDetails_Info_ReleaseDelegate(IntPtr sessionInfo); + internal static EOS_SessionDetails_Info_ReleaseDelegate EOS_SessionDetails_Info_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_SessionDetails_ReleaseDelegate(IntPtr sessionHandle); + internal static EOS_SessionDetails_ReleaseDelegate EOS_SessionDetails_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_AddAttributeDelegate(IntPtr handle, ref Sessions.SessionModificationAddAttributeOptionsInternal options); + internal static EOS_SessionModification_AddAttributeDelegate EOS_SessionModification_AddAttribute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_SessionModification_ReleaseDelegate(IntPtr sessionModificationHandle); + internal static EOS_SessionModification_ReleaseDelegate EOS_SessionModification_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_RemoveAttributeDelegate(IntPtr handle, ref Sessions.SessionModificationRemoveAttributeOptionsInternal options); + internal static EOS_SessionModification_RemoveAttributeDelegate EOS_SessionModification_RemoveAttribute; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetAllowedPlatformIdsDelegate(IntPtr handle, ref Sessions.SessionModificationSetAllowedPlatformIdsOptionsInternal options); + internal static EOS_SessionModification_SetAllowedPlatformIdsDelegate EOS_SessionModification_SetAllowedPlatformIds; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetBucketIdDelegate(IntPtr handle, ref Sessions.SessionModificationSetBucketIdOptionsInternal options); + internal static EOS_SessionModification_SetBucketIdDelegate EOS_SessionModification_SetBucketId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetHostAddressDelegate(IntPtr handle, ref Sessions.SessionModificationSetHostAddressOptionsInternal options); + internal static EOS_SessionModification_SetHostAddressDelegate EOS_SessionModification_SetHostAddress; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetInvitesAllowedDelegate(IntPtr handle, ref Sessions.SessionModificationSetInvitesAllowedOptionsInternal options); + internal static EOS_SessionModification_SetInvitesAllowedDelegate EOS_SessionModification_SetInvitesAllowed; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetJoinInProgressAllowedDelegate(IntPtr handle, ref Sessions.SessionModificationSetJoinInProgressAllowedOptionsInternal options); + internal static EOS_SessionModification_SetJoinInProgressAllowedDelegate EOS_SessionModification_SetJoinInProgressAllowed; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetMaxPlayersDelegate(IntPtr handle, ref Sessions.SessionModificationSetMaxPlayersOptionsInternal options); + internal static EOS_SessionModification_SetMaxPlayersDelegate EOS_SessionModification_SetMaxPlayers; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionModification_SetPermissionLevelDelegate(IntPtr handle, ref Sessions.SessionModificationSetPermissionLevelOptionsInternal options); + internal static EOS_SessionModification_SetPermissionLevelDelegate EOS_SessionModification_SetPermissionLevel; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionSearch_CopySearchResultByIndexDelegate(IntPtr handle, ref Sessions.SessionSearchCopySearchResultByIndexOptionsInternal options, out IntPtr outSessionHandle); + internal static EOS_SessionSearch_CopySearchResultByIndexDelegate EOS_SessionSearch_CopySearchResultByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_SessionSearch_FindDelegate(IntPtr handle, ref Sessions.SessionSearchFindOptionsInternal options, IntPtr clientData, Sessions.SessionSearchOnFindCallbackInternal completionDelegate); + internal static EOS_SessionSearch_FindDelegate EOS_SessionSearch_Find; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_SessionSearch_GetSearchResultCountDelegate(IntPtr handle, ref Sessions.SessionSearchGetSearchResultCountOptionsInternal options); + internal static EOS_SessionSearch_GetSearchResultCountDelegate EOS_SessionSearch_GetSearchResultCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_SessionSearch_ReleaseDelegate(IntPtr sessionSearchHandle); + internal static EOS_SessionSearch_ReleaseDelegate EOS_SessionSearch_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionSearch_RemoveParameterDelegate(IntPtr handle, ref Sessions.SessionSearchRemoveParameterOptionsInternal options); + internal static EOS_SessionSearch_RemoveParameterDelegate EOS_SessionSearch_RemoveParameter; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionSearch_SetMaxResultsDelegate(IntPtr handle, ref Sessions.SessionSearchSetMaxResultsOptionsInternal options); + internal static EOS_SessionSearch_SetMaxResultsDelegate EOS_SessionSearch_SetMaxResults; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionSearch_SetParameterDelegate(IntPtr handle, ref Sessions.SessionSearchSetParameterOptionsInternal options); + internal static EOS_SessionSearch_SetParameterDelegate EOS_SessionSearch_SetParameter; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionSearch_SetSessionIdDelegate(IntPtr handle, ref Sessions.SessionSearchSetSessionIdOptionsInternal options); + internal static EOS_SessionSearch_SetSessionIdDelegate EOS_SessionSearch_SetSessionId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_SessionSearch_SetTargetUserIdDelegate(IntPtr handle, ref Sessions.SessionSearchSetTargetUserIdOptionsInternal options); + internal static EOS_SessionSearch_SetTargetUserIdDelegate EOS_SessionSearch_SetTargetUserId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Sessions_AddNotifyJoinSessionAcceptedDelegate(IntPtr handle, ref Sessions.AddNotifyJoinSessionAcceptedOptionsInternal options, IntPtr clientData, Sessions.OnJoinSessionAcceptedCallbackInternal notificationFn); + internal static EOS_Sessions_AddNotifyJoinSessionAcceptedDelegate EOS_Sessions_AddNotifyJoinSessionAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Sessions_AddNotifyLeaveSessionRequestedDelegate(IntPtr handle, ref Sessions.AddNotifyLeaveSessionRequestedOptionsInternal options, IntPtr clientData, Sessions.OnLeaveSessionRequestedCallbackInternal notificationFn); + internal static EOS_Sessions_AddNotifyLeaveSessionRequestedDelegate EOS_Sessions_AddNotifyLeaveSessionRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Sessions_AddNotifySendSessionNativeInviteRequestedDelegate(IntPtr handle, ref Sessions.AddNotifySendSessionNativeInviteRequestedOptionsInternal options, IntPtr clientData, Sessions.OnSendSessionNativeInviteRequestedCallbackInternal notificationFn); + internal static EOS_Sessions_AddNotifySendSessionNativeInviteRequestedDelegate EOS_Sessions_AddNotifySendSessionNativeInviteRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Sessions_AddNotifySessionInviteAcceptedDelegate(IntPtr handle, ref Sessions.AddNotifySessionInviteAcceptedOptionsInternal options, IntPtr clientData, Sessions.OnSessionInviteAcceptedCallbackInternal notificationFn); + internal static EOS_Sessions_AddNotifySessionInviteAcceptedDelegate EOS_Sessions_AddNotifySessionInviteAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Sessions_AddNotifySessionInviteReceivedDelegate(IntPtr handle, ref Sessions.AddNotifySessionInviteReceivedOptionsInternal options, IntPtr clientData, Sessions.OnSessionInviteReceivedCallbackInternal notificationFn); + internal static EOS_Sessions_AddNotifySessionInviteReceivedDelegate EOS_Sessions_AddNotifySessionInviteReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_Sessions_AddNotifySessionInviteRejectedDelegate(IntPtr handle, ref Sessions.AddNotifySessionInviteRejectedOptionsInternal options, IntPtr clientData, Sessions.OnSessionInviteRejectedCallbackInternal notificationFn); + internal static EOS_Sessions_AddNotifySessionInviteRejectedDelegate EOS_Sessions_AddNotifySessionInviteRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_CopyActiveSessionHandleDelegate(IntPtr handle, ref Sessions.CopyActiveSessionHandleOptionsInternal options, out IntPtr outSessionHandle); + internal static EOS_Sessions_CopyActiveSessionHandleDelegate EOS_Sessions_CopyActiveSessionHandle; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_CopySessionHandleByInviteIdDelegate(IntPtr handle, ref Sessions.CopySessionHandleByInviteIdOptionsInternal options, out IntPtr outSessionHandle); + internal static EOS_Sessions_CopySessionHandleByInviteIdDelegate EOS_Sessions_CopySessionHandleByInviteId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_CopySessionHandleByUiEventIdDelegate(IntPtr handle, ref Sessions.CopySessionHandleByUiEventIdOptionsInternal options, out IntPtr outSessionHandle); + internal static EOS_Sessions_CopySessionHandleByUiEventIdDelegate EOS_Sessions_CopySessionHandleByUiEventId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_CopySessionHandleForPresenceDelegate(IntPtr handle, ref Sessions.CopySessionHandleForPresenceOptionsInternal options, out IntPtr outSessionHandle); + internal static EOS_Sessions_CopySessionHandleForPresenceDelegate EOS_Sessions_CopySessionHandleForPresence; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_CreateSessionModificationDelegate(IntPtr handle, ref Sessions.CreateSessionModificationOptionsInternal options, out IntPtr outSessionModificationHandle); + internal static EOS_Sessions_CreateSessionModificationDelegate EOS_Sessions_CreateSessionModification; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_CreateSessionSearchDelegate(IntPtr handle, ref Sessions.CreateSessionSearchOptionsInternal options, out IntPtr outSessionSearchHandle); + internal static EOS_Sessions_CreateSessionSearchDelegate EOS_Sessions_CreateSessionSearch; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_DestroySessionDelegate(IntPtr handle, ref Sessions.DestroySessionOptionsInternal options, IntPtr clientData, Sessions.OnDestroySessionCallbackInternal completionDelegate); + internal static EOS_Sessions_DestroySessionDelegate EOS_Sessions_DestroySession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_DumpSessionStateDelegate(IntPtr handle, ref Sessions.DumpSessionStateOptionsInternal options); + internal static EOS_Sessions_DumpSessionStateDelegate EOS_Sessions_DumpSessionState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_EndSessionDelegate(IntPtr handle, ref Sessions.EndSessionOptionsInternal options, IntPtr clientData, Sessions.OnEndSessionCallbackInternal completionDelegate); + internal static EOS_Sessions_EndSessionDelegate EOS_Sessions_EndSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Sessions_GetInviteCountDelegate(IntPtr handle, ref Sessions.GetInviteCountOptionsInternal options); + internal static EOS_Sessions_GetInviteCountDelegate EOS_Sessions_GetInviteCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_GetInviteIdByIndexDelegate(IntPtr handle, ref Sessions.GetInviteIdByIndexOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + internal static EOS_Sessions_GetInviteIdByIndexDelegate EOS_Sessions_GetInviteIdByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_IsUserInSessionDelegate(IntPtr handle, ref Sessions.IsUserInSessionOptionsInternal options); + internal static EOS_Sessions_IsUserInSessionDelegate EOS_Sessions_IsUserInSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_JoinSessionDelegate(IntPtr handle, ref Sessions.JoinSessionOptionsInternal options, IntPtr clientData, Sessions.OnJoinSessionCallbackInternal completionDelegate); + internal static EOS_Sessions_JoinSessionDelegate EOS_Sessions_JoinSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_QueryInvitesDelegate(IntPtr handle, ref Sessions.QueryInvitesOptionsInternal options, IntPtr clientData, Sessions.OnQueryInvitesCallbackInternal completionDelegate); + internal static EOS_Sessions_QueryInvitesDelegate EOS_Sessions_QueryInvites; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RegisterPlayersDelegate(IntPtr handle, ref Sessions.RegisterPlayersOptionsInternal options, IntPtr clientData, Sessions.OnRegisterPlayersCallbackInternal completionDelegate); + internal static EOS_Sessions_RegisterPlayersDelegate EOS_Sessions_RegisterPlayers; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RejectInviteDelegate(IntPtr handle, ref Sessions.RejectInviteOptionsInternal options, IntPtr clientData, Sessions.OnRejectInviteCallbackInternal completionDelegate); + internal static EOS_Sessions_RejectInviteDelegate EOS_Sessions_RejectInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RemoveNotifyJoinSessionAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_Sessions_RemoveNotifyJoinSessionAcceptedDelegate EOS_Sessions_RemoveNotifyJoinSessionAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RemoveNotifyLeaveSessionRequestedDelegate(IntPtr handle, ulong inId); + internal static EOS_Sessions_RemoveNotifyLeaveSessionRequestedDelegate EOS_Sessions_RemoveNotifyLeaveSessionRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedDelegate(IntPtr handle, ulong inId); + internal static EOS_Sessions_RemoveNotifySendSessionNativeInviteRequestedDelegate EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RemoveNotifySessionInviteAcceptedDelegate(IntPtr handle, ulong inId); + internal static EOS_Sessions_RemoveNotifySessionInviteAcceptedDelegate EOS_Sessions_RemoveNotifySessionInviteAccepted; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RemoveNotifySessionInviteReceivedDelegate(IntPtr handle, ulong inId); + internal static EOS_Sessions_RemoveNotifySessionInviteReceivedDelegate EOS_Sessions_RemoveNotifySessionInviteReceived; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_RemoveNotifySessionInviteRejectedDelegate(IntPtr handle, ulong inId); + internal static EOS_Sessions_RemoveNotifySessionInviteRejectedDelegate EOS_Sessions_RemoveNotifySessionInviteRejected; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_SendInviteDelegate(IntPtr handle, ref Sessions.SendInviteOptionsInternal options, IntPtr clientData, Sessions.OnSendInviteCallbackInternal completionDelegate); + internal static EOS_Sessions_SendInviteDelegate EOS_Sessions_SendInvite; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_StartSessionDelegate(IntPtr handle, ref Sessions.StartSessionOptionsInternal options, IntPtr clientData, Sessions.OnStartSessionCallbackInternal completionDelegate); + internal static EOS_Sessions_StartSessionDelegate EOS_Sessions_StartSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_UnregisterPlayersDelegate(IntPtr handle, ref Sessions.UnregisterPlayersOptionsInternal options, IntPtr clientData, Sessions.OnUnregisterPlayersCallbackInternal completionDelegate); + internal static EOS_Sessions_UnregisterPlayersDelegate EOS_Sessions_UnregisterPlayers; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Sessions_UpdateSessionDelegate(IntPtr handle, ref Sessions.UpdateSessionOptionsInternal options, IntPtr clientData, Sessions.OnUpdateSessionCallbackInternal completionDelegate); + internal static EOS_Sessions_UpdateSessionDelegate EOS_Sessions_UpdateSession; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Sessions_UpdateSessionModificationDelegate(IntPtr handle, ref Sessions.UpdateSessionModificationOptionsInternal options, out IntPtr outSessionModificationHandle); + internal static EOS_Sessions_UpdateSessionModificationDelegate EOS_Sessions_UpdateSessionModification; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_ShutdownDelegate(); + internal static EOS_ShutdownDelegate EOS_Shutdown; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Stats_CopyStatByIndexDelegate(IntPtr handle, ref Stats.CopyStatByIndexOptionsInternal options, out IntPtr outStat); + internal static EOS_Stats_CopyStatByIndexDelegate EOS_Stats_CopyStatByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_Stats_CopyStatByNameDelegate(IntPtr handle, ref Stats.CopyStatByNameOptionsInternal options, out IntPtr outStat); + internal static EOS_Stats_CopyStatByNameDelegate EOS_Stats_CopyStatByName; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_Stats_GetStatsCountDelegate(IntPtr handle, ref Stats.GetStatCountOptionsInternal options); + internal static EOS_Stats_GetStatsCountDelegate EOS_Stats_GetStatsCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Stats_IngestStatDelegate(IntPtr handle, ref Stats.IngestStatOptionsInternal options, IntPtr clientData, Stats.OnIngestStatCompleteCallbackInternal completionDelegate); + internal static EOS_Stats_IngestStatDelegate EOS_Stats_IngestStat; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Stats_QueryStatsDelegate(IntPtr handle, ref Stats.QueryStatsOptionsInternal options, IntPtr clientData, Stats.OnQueryStatsCompleteCallbackInternal completionDelegate); + internal static EOS_Stats_QueryStatsDelegate EOS_Stats_QueryStats; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Stats_Stat_ReleaseDelegate(IntPtr stat); + internal static EOS_Stats_Stat_ReleaseDelegate EOS_Stats_Stat_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_TitleStorageFileTransferRequest_CancelRequestDelegate(IntPtr handle); + internal static EOS_TitleStorageFileTransferRequest_CancelRequestDelegate EOS_TitleStorageFileTransferRequest_CancelRequest; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_TitleStorageFileTransferRequest_GetFileRequestStateDelegate(IntPtr handle); + internal static EOS_TitleStorageFileTransferRequest_GetFileRequestStateDelegate EOS_TitleStorageFileTransferRequest_GetFileRequestState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_TitleStorageFileTransferRequest_GetFilenameDelegate(IntPtr handle, uint filenameStringBufferSizeBytes, IntPtr outStringBuffer, out int outStringLength); + internal static EOS_TitleStorageFileTransferRequest_GetFilenameDelegate EOS_TitleStorageFileTransferRequest_GetFilename; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_TitleStorageFileTransferRequest_ReleaseDelegate(IntPtr titleStorageFileTransferHandle); + internal static EOS_TitleStorageFileTransferRequest_ReleaseDelegate EOS_TitleStorageFileTransferRequest_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_TitleStorage_CopyFileMetadataAtIndexDelegate(IntPtr handle, ref TitleStorage.CopyFileMetadataAtIndexOptionsInternal options, out IntPtr outMetadata); + internal static EOS_TitleStorage_CopyFileMetadataAtIndexDelegate EOS_TitleStorage_CopyFileMetadataAtIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_TitleStorage_CopyFileMetadataByFilenameDelegate(IntPtr handle, ref TitleStorage.CopyFileMetadataByFilenameOptionsInternal options, out IntPtr outMetadata); + internal static EOS_TitleStorage_CopyFileMetadataByFilenameDelegate EOS_TitleStorage_CopyFileMetadataByFilename; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_TitleStorage_DeleteCacheDelegate(IntPtr handle, ref TitleStorage.DeleteCacheOptionsInternal options, IntPtr clientData, TitleStorage.OnDeleteCacheCompleteCallbackInternal completionCallback); + internal static EOS_TitleStorage_DeleteCacheDelegate EOS_TitleStorage_DeleteCache; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_TitleStorage_FileMetadata_ReleaseDelegate(IntPtr fileMetadata); + internal static EOS_TitleStorage_FileMetadata_ReleaseDelegate EOS_TitleStorage_FileMetadata_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_TitleStorage_GetFileMetadataCountDelegate(IntPtr handle, ref TitleStorage.GetFileMetadataCountOptionsInternal options); + internal static EOS_TitleStorage_GetFileMetadataCountDelegate EOS_TitleStorage_GetFileMetadataCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_TitleStorage_QueryFileDelegate(IntPtr handle, ref TitleStorage.QueryFileOptionsInternal options, IntPtr clientData, TitleStorage.OnQueryFileCompleteCallbackInternal completionCallback); + internal static EOS_TitleStorage_QueryFileDelegate EOS_TitleStorage_QueryFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_TitleStorage_QueryFileListDelegate(IntPtr handle, ref TitleStorage.QueryFileListOptionsInternal options, IntPtr clientData, TitleStorage.OnQueryFileListCompleteCallbackInternal completionCallback); + internal static EOS_TitleStorage_QueryFileListDelegate EOS_TitleStorage_QueryFileList; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr EOS_TitleStorage_ReadFileDelegate(IntPtr handle, ref TitleStorage.ReadFileOptionsInternal options, IntPtr clientData, TitleStorage.OnReadFileCompleteCallbackInternal completionCallback); + internal static EOS_TitleStorage_ReadFileDelegate EOS_TitleStorage_ReadFile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_AcknowledgeEventIdDelegate(IntPtr handle, ref UI.AcknowledgeEventIdOptionsInternal options); + internal static EOS_UI_AcknowledgeEventIdDelegate EOS_UI_AcknowledgeEventId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_UI_AddNotifyDisplaySettingsUpdatedDelegate(IntPtr handle, ref UI.AddNotifyDisplaySettingsUpdatedOptionsInternal options, IntPtr clientData, UI.OnDisplaySettingsUpdatedCallbackInternal notificationFn); + internal static EOS_UI_AddNotifyDisplaySettingsUpdatedDelegate EOS_UI_AddNotifyDisplaySettingsUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_UI_AddNotifyMemoryMonitorDelegate(IntPtr handle, ref UI.AddNotifyMemoryMonitorOptionsInternal options, IntPtr clientData, UI.OnMemoryMonitorCallbackInternal notificationFn); + internal static EOS_UI_AddNotifyMemoryMonitorDelegate EOS_UI_AddNotifyMemoryMonitor; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ulong EOS_UI_AddNotifyOnScreenKeyboardRequestedDelegate(IntPtr handle, ref UI.AddNotifyOnScreenKeyboardRequestedOptionsInternal options, IntPtr clientData, UI.OnScreenKeyboardRequestedCallbackInternal notificationFn); + internal static EOS_UI_AddNotifyOnScreenKeyboardRequestedDelegate EOS_UI_AddNotifyOnScreenKeyboardRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_ConfigureOnScreenKeyboardDelegate(IntPtr handle, ref UI.ConfigureOnScreenKeyboardOptionsInternal options); + internal static EOS_UI_ConfigureOnScreenKeyboardDelegate EOS_UI_ConfigureOnScreenKeyboard; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_UI_GetFriendsExclusiveInputDelegate(IntPtr handle, ref UI.GetFriendsExclusiveInputOptionsInternal options); + internal static EOS_UI_GetFriendsExclusiveInputDelegate EOS_UI_GetFriendsExclusiveInput; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_UI_GetFriendsVisibleDelegate(IntPtr handle, ref UI.GetFriendsVisibleOptionsInternal options); + internal static EOS_UI_GetFriendsVisibleDelegate EOS_UI_GetFriendsVisible; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate UI.NotificationLocation EOS_UI_GetNotificationLocationPreferenceDelegate(IntPtr handle); + internal static EOS_UI_GetNotificationLocationPreferenceDelegate EOS_UI_GetNotificationLocationPreference; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate UI.InputStateButtonFlags EOS_UI_GetToggleFriendsButtonDelegate(IntPtr handle, ref UI.GetToggleFriendsButtonOptionsInternal options); + internal static EOS_UI_GetToggleFriendsButtonDelegate EOS_UI_GetToggleFriendsButton; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate UI.KeyCombination EOS_UI_GetToggleFriendsKeyDelegate(IntPtr handle, ref UI.GetToggleFriendsKeyOptionsInternal options); + internal static EOS_UI_GetToggleFriendsKeyDelegate EOS_UI_GetToggleFriendsKey; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_HideFriendsDelegate(IntPtr handle, ref UI.HideFriendsOptionsInternal options, IntPtr clientData, UI.OnHideFriendsCallbackInternal completionDelegate); + internal static EOS_UI_HideFriendsDelegate EOS_UI_HideFriends; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_UI_IsSocialOverlayPausedDelegate(IntPtr handle, ref UI.IsSocialOverlayPausedOptionsInternal options); + internal static EOS_UI_IsSocialOverlayPausedDelegate EOS_UI_IsSocialOverlayPaused; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_UI_IsValidButtonCombinationDelegate(IntPtr handle, UI.InputStateButtonFlags buttonCombination); + internal static EOS_UI_IsValidButtonCombinationDelegate EOS_UI_IsValidButtonCombination; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate int EOS_UI_IsValidKeyCombinationDelegate(IntPtr handle, UI.KeyCombination keyCombination); + internal static EOS_UI_IsValidKeyCombinationDelegate EOS_UI_IsValidKeyCombination; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_PauseSocialOverlayDelegate(IntPtr handle, ref UI.PauseSocialOverlayOptionsInternal options); + internal static EOS_UI_PauseSocialOverlayDelegate EOS_UI_PauseSocialOverlay; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_PrePresentDelegate(IntPtr handle, ref UI.PrePresentOptionsInternal options); + internal static EOS_UI_PrePresentDelegate EOS_UI_PrePresent; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_RemoveNotifyDisplaySettingsUpdatedDelegate(IntPtr handle, ulong id); + internal static EOS_UI_RemoveNotifyDisplaySettingsUpdatedDelegate EOS_UI_RemoveNotifyDisplaySettingsUpdated; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_RemoveNotifyMemoryMonitorDelegate(IntPtr handle, ulong id); + internal static EOS_UI_RemoveNotifyMemoryMonitorDelegate EOS_UI_RemoveNotifyMemoryMonitor; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_RemoveNotifyOnScreenKeyboardRequestedDelegate(IntPtr handle, ulong id); + internal static EOS_UI_RemoveNotifyOnScreenKeyboardRequestedDelegate EOS_UI_RemoveNotifyOnScreenKeyboardRequested; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_ReportInputStateDelegate(IntPtr handle, ref UI.ReportInputStateOptionsInternal options); + internal static EOS_UI_ReportInputStateDelegate EOS_UI_ReportInputState; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_SetDisplayPreferenceDelegate(IntPtr handle, ref UI.SetDisplayPreferenceOptionsInternal options); + internal static EOS_UI_SetDisplayPreferenceDelegate EOS_UI_SetDisplayPreference; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_SetToggleFriendsButtonDelegate(IntPtr handle, ref UI.SetToggleFriendsButtonOptionsInternal options); + internal static EOS_UI_SetToggleFriendsButtonDelegate EOS_UI_SetToggleFriendsButton; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UI_SetToggleFriendsKeyDelegate(IntPtr handle, ref UI.SetToggleFriendsKeyOptionsInternal options); + internal static EOS_UI_SetToggleFriendsKeyDelegate EOS_UI_SetToggleFriendsKey; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_ShowBlockPlayerDelegate(IntPtr handle, ref UI.ShowBlockPlayerOptionsInternal options, IntPtr clientData, UI.OnShowBlockPlayerCallbackInternal completionDelegate); + internal static EOS_UI_ShowBlockPlayerDelegate EOS_UI_ShowBlockPlayer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_ShowFriendsDelegate(IntPtr handle, ref UI.ShowFriendsOptionsInternal options, IntPtr clientData, UI.OnShowFriendsCallbackInternal completionDelegate); + internal static EOS_UI_ShowFriendsDelegate EOS_UI_ShowFriends; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_ShowNativeProfileDelegate(IntPtr handle, ref UI.ShowNativeProfileOptionsInternal options, IntPtr clientData, UI.OnShowNativeProfileCallbackInternal completionDelegate); + internal static EOS_UI_ShowNativeProfileDelegate EOS_UI_ShowNativeProfile; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UI_ShowReportPlayerDelegate(IntPtr handle, ref UI.ShowReportPlayerOptionsInternal options, IntPtr clientData, UI.OnShowReportPlayerCallbackInternal completionDelegate); + internal static EOS_UI_ShowReportPlayerDelegate EOS_UI_ShowReportPlayer; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UserInfo_BestDisplayName_ReleaseDelegate(IntPtr bestDisplayName); + internal static EOS_UserInfo_BestDisplayName_ReleaseDelegate EOS_UserInfo_BestDisplayName_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UserInfo_CopyBestDisplayNameDelegate(IntPtr handle, ref UserInfo.CopyBestDisplayNameOptionsInternal options, out IntPtr outBestDisplayName); + internal static EOS_UserInfo_CopyBestDisplayNameDelegate EOS_UserInfo_CopyBestDisplayName; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UserInfo_CopyBestDisplayNameWithPlatformDelegate(IntPtr handle, ref UserInfo.CopyBestDisplayNameWithPlatformOptionsInternal options, out IntPtr outBestDisplayName); + internal static EOS_UserInfo_CopyBestDisplayNameWithPlatformDelegate EOS_UserInfo_CopyBestDisplayNameWithPlatform; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UserInfo_CopyExternalUserInfoByAccountIdDelegate(IntPtr handle, ref UserInfo.CopyExternalUserInfoByAccountIdOptionsInternal options, out IntPtr outExternalUserInfo); + internal static EOS_UserInfo_CopyExternalUserInfoByAccountIdDelegate EOS_UserInfo_CopyExternalUserInfoByAccountId; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UserInfo_CopyExternalUserInfoByAccountTypeDelegate(IntPtr handle, ref UserInfo.CopyExternalUserInfoByAccountTypeOptionsInternal options, out IntPtr outExternalUserInfo); + internal static EOS_UserInfo_CopyExternalUserInfoByAccountTypeDelegate EOS_UserInfo_CopyExternalUserInfoByAccountType; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UserInfo_CopyExternalUserInfoByIndexDelegate(IntPtr handle, ref UserInfo.CopyExternalUserInfoByIndexOptionsInternal options, out IntPtr outExternalUserInfo); + internal static EOS_UserInfo_CopyExternalUserInfoByIndexDelegate EOS_UserInfo_CopyExternalUserInfoByIndex; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate Result EOS_UserInfo_CopyUserInfoDelegate(IntPtr handle, ref UserInfo.CopyUserInfoOptionsInternal options, out IntPtr outUserInfo); + internal static EOS_UserInfo_CopyUserInfoDelegate EOS_UserInfo_CopyUserInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UserInfo_ExternalUserInfo_ReleaseDelegate(IntPtr externalUserInfo); + internal static EOS_UserInfo_ExternalUserInfo_ReleaseDelegate EOS_UserInfo_ExternalUserInfo_Release; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_UserInfo_GetExternalUserInfoCountDelegate(IntPtr handle, ref UserInfo.GetExternalUserInfoCountOptionsInternal options); + internal static EOS_UserInfo_GetExternalUserInfoCountDelegate EOS_UserInfo_GetExternalUserInfoCount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate uint EOS_UserInfo_GetLocalPlatformTypeDelegate(IntPtr handle, ref UserInfo.GetLocalPlatformTypeOptionsInternal options); + internal static EOS_UserInfo_GetLocalPlatformTypeDelegate EOS_UserInfo_GetLocalPlatformType; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UserInfo_QueryUserInfoDelegate(IntPtr handle, ref UserInfo.QueryUserInfoOptionsInternal options, IntPtr clientData, UserInfo.OnQueryUserInfoCallbackInternal completionDelegate); + internal static EOS_UserInfo_QueryUserInfoDelegate EOS_UserInfo_QueryUserInfo; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UserInfo_QueryUserInfoByDisplayNameDelegate(IntPtr handle, ref UserInfo.QueryUserInfoByDisplayNameOptionsInternal options, IntPtr clientData, UserInfo.OnQueryUserInfoByDisplayNameCallbackInternal completionDelegate); + internal static EOS_UserInfo_QueryUserInfoByDisplayNameDelegate EOS_UserInfo_QueryUserInfoByDisplayName; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UserInfo_QueryUserInfoByExternalAccountDelegate(IntPtr handle, ref UserInfo.QueryUserInfoByExternalAccountOptionsInternal options, IntPtr clientData, UserInfo.OnQueryUserInfoByExternalAccountCallbackInternal completionDelegate); + internal static EOS_UserInfo_QueryUserInfoByExternalAccountDelegate EOS_UserInfo_QueryUserInfoByExternalAccount; + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_UserInfo_ReleaseDelegate(IntPtr userInfo); + internal static EOS_UserInfo_ReleaseDelegate EOS_UserInfo_Release; +#else + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_AddNotifyAchievementsUnlocked", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Achievements_AddNotifyAchievementsUnlocked(IntPtr handle, ref Achievements.AddNotifyAchievementsUnlockedOptionsInternal options, IntPtr clientData, Achievements.OnAchievementsUnlockedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_AddNotifyAchievementsUnlockedV2", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Achievements_AddNotifyAchievementsUnlockedV2(IntPtr handle, ref Achievements.AddNotifyAchievementsUnlockedV2OptionsInternal options, IntPtr clientData, Achievements.OnAchievementsUnlockedCallbackV2Internal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyAchievementDefinitionByAchievementId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyAchievementDefinitionByAchievementId(IntPtr handle, ref Achievements.CopyAchievementDefinitionByAchievementIdOptionsInternal options, out IntPtr outDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyAchievementDefinitionByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyAchievementDefinitionByIndex(IntPtr handle, ref Achievements.CopyAchievementDefinitionByIndexOptionsInternal options, out IntPtr outDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyAchievementDefinitionV2ByAchievementId(IntPtr handle, ref Achievements.CopyAchievementDefinitionV2ByAchievementIdOptionsInternal options, out IntPtr outDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyAchievementDefinitionV2ByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyAchievementDefinitionV2ByIndex(IntPtr handle, ref Achievements.CopyAchievementDefinitionV2ByIndexOptionsInternal options, out IntPtr outDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyPlayerAchievementByAchievementId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyPlayerAchievementByAchievementId(IntPtr handle, ref Achievements.CopyPlayerAchievementByAchievementIdOptionsInternal options, out IntPtr outAchievement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyPlayerAchievementByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyPlayerAchievementByIndex(IntPtr handle, ref Achievements.CopyPlayerAchievementByIndexOptionsInternal options, out IntPtr outAchievement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyUnlockedAchievementByAchievementId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyUnlockedAchievementByAchievementId(IntPtr handle, ref Achievements.CopyUnlockedAchievementByAchievementIdOptionsInternal options, out IntPtr outAchievement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_CopyUnlockedAchievementByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Achievements_CopyUnlockedAchievementByIndex(IntPtr handle, ref Achievements.CopyUnlockedAchievementByIndexOptionsInternal options, out IntPtr outAchievement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_DefinitionV2_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_DefinitionV2_Release(IntPtr achievementDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_Definition_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_Definition_Release(IntPtr achievementDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_GetAchievementDefinitionCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Achievements_GetAchievementDefinitionCount(IntPtr handle, ref Achievements.GetAchievementDefinitionCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_GetPlayerAchievementCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Achievements_GetPlayerAchievementCount(IntPtr handle, ref Achievements.GetPlayerAchievementCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_GetUnlockedAchievementCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Achievements_GetUnlockedAchievementCount(IntPtr handle, ref Achievements.GetUnlockedAchievementCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_PlayerAchievement_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_PlayerAchievement_Release(IntPtr achievement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_QueryDefinitions", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_QueryDefinitions(IntPtr handle, ref Achievements.QueryDefinitionsOptionsInternal options, IntPtr clientData, Achievements.OnQueryDefinitionsCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_QueryPlayerAchievements", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_QueryPlayerAchievements(IntPtr handle, ref Achievements.QueryPlayerAchievementsOptionsInternal options, IntPtr clientData, Achievements.OnQueryPlayerAchievementsCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_RemoveNotifyAchievementsUnlocked", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_RemoveNotifyAchievementsUnlocked(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_UnlockAchievements", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_UnlockAchievements(IntPtr handle, ref Achievements.UnlockAchievementsOptionsInternal options, IntPtr clientData, Achievements.OnUnlockAchievementsCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Achievements_UnlockedAchievement_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Achievements_UnlockedAchievement_Release(IntPtr achievement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ActiveSession_CopyInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ActiveSession_CopyInfo(IntPtr handle, ref Sessions.ActiveSessionCopyInfoOptionsInternal options, out IntPtr outActiveSessionInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ActiveSession_GetRegisteredPlayerByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_ActiveSession_GetRegisteredPlayerByIndex(IntPtr handle, ref Sessions.ActiveSessionGetRegisteredPlayerByIndexOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ActiveSession_GetRegisteredPlayerCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_ActiveSession_GetRegisteredPlayerCount(IntPtr handle, ref Sessions.ActiveSessionGetRegisteredPlayerCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ActiveSession_Info_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_ActiveSession_Info_Release(IntPtr activeSessionInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ActiveSession_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_ActiveSession_Release(IntPtr activeSessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_AddExternalIntegrityCatalog", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_AddExternalIntegrityCatalog(IntPtr handle, ref AntiCheatClient.AddExternalIntegrityCatalogOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_AddNotifyClientIntegrityViolated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatClient_AddNotifyClientIntegrityViolated(IntPtr handle, ref AntiCheatClient.AddNotifyClientIntegrityViolatedOptionsInternal options, IntPtr clientData, AntiCheatClient.OnClientIntegrityViolatedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_AddNotifyMessageToPeer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatClient_AddNotifyMessageToPeer(IntPtr handle, ref AntiCheatClient.AddNotifyMessageToPeerOptionsInternal options, IntPtr clientData, AntiCheatClient.OnMessageToPeerCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_AddNotifyMessageToServer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatClient_AddNotifyMessageToServer(IntPtr handle, ref AntiCheatClient.AddNotifyMessageToServerOptionsInternal options, IntPtr clientData, AntiCheatClient.OnMessageToServerCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_AddNotifyPeerActionRequired", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatClient_AddNotifyPeerActionRequired(IntPtr handle, ref AntiCheatClient.AddNotifyPeerActionRequiredOptionsInternal options, IntPtr clientData, AntiCheatClient.OnPeerActionRequiredCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatClient_AddNotifyPeerAuthStatusChanged(IntPtr handle, ref AntiCheatClient.AddNotifyPeerAuthStatusChangedOptionsInternal options, IntPtr clientData, AntiCheatClient.OnPeerAuthStatusChangedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_BeginSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_BeginSession(IntPtr handle, ref AntiCheatClient.BeginSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_EndSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_EndSession(IntPtr handle, ref AntiCheatClient.EndSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_GetModuleBuildId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_GetModuleBuildId(IntPtr handle, ref AntiCheatClient.GetModuleBuildIdOptionsInternal options, out uint outModuleBuildId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_GetProtectMessageOutputLength", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_GetProtectMessageOutputLength(IntPtr handle, ref AntiCheatClient.GetProtectMessageOutputLengthOptionsInternal options, out uint outBufferSizeBytes); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_PollStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_PollStatus(IntPtr handle, ref AntiCheatClient.PollStatusOptionsInternal options, out AntiCheatClient.AntiCheatClientViolationType outViolationType, IntPtr outMessage); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_ProtectMessage", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_ProtectMessage(IntPtr handle, ref AntiCheatClient.ProtectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_ReceiveMessageFromPeer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_ReceiveMessageFromPeer(IntPtr handle, ref AntiCheatClient.ReceiveMessageFromPeerOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_ReceiveMessageFromServer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_ReceiveMessageFromServer(IntPtr handle, ref AntiCheatClient.ReceiveMessageFromServerOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_RegisterPeer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_RegisterPeer(IntPtr handle, ref AntiCheatClient.RegisterPeerOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatClient_RemoveNotifyClientIntegrityViolated(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_RemoveNotifyMessageToPeer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatClient_RemoveNotifyMessageToPeer(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_RemoveNotifyMessageToServer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatClient_RemoveNotifyMessageToServer(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_RemoveNotifyPeerActionRequired", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatClient_RemoveNotifyPeerActionRequired(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatClient_RemoveNotifyPeerAuthStatusChanged(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_Reserved01", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_Reserved01(IntPtr handle, ref AntiCheatClient.Reserved01OptionsInternal options, out int outValue); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_Reserved02", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_Reserved02(IntPtr handle, ref AntiCheatClient.Reserved02OptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_UnprotectMessage", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_UnprotectMessage(IntPtr handle, ref AntiCheatClient.UnprotectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatClient_UnregisterPeer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatClient_UnregisterPeer(IntPtr handle, ref AntiCheatClient.UnregisterPeerOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_AddNotifyClientActionRequired", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatServer_AddNotifyClientActionRequired(IntPtr handle, ref AntiCheatServer.AddNotifyClientActionRequiredOptionsInternal options, IntPtr clientData, AntiCheatServer.OnClientActionRequiredCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatServer_AddNotifyClientAuthStatusChanged(IntPtr handle, ref AntiCheatServer.AddNotifyClientAuthStatusChangedOptionsInternal options, IntPtr clientData, AntiCheatServer.OnClientAuthStatusChangedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_AddNotifyMessageToClient", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_AntiCheatServer_AddNotifyMessageToClient(IntPtr handle, ref AntiCheatServer.AddNotifyMessageToClientOptionsInternal options, IntPtr clientData, AntiCheatServer.OnMessageToClientCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_BeginSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_BeginSession(IntPtr handle, ref AntiCheatServer.BeginSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_EndSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_EndSession(IntPtr handle, ref AntiCheatServer.EndSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_GetProtectMessageOutputLength", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_GetProtectMessageOutputLength(IntPtr handle, ref AntiCheatServer.GetProtectMessageOutputLengthOptionsInternal options, out uint outBufferSizeBytes); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogEvent", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogEvent(IntPtr handle, ref AntiCheatCommon.LogEventOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogGameRoundEnd", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogGameRoundEnd(IntPtr handle, ref AntiCheatCommon.LogGameRoundEndOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogGameRoundStart", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogGameRoundStart(IntPtr handle, ref AntiCheatCommon.LogGameRoundStartOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerDespawn", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerDespawn(IntPtr handle, ref AntiCheatCommon.LogPlayerDespawnOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerRevive", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerRevive(IntPtr handle, ref AntiCheatCommon.LogPlayerReviveOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerSpawn", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerSpawn(IntPtr handle, ref AntiCheatCommon.LogPlayerSpawnOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerTakeDamage", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerTakeDamage(IntPtr handle, ref AntiCheatCommon.LogPlayerTakeDamageOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerTick", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerTick(IntPtr handle, ref AntiCheatCommon.LogPlayerTickOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerUseAbility", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerUseAbility(IntPtr handle, ref AntiCheatCommon.LogPlayerUseAbilityOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_LogPlayerUseWeapon", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_LogPlayerUseWeapon(IntPtr handle, ref AntiCheatCommon.LogPlayerUseWeaponOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_ProtectMessage", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_ProtectMessage(IntPtr handle, ref AntiCheatServer.ProtectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_ReceiveMessageFromClient", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_ReceiveMessageFromClient(IntPtr handle, ref AntiCheatServer.ReceiveMessageFromClientOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_RegisterClient", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_RegisterClient(IntPtr handle, ref AntiCheatServer.RegisterClientOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_RegisterEvent", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_RegisterEvent(IntPtr handle, ref AntiCheatCommon.RegisterEventOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_RemoveNotifyClientActionRequired", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatServer_RemoveNotifyClientActionRequired(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatServer_RemoveNotifyClientAuthStatusChanged(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_RemoveNotifyMessageToClient", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_AntiCheatServer_RemoveNotifyMessageToClient(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_SetClientDetails", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_SetClientDetails(IntPtr handle, ref AntiCheatCommon.SetClientDetailsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_SetClientNetworkState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_SetClientNetworkState(IntPtr handle, ref AntiCheatServer.SetClientNetworkStateOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_SetGameSessionId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_SetGameSessionId(IntPtr handle, ref AntiCheatCommon.SetGameSessionIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_UnprotectMessage", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_UnprotectMessage(IntPtr handle, ref AntiCheatServer.UnprotectMessageOptionsInternal options, IntPtr outBuffer, out uint outBytesWritten); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_AntiCheatServer_UnregisterClient", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_AntiCheatServer_UnregisterClient(IntPtr handle, ref AntiCheatServer.UnregisterClientOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_AddNotifyLoginStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Auth_AddNotifyLoginStatusChanged(IntPtr handle, ref Auth.AddNotifyLoginStatusChangedOptionsInternal options, IntPtr clientData, Auth.OnLoginStatusChangedCallbackInternal notification); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_CopyIdToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Auth_CopyIdToken(IntPtr handle, ref Auth.CopyIdTokenOptionsInternal options, out IntPtr outIdToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_CopyUserAuthToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Auth_CopyUserAuthToken(IntPtr handle, ref Auth.CopyUserAuthTokenOptionsInternal options, IntPtr localUserId, out IntPtr outUserAuthToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_DeletePersistentAuth", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_DeletePersistentAuth(IntPtr handle, ref Auth.DeletePersistentAuthOptionsInternal options, IntPtr clientData, Auth.OnDeletePersistentAuthCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_GetLoggedInAccountByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Auth_GetLoggedInAccountByIndex(IntPtr handle, int index); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_GetLoggedInAccountsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_Auth_GetLoggedInAccountsCount(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_GetLoginStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern LoginStatus EOS_Auth_GetLoginStatus(IntPtr handle, IntPtr localUserId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_GetMergedAccountByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Auth_GetMergedAccountByIndex(IntPtr handle, IntPtr localUserId, uint index); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_GetMergedAccountsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Auth_GetMergedAccountsCount(IntPtr handle, IntPtr localUserId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_GetSelectedAccountId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Auth_GetSelectedAccountId(IntPtr handle, IntPtr localUserId, out IntPtr outSelectedAccountId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_IdToken_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_IdToken_Release(IntPtr idToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_LinkAccount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_LinkAccount(IntPtr handle, ref Auth.LinkAccountOptionsInternal options, IntPtr clientData, Auth.OnLinkAccountCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_Login", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_Login(IntPtr handle, ref Auth.LoginOptionsInternal options, IntPtr clientData, Auth.OnLoginCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_Logout", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_Logout(IntPtr handle, ref Auth.LogoutOptionsInternal options, IntPtr clientData, Auth.OnLogoutCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_QueryIdToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_QueryIdToken(IntPtr handle, ref Auth.QueryIdTokenOptionsInternal options, IntPtr clientData, Auth.OnQueryIdTokenCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_RemoveNotifyLoginStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_RemoveNotifyLoginStatusChanged(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_Token_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_Token_Release(IntPtr authToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_VerifyIdToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_VerifyIdToken(IntPtr handle, ref Auth.VerifyIdTokenOptionsInternal options, IntPtr clientData, Auth.OnVerifyIdTokenCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_VerifyUserAuth", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_VerifyUserAuth(IntPtr handle, ref Auth.VerifyUserAuthOptionsInternal options, IntPtr clientData, Auth.OnVerifyUserAuthCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ByteArray_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ByteArray_ToString(IntPtr byteArray, uint length, IntPtr outBuffer, ref uint inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_AddNotifyAuthExpiration", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Connect_AddNotifyAuthExpiration(IntPtr handle, ref Connect.AddNotifyAuthExpirationOptionsInternal options, IntPtr clientData, Connect.OnAuthExpirationCallbackInternal notification); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_AddNotifyLoginStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Connect_AddNotifyLoginStatusChanged(IntPtr handle, ref Connect.AddNotifyLoginStatusChangedOptionsInternal options, IntPtr clientData, Connect.OnLoginStatusChangedCallbackInternal notification); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CopyIdToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Connect_CopyIdToken(IntPtr handle, ref Connect.CopyIdTokenOptionsInternal options, out IntPtr outIdToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CopyProductUserExternalAccountByAccountId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Connect_CopyProductUserExternalAccountByAccountId(IntPtr handle, ref Connect.CopyProductUserExternalAccountByAccountIdOptionsInternal options, out IntPtr outExternalAccountInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CopyProductUserExternalAccountByAccountType", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Connect_CopyProductUserExternalAccountByAccountType(IntPtr handle, ref Connect.CopyProductUserExternalAccountByAccountTypeOptionsInternal options, out IntPtr outExternalAccountInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CopyProductUserExternalAccountByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Connect_CopyProductUserExternalAccountByIndex(IntPtr handle, ref Connect.CopyProductUserExternalAccountByIndexOptionsInternal options, out IntPtr outExternalAccountInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CopyProductUserInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Connect_CopyProductUserInfo(IntPtr handle, ref Connect.CopyProductUserInfoOptionsInternal options, out IntPtr outExternalAccountInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CreateDeviceId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_CreateDeviceId(IntPtr handle, ref Connect.CreateDeviceIdOptionsInternal options, IntPtr clientData, Connect.OnCreateDeviceIdCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_CreateUser", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_CreateUser(IntPtr handle, ref Connect.CreateUserOptionsInternal options, IntPtr clientData, Connect.OnCreateUserCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_DeleteDeviceId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_DeleteDeviceId(IntPtr handle, ref Connect.DeleteDeviceIdOptionsInternal options, IntPtr clientData, Connect.OnDeleteDeviceIdCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_ExternalAccountInfo_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_ExternalAccountInfo_Release(IntPtr externalAccountInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_GetExternalAccountMapping", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Connect_GetExternalAccountMapping(IntPtr handle, ref Connect.GetExternalAccountMappingsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_GetLoggedInUserByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Connect_GetLoggedInUserByIndex(IntPtr handle, int index); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_GetLoggedInUsersCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_Connect_GetLoggedInUsersCount(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_GetLoginStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern LoginStatus EOS_Connect_GetLoginStatus(IntPtr handle, IntPtr localUserId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_GetProductUserExternalAccountCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Connect_GetProductUserExternalAccountCount(IntPtr handle, ref Connect.GetProductUserExternalAccountCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_GetProductUserIdMapping", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Connect_GetProductUserIdMapping(IntPtr handle, ref Connect.GetProductUserIdMappingOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_IdToken_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_IdToken_Release(IntPtr idToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_LinkAccount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_LinkAccount(IntPtr handle, ref Connect.LinkAccountOptionsInternal options, IntPtr clientData, Connect.OnLinkAccountCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_Login", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_Login(IntPtr handle, ref Connect.LoginOptionsInternal options, IntPtr clientData, Connect.OnLoginCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_Logout", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_Logout(IntPtr handle, ref Connect.LogoutOptionsInternal options, IntPtr clientData, Connect.OnLogoutCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_QueryExternalAccountMappings", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_QueryExternalAccountMappings(IntPtr handle, ref Connect.QueryExternalAccountMappingsOptionsInternal options, IntPtr clientData, Connect.OnQueryExternalAccountMappingsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_QueryProductUserIdMappings", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_QueryProductUserIdMappings(IntPtr handle, ref Connect.QueryProductUserIdMappingsOptionsInternal options, IntPtr clientData, Connect.OnQueryProductUserIdMappingsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_RemoveNotifyAuthExpiration", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_RemoveNotifyAuthExpiration(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_RemoveNotifyLoginStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_RemoveNotifyLoginStatusChanged(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_TransferDeviceIdAccount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_TransferDeviceIdAccount(IntPtr handle, ref Connect.TransferDeviceIdAccountOptionsInternal options, IntPtr clientData, Connect.OnTransferDeviceIdAccountCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_UnlinkAccount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_UnlinkAccount(IntPtr handle, ref Connect.UnlinkAccountOptionsInternal options, IntPtr clientData, Connect.OnUnlinkAccountCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Connect_VerifyIdToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Connect_VerifyIdToken(IntPtr handle, ref Connect.VerifyIdTokenOptionsInternal options, IntPtr clientData, Connect.OnVerifyIdTokenCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ContinuanceToken_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ContinuanceToken_ToString(IntPtr continuanceToken, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AcceptRequestToJoin", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_AcceptRequestToJoin(IntPtr handle, ref CustomInvites.AcceptRequestToJoinOptionsInternal options, IntPtr clientData, CustomInvites.OnAcceptRequestToJoinCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyCustomInviteAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyCustomInviteAccepted(IntPtr handle, ref CustomInvites.AddNotifyCustomInviteAcceptedOptionsInternal options, IntPtr clientData, CustomInvites.OnCustomInviteAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyCustomInviteReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyCustomInviteReceived(IntPtr handle, ref CustomInvites.AddNotifyCustomInviteReceivedOptionsInternal options, IntPtr clientData, CustomInvites.OnCustomInviteReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyCustomInviteRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyCustomInviteRejected(IntPtr handle, ref CustomInvites.AddNotifyCustomInviteRejectedOptionsInternal options, IntPtr clientData, CustomInvites.OnCustomInviteRejectedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyRequestToJoinAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyRequestToJoinAccepted(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinAcceptedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyRequestToJoinReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyRequestToJoinReceived(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinReceivedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyRequestToJoinRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyRequestToJoinRejected(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinRejectedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinRejectedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived(IntPtr handle, ref CustomInvites.AddNotifyRequestToJoinResponseReceivedOptionsInternal options, IntPtr clientData, CustomInvites.OnRequestToJoinResponseReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested(IntPtr handle, ref CustomInvites.AddNotifySendCustomNativeInviteRequestedOptionsInternal options, IntPtr clientData, CustomInvites.OnSendCustomNativeInviteRequestedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_FinalizeInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_CustomInvites_FinalizeInvite(IntPtr handle, ref CustomInvites.FinalizeInviteOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RejectRequestToJoin", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RejectRequestToJoin(IntPtr handle, ref CustomInvites.RejectRequestToJoinOptionsInternal options, IntPtr clientData, CustomInvites.OnRejectRequestToJoinCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyCustomInviteAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyCustomInviteAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyCustomInviteReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyCustomInviteReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyCustomInviteRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyCustomInviteRejected(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyRequestToJoinReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyRequestToJoinReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyRequestToJoinRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyRequestToJoinRejected(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_SendCustomInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_SendCustomInvite(IntPtr handle, ref CustomInvites.SendCustomInviteOptionsInternal options, IntPtr clientData, CustomInvites.OnSendCustomInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_SendRequestToJoin", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_CustomInvites_SendRequestToJoin(IntPtr handle, ref CustomInvites.SendRequestToJoinOptionsInternal options, IntPtr clientData, CustomInvites.OnSendRequestToJoinCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_CustomInvites_SetCustomInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_CustomInvites_SetCustomInvite(IntPtr handle, ref CustomInvites.SetCustomInviteOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_EApplicationStatus_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_EApplicationStatus_ToString(Platform.ApplicationStatus applicationStatus); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ENetworkStatus_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_ENetworkStatus_ToString(Platform.NetworkStatus networkStatus); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_EResult_IsOperationComplete", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_EResult_IsOperationComplete(Result result); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_EResult_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_EResult_ToString(Result result); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CatalogItem_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_CatalogItem_Release(IntPtr catalogItem); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CatalogOffer_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_CatalogOffer_Release(IntPtr catalogOffer); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CatalogRelease_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_CatalogRelease_Release(IntPtr catalogRelease); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_Checkout", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_Checkout(IntPtr handle, ref Ecom.CheckoutOptionsInternal options, IntPtr clientData, Ecom.OnCheckoutCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyEntitlementById", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyEntitlementById(IntPtr handle, ref Ecom.CopyEntitlementByIdOptionsInternal options, out IntPtr outEntitlement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyEntitlementByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyEntitlementByIndex(IntPtr handle, ref Ecom.CopyEntitlementByIndexOptionsInternal options, out IntPtr outEntitlement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyEntitlementByNameAndIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyEntitlementByNameAndIndex(IntPtr handle, ref Ecom.CopyEntitlementByNameAndIndexOptionsInternal options, out IntPtr outEntitlement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyItemById", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyItemById(IntPtr handle, ref Ecom.CopyItemByIdOptionsInternal options, out IntPtr outItem); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyItemImageInfoByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyItemImageInfoByIndex(IntPtr handle, ref Ecom.CopyItemImageInfoByIndexOptionsInternal options, out IntPtr outImageInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyItemReleaseByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyItemReleaseByIndex(IntPtr handle, ref Ecom.CopyItemReleaseByIndexOptionsInternal options, out IntPtr outRelease); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex(IntPtr handle, ref Ecom.CopyLastRedeemEntitlementsResultByIndexOptionsInternal options, IntPtr outEntitlementId, ref int inOutEntitlementIdLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyLastRedeemedEntitlementByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyLastRedeemedEntitlementByIndex(IntPtr handle, ref Ecom.CopyLastRedeemedEntitlementByIndexOptionsInternal options, IntPtr outRedeemedEntitlementId, ref int inOutRedeemedEntitlementIdLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyOfferById", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyOfferById(IntPtr handle, ref Ecom.CopyOfferByIdOptionsInternal options, out IntPtr outOffer); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyOfferByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyOfferByIndex(IntPtr handle, ref Ecom.CopyOfferByIndexOptionsInternal options, out IntPtr outOffer); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyOfferImageInfoByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyOfferImageInfoByIndex(IntPtr handle, ref Ecom.CopyOfferImageInfoByIndexOptionsInternal options, out IntPtr outImageInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyOfferItemByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyOfferItemByIndex(IntPtr handle, ref Ecom.CopyOfferItemByIndexOptionsInternal options, out IntPtr outItem); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyTransactionById", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyTransactionById(IntPtr handle, ref Ecom.CopyTransactionByIdOptionsInternal options, out IntPtr outTransaction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_CopyTransactionByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_CopyTransactionByIndex(IntPtr handle, ref Ecom.CopyTransactionByIndexOptionsInternal options, out IntPtr outTransaction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_Entitlement_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_Entitlement_Release(IntPtr entitlement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetEntitlementsByNameCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetEntitlementsByNameCount(IntPtr handle, ref Ecom.GetEntitlementsByNameCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetEntitlementsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetEntitlementsCount(IntPtr handle, ref Ecom.GetEntitlementsCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetItemImageInfoCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetItemImageInfoCount(IntPtr handle, ref Ecom.GetItemImageInfoCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetItemReleaseCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetItemReleaseCount(IntPtr handle, ref Ecom.GetItemReleaseCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetLastRedeemEntitlementsResultCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetLastRedeemEntitlementsResultCount(IntPtr handle, ref Ecom.GetLastRedeemEntitlementsResultCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetLastRedeemedEntitlementsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetLastRedeemedEntitlementsCount(IntPtr handle, ref Ecom.GetLastRedeemedEntitlementsCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetOfferCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetOfferCount(IntPtr handle, ref Ecom.GetOfferCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetOfferImageInfoCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetOfferImageInfoCount(IntPtr handle, ref Ecom.GetOfferImageInfoCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetOfferItemCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetOfferItemCount(IntPtr handle, ref Ecom.GetOfferItemCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_GetTransactionCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_GetTransactionCount(IntPtr handle, ref Ecom.GetTransactionCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_KeyImageInfo_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_KeyImageInfo_Release(IntPtr keyImageInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_QueryEntitlementToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_QueryEntitlementToken(IntPtr handle, ref Ecom.QueryEntitlementTokenOptionsInternal options, IntPtr clientData, Ecom.OnQueryEntitlementTokenCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_QueryEntitlements", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_QueryEntitlements(IntPtr handle, ref Ecom.QueryEntitlementsOptionsInternal options, IntPtr clientData, Ecom.OnQueryEntitlementsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_QueryOffers", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_QueryOffers(IntPtr handle, ref Ecom.QueryOffersOptionsInternal options, IntPtr clientData, Ecom.OnQueryOffersCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_QueryOwnership", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_QueryOwnership(IntPtr handle, ref Ecom.QueryOwnershipOptionsInternal options, IntPtr clientData, Ecom.OnQueryOwnershipCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_QueryOwnershipBySandboxIds", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_QueryOwnershipBySandboxIds(IntPtr handle, ref Ecom.QueryOwnershipBySandboxIdsOptionsInternal options, IntPtr clientData, Ecom.OnQueryOwnershipBySandboxIdsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_QueryOwnershipToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_QueryOwnershipToken(IntPtr handle, ref Ecom.QueryOwnershipTokenOptionsInternal options, IntPtr clientData, Ecom.OnQueryOwnershipTokenCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_RedeemEntitlements", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_RedeemEntitlements(IntPtr handle, ref Ecom.RedeemEntitlementsOptionsInternal options, IntPtr clientData, Ecom.OnRedeemEntitlementsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_Transaction_CopyEntitlementByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_Transaction_CopyEntitlementByIndex(IntPtr handle, ref Ecom.TransactionCopyEntitlementByIndexOptionsInternal options, out IntPtr outEntitlement); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_Transaction_GetEntitlementsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Ecom_Transaction_GetEntitlementsCount(IntPtr handle, ref Ecom.TransactionGetEntitlementsCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_Transaction_GetTransactionId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Ecom_Transaction_GetTransactionId(IntPtr handle, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Ecom_Transaction_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Ecom_Transaction_Release(IntPtr transaction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_EpicAccountId_FromString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_EpicAccountId_FromString(IntPtr accountIdString); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_EpicAccountId_IsValid", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_EpicAccountId_IsValid(IntPtr accountId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_EpicAccountId_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_EpicAccountId_ToString(IntPtr accountId, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_AcceptInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Friends_AcceptInvite(IntPtr handle, ref Friends.AcceptInviteOptionsInternal options, IntPtr clientData, Friends.OnAcceptInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_AddNotifyBlockedUsersUpdate", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Friends_AddNotifyBlockedUsersUpdate(IntPtr handle, ref Friends.AddNotifyBlockedUsersUpdateOptionsInternal options, IntPtr clientData, Friends.OnBlockedUsersUpdateCallbackInternal blockedUsersUpdateHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_AddNotifyFriendsUpdate", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Friends_AddNotifyFriendsUpdate(IntPtr handle, ref Friends.AddNotifyFriendsUpdateOptionsInternal options, IntPtr clientData, Friends.OnFriendsUpdateCallbackInternal friendsUpdateHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_GetBlockedUserAtIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Friends_GetBlockedUserAtIndex(IntPtr handle, ref Friends.GetBlockedUserAtIndexOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_GetBlockedUsersCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_Friends_GetBlockedUsersCount(IntPtr handle, ref Friends.GetBlockedUsersCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_GetFriendAtIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Friends_GetFriendAtIndex(IntPtr handle, ref Friends.GetFriendAtIndexOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_GetFriendsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_Friends_GetFriendsCount(IntPtr handle, ref Friends.GetFriendsCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_GetStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Friends.FriendsStatus EOS_Friends_GetStatus(IntPtr handle, ref Friends.GetStatusOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_QueryFriends", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Friends_QueryFriends(IntPtr handle, ref Friends.QueryFriendsOptionsInternal options, IntPtr clientData, Friends.OnQueryFriendsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_RejectInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Friends_RejectInvite(IntPtr handle, ref Friends.RejectInviteOptionsInternal options, IntPtr clientData, Friends.OnRejectInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_RemoveNotifyBlockedUsersUpdate", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Friends_RemoveNotifyBlockedUsersUpdate(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_RemoveNotifyFriendsUpdate", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Friends_RemoveNotifyFriendsUpdate(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Friends_SendInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Friends_SendInvite(IntPtr handle, ref Friends.SendInviteOptionsInternal options, IntPtr clientData, Friends.OnSendInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_GetVersion", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_GetVersion(); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Initialize", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Initialize(ref Platform.InitializeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatformOptionsContainer_Add", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_IntegratedPlatformOptionsContainer_Add(IntPtr handle, ref IntegratedPlatform.IntegratedPlatformOptionsContainerAddOptionsInternal inOptions); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatformOptionsContainer_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_IntegratedPlatformOptionsContainer_Release(IntPtr integratedPlatformOptionsContainerHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged(IntPtr handle, ref IntegratedPlatform.AddNotifyUserLoginStatusChangedOptionsInternal options, IntPtr clientData, IntegratedPlatform.OnUserLoginStatusChangedCallbackInternal callbackFunction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_ClearUserPreLogoutCallback", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_IntegratedPlatform_ClearUserPreLogoutCallback(IntPtr handle, ref IntegratedPlatform.ClearUserPreLogoutCallbackOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer(ref IntegratedPlatform.CreateIntegratedPlatformOptionsContainerOptionsInternal options, out IntPtr outIntegratedPlatformOptionsContainerHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_FinalizeDeferredUserLogout", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_IntegratedPlatform_FinalizeDeferredUserLogout(IntPtr handle, ref IntegratedPlatform.FinalizeDeferredUserLogoutOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_SetUserLoginStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_IntegratedPlatform_SetUserLoginStatus(IntPtr handle, ref IntegratedPlatform.SetUserLoginStatusOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_IntegratedPlatform_SetUserPreLogoutCallback", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_IntegratedPlatform_SetUserPreLogoutCallback(IntPtr handle, ref IntegratedPlatform.SetUserPreLogoutCallbackOptionsInternal options, IntPtr clientData, IntegratedPlatform.OnUserPreLogoutCallbackInternal callbackFunction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_AddNotifyPermissionsUpdateReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_KWS_AddNotifyPermissionsUpdateReceived(IntPtr handle, ref KWS.AddNotifyPermissionsUpdateReceivedOptionsInternal options, IntPtr clientData, KWS.OnPermissionsUpdateReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_CopyPermissionByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_KWS_CopyPermissionByIndex(IntPtr handle, ref KWS.CopyPermissionByIndexOptionsInternal options, out IntPtr outPermission); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_CreateUser", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_CreateUser(IntPtr handle, ref KWS.CreateUserOptionsInternal options, IntPtr clientData, KWS.OnCreateUserCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_GetPermissionByKey", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_KWS_GetPermissionByKey(IntPtr handle, ref KWS.GetPermissionByKeyOptionsInternal options, out KWS.KWSPermissionStatus outPermission); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_GetPermissionsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_KWS_GetPermissionsCount(IntPtr handle, ref KWS.GetPermissionsCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_PermissionStatus_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_PermissionStatus_Release(IntPtr permissionStatus); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_QueryAgeGate", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_QueryAgeGate(IntPtr handle, ref KWS.QueryAgeGateOptionsInternal options, IntPtr clientData, KWS.OnQueryAgeGateCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_QueryPermissions", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_QueryPermissions(IntPtr handle, ref KWS.QueryPermissionsOptionsInternal options, IntPtr clientData, KWS.OnQueryPermissionsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_RemoveNotifyPermissionsUpdateReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_RemoveNotifyPermissionsUpdateReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_RequestPermissions", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_RequestPermissions(IntPtr handle, ref KWS.RequestPermissionsOptionsInternal options, IntPtr clientData, KWS.OnRequestPermissionsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_KWS_UpdateParentEmail", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_KWS_UpdateParentEmail(IntPtr handle, ref KWS.UpdateParentEmailOptionsInternal options, IntPtr clientData, KWS.OnUpdateParentEmailCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_CopyLeaderboardDefinitionByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Leaderboards_CopyLeaderboardDefinitionByIndex(IntPtr handle, ref Leaderboards.CopyLeaderboardDefinitionByIndexOptionsInternal options, out IntPtr outLeaderboardDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId(IntPtr handle, ref Leaderboards.CopyLeaderboardDefinitionByLeaderboardIdOptionsInternal options, out IntPtr outLeaderboardDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_CopyLeaderboardRecordByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Leaderboards_CopyLeaderboardRecordByIndex(IntPtr handle, ref Leaderboards.CopyLeaderboardRecordByIndexOptionsInternal options, out IntPtr outLeaderboardRecord); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_CopyLeaderboardRecordByUserId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Leaderboards_CopyLeaderboardRecordByUserId(IntPtr handle, ref Leaderboards.CopyLeaderboardRecordByUserIdOptionsInternal options, out IntPtr outLeaderboardRecord); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_CopyLeaderboardUserScoreByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Leaderboards_CopyLeaderboardUserScoreByIndex(IntPtr handle, ref Leaderboards.CopyLeaderboardUserScoreByIndexOptionsInternal options, out IntPtr outLeaderboardUserScore); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_CopyLeaderboardUserScoreByUserId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Leaderboards_CopyLeaderboardUserScoreByUserId(IntPtr handle, ref Leaderboards.CopyLeaderboardUserScoreByUserIdOptionsInternal options, out IntPtr outLeaderboardUserScore); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_Definition_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Leaderboards_Definition_Release(IntPtr leaderboardDefinition); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_GetLeaderboardDefinitionCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Leaderboards_GetLeaderboardDefinitionCount(IntPtr handle, ref Leaderboards.GetLeaderboardDefinitionCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_GetLeaderboardRecordCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Leaderboards_GetLeaderboardRecordCount(IntPtr handle, ref Leaderboards.GetLeaderboardRecordCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_GetLeaderboardUserScoreCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Leaderboards_GetLeaderboardUserScoreCount(IntPtr handle, ref Leaderboards.GetLeaderboardUserScoreCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_LeaderboardRecord_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Leaderboards_LeaderboardRecord_Release(IntPtr leaderboardRecord); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_LeaderboardUserScore_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Leaderboards_LeaderboardUserScore_Release(IntPtr leaderboardUserScore); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_QueryLeaderboardDefinitions", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Leaderboards_QueryLeaderboardDefinitions(IntPtr handle, ref Leaderboards.QueryLeaderboardDefinitionsOptionsInternal options, IntPtr clientData, Leaderboards.OnQueryLeaderboardDefinitionsCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_QueryLeaderboardRanks", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Leaderboards_QueryLeaderboardRanks(IntPtr handle, ref Leaderboards.QueryLeaderboardRanksOptionsInternal options, IntPtr clientData, Leaderboards.OnQueryLeaderboardRanksCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Leaderboards_QueryLeaderboardUserScores", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Leaderboards_QueryLeaderboardUserScores(IntPtr handle, ref Leaderboards.QueryLeaderboardUserScoresOptionsInternal options, IntPtr clientData, Leaderboards.OnQueryLeaderboardUserScoresCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_CopyAttributeByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyDetails_CopyAttributeByIndex(IntPtr handle, ref Lobby.LobbyDetailsCopyAttributeByIndexOptionsInternal options, out IntPtr outAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_CopyAttributeByKey", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyDetails_CopyAttributeByKey(IntPtr handle, ref Lobby.LobbyDetailsCopyAttributeByKeyOptionsInternal options, out IntPtr outAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_CopyInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyDetails_CopyInfo(IntPtr handle, ref Lobby.LobbyDetailsCopyInfoOptionsInternal options, out IntPtr outLobbyDetailsInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_CopyMemberAttributeByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyDetails_CopyMemberAttributeByIndex(IntPtr handle, ref Lobby.LobbyDetailsCopyMemberAttributeByIndexOptionsInternal options, out IntPtr outAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_CopyMemberAttributeByKey", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyDetails_CopyMemberAttributeByKey(IntPtr handle, ref Lobby.LobbyDetailsCopyMemberAttributeByKeyOptionsInternal options, out IntPtr outAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_CopyMemberInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyDetails_CopyMemberInfo(IntPtr handle, ref Lobby.LobbyDetailsCopyMemberInfoOptionsInternal options, out IntPtr outLobbyDetailsMemberInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_GetAttributeCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_LobbyDetails_GetAttributeCount(IntPtr handle, ref Lobby.LobbyDetailsGetAttributeCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_GetLobbyOwner", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_LobbyDetails_GetLobbyOwner(IntPtr handle, ref Lobby.LobbyDetailsGetLobbyOwnerOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_GetMemberAttributeCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_LobbyDetails_GetMemberAttributeCount(IntPtr handle, ref Lobby.LobbyDetailsGetMemberAttributeCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_GetMemberByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_LobbyDetails_GetMemberByIndex(IntPtr handle, ref Lobby.LobbyDetailsGetMemberByIndexOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_GetMemberCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_LobbyDetails_GetMemberCount(IntPtr handle, ref Lobby.LobbyDetailsGetMemberCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_Info_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_LobbyDetails_Info_Release(IntPtr lobbyDetailsInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_MemberInfo_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_LobbyDetails_MemberInfo_Release(IntPtr lobbyDetailsMemberInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyDetails_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_LobbyDetails_Release(IntPtr lobbyHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_AddAttribute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_AddAttribute(IntPtr handle, ref Lobby.LobbyModificationAddAttributeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_AddMemberAttribute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_AddMemberAttribute(IntPtr handle, ref Lobby.LobbyModificationAddMemberAttributeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_LobbyModification_Release(IntPtr lobbyModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_RemoveAttribute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_RemoveAttribute(IntPtr handle, ref Lobby.LobbyModificationRemoveAttributeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_RemoveMemberAttribute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_RemoveMemberAttribute(IntPtr handle, ref Lobby.LobbyModificationRemoveMemberAttributeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_SetAllowedPlatformIds", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_SetAllowedPlatformIds(IntPtr handle, ref Lobby.LobbyModificationSetAllowedPlatformIdsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_SetBucketId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_SetBucketId(IntPtr handle, ref Lobby.LobbyModificationSetBucketIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_SetInvitesAllowed", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_SetInvitesAllowed(IntPtr handle, ref Lobby.LobbyModificationSetInvitesAllowedOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_SetMaxMembers", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_SetMaxMembers(IntPtr handle, ref Lobby.LobbyModificationSetMaxMembersOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbyModification_SetPermissionLevel", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbyModification_SetPermissionLevel(IntPtr handle, ref Lobby.LobbyModificationSetPermissionLevelOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_CopySearchResultByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbySearch_CopySearchResultByIndex(IntPtr handle, ref Lobby.LobbySearchCopySearchResultByIndexOptionsInternal options, out IntPtr outLobbyDetailsHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_Find", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_LobbySearch_Find(IntPtr handle, ref Lobby.LobbySearchFindOptionsInternal options, IntPtr clientData, Lobby.LobbySearchOnFindCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_GetSearchResultCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_LobbySearch_GetSearchResultCount(IntPtr handle, ref Lobby.LobbySearchGetSearchResultCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_LobbySearch_Release(IntPtr lobbySearchHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_RemoveParameter", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbySearch_RemoveParameter(IntPtr handle, ref Lobby.LobbySearchRemoveParameterOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_SetLobbyId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbySearch_SetLobbyId(IntPtr handle, ref Lobby.LobbySearchSetLobbyIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_SetMaxResults", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbySearch_SetMaxResults(IntPtr handle, ref Lobby.LobbySearchSetMaxResultsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_SetParameter", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbySearch_SetParameter(IntPtr handle, ref Lobby.LobbySearchSetParameterOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_LobbySearch_SetTargetUserId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_LobbySearch_SetTargetUserId(IntPtr handle, ref Lobby.LobbySearchSetTargetUserIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyJoinLobbyAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyJoinLobbyAccepted(IntPtr handle, ref Lobby.AddNotifyJoinLobbyAcceptedOptionsInternal options, IntPtr clientData, Lobby.OnJoinLobbyAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLeaveLobbyRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLeaveLobbyRequested(IntPtr handle, ref Lobby.AddNotifyLeaveLobbyRequestedOptionsInternal options, IntPtr clientData, Lobby.OnLeaveLobbyRequestedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLobbyInviteAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLobbyInviteAccepted(IntPtr handle, ref Lobby.AddNotifyLobbyInviteAcceptedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyInviteAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLobbyInviteReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLobbyInviteReceived(IntPtr handle, ref Lobby.AddNotifyLobbyInviteReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyInviteReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLobbyInviteRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLobbyInviteRejected(IntPtr handle, ref Lobby.AddNotifyLobbyInviteRejectedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyInviteRejectedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLobbyMemberStatusReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLobbyMemberStatusReceived(IntPtr handle, ref Lobby.AddNotifyLobbyMemberStatusReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyMemberStatusReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLobbyMemberUpdateReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLobbyMemberUpdateReceived(IntPtr handle, ref Lobby.AddNotifyLobbyMemberUpdateReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyMemberUpdateReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyLobbyUpdateReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyLobbyUpdateReceived(IntPtr handle, ref Lobby.AddNotifyLobbyUpdateReceivedOptionsInternal options, IntPtr clientData, Lobby.OnLobbyUpdateReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifyRTCRoomConnectionChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifyRTCRoomConnectionChanged(IntPtr handle, ref Lobby.AddNotifyRTCRoomConnectionChangedOptionsInternal options, IntPtr clientData, Lobby.OnRTCRoomConnectionChangedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_AddNotifySendLobbyNativeInviteRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Lobby_AddNotifySendLobbyNativeInviteRequested(IntPtr handle, ref Lobby.AddNotifySendLobbyNativeInviteRequestedOptionsInternal options, IntPtr clientData, Lobby.OnSendLobbyNativeInviteRequestedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_Attribute_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_Attribute_Release(IntPtr lobbyAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_CopyLobbyDetailsHandle", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_CopyLobbyDetailsHandle(IntPtr handle, ref Lobby.CopyLobbyDetailsHandleOptionsInternal options, out IntPtr outLobbyDetailsHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_CopyLobbyDetailsHandleByInviteId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_CopyLobbyDetailsHandleByInviteId(IntPtr handle, ref Lobby.CopyLobbyDetailsHandleByInviteIdOptionsInternal options, out IntPtr outLobbyDetailsHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_CopyLobbyDetailsHandleByUiEventId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_CopyLobbyDetailsHandleByUiEventId(IntPtr handle, ref Lobby.CopyLobbyDetailsHandleByUiEventIdOptionsInternal options, out IntPtr outLobbyDetailsHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_CreateLobby", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_CreateLobby(IntPtr handle, ref Lobby.CreateLobbyOptionsInternal options, IntPtr clientData, Lobby.OnCreateLobbyCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_CreateLobbySearch", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_CreateLobbySearch(IntPtr handle, ref Lobby.CreateLobbySearchOptionsInternal options, out IntPtr outLobbySearchHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_DestroyLobby", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_DestroyLobby(IntPtr handle, ref Lobby.DestroyLobbyOptionsInternal options, IntPtr clientData, Lobby.OnDestroyLobbyCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_GetConnectString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_GetConnectString(IntPtr handle, ref Lobby.GetConnectStringOptionsInternal options, IntPtr outBuffer, ref uint inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_GetInviteCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Lobby_GetInviteCount(IntPtr handle, ref Lobby.GetInviteCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_GetInviteIdByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_GetInviteIdByIndex(IntPtr handle, ref Lobby.GetInviteIdByIndexOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_GetRTCRoomName", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_GetRTCRoomName(IntPtr handle, ref Lobby.GetRTCRoomNameOptionsInternal options, IntPtr outBuffer, ref uint inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_HardMuteMember", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_HardMuteMember(IntPtr handle, ref Lobby.HardMuteMemberOptionsInternal options, IntPtr clientData, Lobby.OnHardMuteMemberCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_IsRTCRoomConnected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_IsRTCRoomConnected(IntPtr handle, ref Lobby.IsRTCRoomConnectedOptionsInternal options, out int outIsConnected); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_JoinLobby", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_JoinLobby(IntPtr handle, ref Lobby.JoinLobbyOptionsInternal options, IntPtr clientData, Lobby.OnJoinLobbyCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_JoinLobbyById", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_JoinLobbyById(IntPtr handle, ref Lobby.JoinLobbyByIdOptionsInternal options, IntPtr clientData, Lobby.OnJoinLobbyByIdCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_JoinRTCRoom", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_JoinRTCRoom(IntPtr handle, ref Lobby.JoinRTCRoomOptionsInternal options, IntPtr clientData, Lobby.OnJoinRTCRoomCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_KickMember", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_KickMember(IntPtr handle, ref Lobby.KickMemberOptionsInternal options, IntPtr clientData, Lobby.OnKickMemberCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_LeaveLobby", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_LeaveLobby(IntPtr handle, ref Lobby.LeaveLobbyOptionsInternal options, IntPtr clientData, Lobby.OnLeaveLobbyCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_LeaveRTCRoom", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_LeaveRTCRoom(IntPtr handle, ref Lobby.LeaveRTCRoomOptionsInternal options, IntPtr clientData, Lobby.OnLeaveRTCRoomCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_ParseConnectString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_ParseConnectString(IntPtr handle, ref Lobby.ParseConnectStringOptionsInternal options, IntPtr outBuffer, ref uint inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_PromoteMember", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_PromoteMember(IntPtr handle, ref Lobby.PromoteMemberOptionsInternal options, IntPtr clientData, Lobby.OnPromoteMemberCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_QueryInvites", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_QueryInvites(IntPtr handle, ref Lobby.QueryInvitesOptionsInternal options, IntPtr clientData, Lobby.OnQueryInvitesCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RejectInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RejectInvite(IntPtr handle, ref Lobby.RejectInviteOptionsInternal options, IntPtr clientData, Lobby.OnRejectInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyJoinLobbyAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyJoinLobbyAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLeaveLobbyRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLeaveLobbyRequested(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLobbyInviteAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLobbyInviteAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLobbyInviteReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLobbyInviteReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLobbyInviteRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLobbyInviteRejected(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyLobbyUpdateReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyLobbyUpdateReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_SendInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_SendInvite(IntPtr handle, ref Lobby.SendInviteOptionsInternal options, IntPtr clientData, Lobby.OnSendInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_UpdateLobby", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Lobby_UpdateLobby(IntPtr handle, ref Lobby.UpdateLobbyOptionsInternal options, IntPtr clientData, Lobby.OnUpdateLobbyCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Lobby_UpdateLobbyModification", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Lobby_UpdateLobbyModification(IntPtr handle, ref Lobby.UpdateLobbyModificationOptionsInternal options, out IntPtr outLobbyModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Logging_SetCallback", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Logging_SetCallback(Logging.LogMessageFuncInternal callback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Logging_SetLogLevel", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Logging_SetLogLevel(Logging.LogCategory logCategory, Logging.LogLevel logLevel); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Metrics_BeginPlayerSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Metrics_BeginPlayerSession(IntPtr handle, ref Metrics.BeginPlayerSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Metrics_EndPlayerSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Metrics_EndPlayerSession(IntPtr handle, ref Metrics.EndPlayerSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Mods_CopyModInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Mods_CopyModInfo(IntPtr handle, ref Mods.CopyModInfoOptionsInternal options, out IntPtr outEnumeratedMods); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Mods_EnumerateMods", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Mods_EnumerateMods(IntPtr handle, ref Mods.EnumerateModsOptionsInternal options, IntPtr clientData, Mods.OnEnumerateModsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Mods_InstallMod", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Mods_InstallMod(IntPtr handle, ref Mods.InstallModOptionsInternal options, IntPtr clientData, Mods.OnInstallModCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Mods_ModInfo_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Mods_ModInfo_Release(IntPtr modInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Mods_UninstallMod", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Mods_UninstallMod(IntPtr handle, ref Mods.UninstallModOptionsInternal options, IntPtr clientData, Mods.OnUninstallModCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Mods_UpdateMod", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Mods_UpdateMod(IntPtr handle, ref Mods.UpdateModOptionsInternal options, IntPtr clientData, Mods.OnUpdateModCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_AcceptConnection", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_AcceptConnection(IntPtr handle, ref P2P.AcceptConnectionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_AddNotifyIncomingPacketQueueFull", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_P2P_AddNotifyIncomingPacketQueueFull(IntPtr handle, ref P2P.AddNotifyIncomingPacketQueueFullOptionsInternal options, IntPtr clientData, P2P.OnIncomingPacketQueueFullCallbackInternal incomingPacketQueueFullHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_AddNotifyPeerConnectionClosed", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_P2P_AddNotifyPeerConnectionClosed(IntPtr handle, ref P2P.AddNotifyPeerConnectionClosedOptionsInternal options, IntPtr clientData, P2P.OnRemoteConnectionClosedCallbackInternal connectionClosedHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_AddNotifyPeerConnectionEstablished", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_P2P_AddNotifyPeerConnectionEstablished(IntPtr handle, ref P2P.AddNotifyPeerConnectionEstablishedOptionsInternal options, IntPtr clientData, P2P.OnPeerConnectionEstablishedCallbackInternal connectionEstablishedHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_AddNotifyPeerConnectionInterrupted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_P2P_AddNotifyPeerConnectionInterrupted(IntPtr handle, ref P2P.AddNotifyPeerConnectionInterruptedOptionsInternal options, IntPtr clientData, P2P.OnPeerConnectionInterruptedCallbackInternal connectionInterruptedHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_AddNotifyPeerConnectionRequest", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_P2P_AddNotifyPeerConnectionRequest(IntPtr handle, ref P2P.AddNotifyPeerConnectionRequestOptionsInternal options, IntPtr clientData, P2P.OnIncomingConnectionRequestCallbackInternal connectionRequestHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_ClearPacketQueue", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_ClearPacketQueue(IntPtr handle, ref P2P.ClearPacketQueueOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_CloseConnection", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_CloseConnection(IntPtr handle, ref P2P.CloseConnectionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_CloseConnections", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_CloseConnections(IntPtr handle, ref P2P.CloseConnectionsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_GetNATType", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_GetNATType(IntPtr handle, ref P2P.GetNATTypeOptionsInternal options, out P2P.NATType outNATType); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_GetNextReceivedPacketSize", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_GetNextReceivedPacketSize(IntPtr handle, ref P2P.GetNextReceivedPacketSizeOptionsInternal options, out uint outPacketSizeBytes); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_GetPacketQueueInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_GetPacketQueueInfo(IntPtr handle, ref P2P.GetPacketQueueInfoOptionsInternal options, out P2P.PacketQueueInfoInternal outPacketQueueInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_GetPortRange", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_GetPortRange(IntPtr handle, ref P2P.GetPortRangeOptionsInternal options, out ushort outPort, out ushort outNumAdditionalPortsToTry); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_GetRelayControl", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_GetRelayControl(IntPtr handle, ref P2P.GetRelayControlOptionsInternal options, out P2P.RelayControl outRelayControl); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_QueryNATType", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_P2P_QueryNATType(IntPtr handle, ref P2P.QueryNATTypeOptionsInternal options, IntPtr clientData, P2P.OnQueryNATTypeCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_ReceivePacket", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_ReceivePacket(IntPtr handle, ref P2P.ReceivePacketOptionsInternal options, out IntPtr outPeerId, IntPtr outSocketId, out byte outChannel, IntPtr outData, out uint outBytesWritten); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_RemoveNotifyIncomingPacketQueueFull", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_P2P_RemoveNotifyIncomingPacketQueueFull(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_RemoveNotifyPeerConnectionClosed", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_P2P_RemoveNotifyPeerConnectionClosed(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_RemoveNotifyPeerConnectionEstablished", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_P2P_RemoveNotifyPeerConnectionEstablished(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_RemoveNotifyPeerConnectionInterrupted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_P2P_RemoveNotifyPeerConnectionInterrupted(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_RemoveNotifyPeerConnectionRequest", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_P2P_RemoveNotifyPeerConnectionRequest(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_SendPacket", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_SendPacket(IntPtr handle, ref P2P.SendPacketOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_SetPacketQueueSize", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_SetPacketQueueSize(IntPtr handle, ref P2P.SetPacketQueueSizeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_SetPortRange", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_SetPortRange(IntPtr handle, ref P2P.SetPortRangeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_P2P_SetRelayControl", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_P2P_SetRelayControl(IntPtr handle, ref P2P.SetRelayControlOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_CheckForLauncherAndRestart", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_CheckForLauncherAndRestart(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_Create", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_Create(ref Platform.OptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetAchievementsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetAchievementsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetActiveCountryCode", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_GetActiveCountryCode(IntPtr handle, IntPtr localUserId, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetActiveLocaleCode", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_GetActiveLocaleCode(IntPtr handle, IntPtr localUserId, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetAntiCheatClientInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetAntiCheatClientInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetAntiCheatServerInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetAntiCheatServerInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetApplicationStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Platform.ApplicationStatus EOS_Platform_GetApplicationStatus(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetAuthInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetAuthInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetConnectInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetConnectInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetCustomInvitesInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetCustomInvitesInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetDesktopCrossplayStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_GetDesktopCrossplayStatus(IntPtr handle, ref Platform.GetDesktopCrossplayStatusOptionsInternal options, out Platform.DesktopCrossplayStatusInfoInternal outDesktopCrossplayStatusInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetEcomInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetEcomInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetFriendsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetFriendsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetIntegratedPlatformInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetIntegratedPlatformInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetKWSInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetKWSInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetLeaderboardsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetLeaderboardsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetLobbyInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetLobbyInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetMetricsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetMetricsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetModsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetModsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetNetworkStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Platform.NetworkStatus EOS_Platform_GetNetworkStatus(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetOverrideCountryCode", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_GetOverrideCountryCode(IntPtr handle, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetOverrideLocaleCode", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_GetOverrideLocaleCode(IntPtr handle, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetP2PInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetP2PInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetPlayerDataStorageInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetPlayerDataStorageInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetPresenceInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetPresenceInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetProgressionSnapshotInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetProgressionSnapshotInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetRTCAdminInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetRTCAdminInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetRTCInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetRTCInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetReportsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetReportsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetSanctionsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetSanctionsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetSessionsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetSessionsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetStatsInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetStatsInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetTitleStorageInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetTitleStorageInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetUIInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetUIInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_GetUserInfoInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_Platform_GetUserInfoInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Platform_Release(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_SetApplicationStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_SetApplicationStatus(IntPtr handle, Platform.ApplicationStatus newStatus); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_SetNetworkStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_SetNetworkStatus(IntPtr handle, Platform.NetworkStatus newStatus); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_SetOverrideCountryCode", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_SetOverrideCountryCode(IntPtr handle, IntPtr newCountryCode); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_SetOverrideLocaleCode", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Platform_SetOverrideLocaleCode(IntPtr handle, IntPtr newLocaleCode); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Platform_Tick", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Platform_Tick(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorageFileTransferRequest_CancelRequest", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorageFileTransferRequest_CancelRequest(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorageFileTransferRequest_GetFilename", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorageFileTransferRequest_GetFilename(IntPtr handle, uint filenameStringBufferSizeBytes, IntPtr outStringBuffer, out int outStringLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorageFileTransferRequest_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PlayerDataStorageFileTransferRequest_Release(IntPtr playerDataStorageFileTransferHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_CopyFileMetadataAtIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorage_CopyFileMetadataAtIndex(IntPtr handle, ref PlayerDataStorage.CopyFileMetadataAtIndexOptionsInternal copyFileMetadataOptions, out IntPtr outMetadata); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_CopyFileMetadataByFilename", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorage_CopyFileMetadataByFilename(IntPtr handle, ref PlayerDataStorage.CopyFileMetadataByFilenameOptionsInternal copyFileMetadataOptions, out IntPtr outMetadata); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_DeleteCache", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorage_DeleteCache(IntPtr handle, ref PlayerDataStorage.DeleteCacheOptionsInternal options, IntPtr clientData, PlayerDataStorage.OnDeleteCacheCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_DeleteFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PlayerDataStorage_DeleteFile(IntPtr handle, ref PlayerDataStorage.DeleteFileOptionsInternal deleteOptions, IntPtr clientData, PlayerDataStorage.OnDeleteFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_DuplicateFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PlayerDataStorage_DuplicateFile(IntPtr handle, ref PlayerDataStorage.DuplicateFileOptionsInternal duplicateOptions, IntPtr clientData, PlayerDataStorage.OnDuplicateFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_FileMetadata_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PlayerDataStorage_FileMetadata_Release(IntPtr fileMetadata); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_GetFileMetadataCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PlayerDataStorage_GetFileMetadataCount(IntPtr handle, ref PlayerDataStorage.GetFileMetadataCountOptionsInternal getFileMetadataCountOptions, out int outFileMetadataCount); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_QueryFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PlayerDataStorage_QueryFile(IntPtr handle, ref PlayerDataStorage.QueryFileOptionsInternal queryFileOptions, IntPtr clientData, PlayerDataStorage.OnQueryFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_QueryFileList", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PlayerDataStorage_QueryFileList(IntPtr handle, ref PlayerDataStorage.QueryFileListOptionsInternal queryFileListOptions, IntPtr clientData, PlayerDataStorage.OnQueryFileListCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_ReadFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_PlayerDataStorage_ReadFile(IntPtr handle, ref PlayerDataStorage.ReadFileOptionsInternal readOptions, IntPtr clientData, PlayerDataStorage.OnReadFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PlayerDataStorage_WriteFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_PlayerDataStorage_WriteFile(IntPtr handle, ref PlayerDataStorage.WriteFileOptionsInternal writeOptions, IntPtr clientData, PlayerDataStorage.OnWriteFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_DeleteData", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_DeleteData(IntPtr handle, ref Presence.PresenceModificationDeleteDataOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_PresenceModification_Release(IntPtr presenceModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_SetData", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_SetData(IntPtr handle, ref Presence.PresenceModificationSetDataOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_SetJoinInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_SetJoinInfo(IntPtr handle, ref Presence.PresenceModificationSetJoinInfoOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_SetRawRichText", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_SetRawRichText(IntPtr handle, ref Presence.PresenceModificationSetRawRichTextOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_SetStatus", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_SetStatus(IntPtr handle, ref Presence.PresenceModificationSetStatusOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_SetTemplateData", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_SetTemplateData(IntPtr handle, ref Presence.PresenceModificationSetTemplateDataOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_PresenceModification_SetTemplateId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_PresenceModification_SetTemplateId(IntPtr handle, ref Presence.PresenceModificationSetTemplateIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_AddNotifyJoinGameAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Presence_AddNotifyJoinGameAccepted(IntPtr handle, ref Presence.AddNotifyJoinGameAcceptedOptionsInternal options, IntPtr clientData, Presence.OnJoinGameAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_AddNotifyOnPresenceChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Presence_AddNotifyOnPresenceChanged(IntPtr handle, ref Presence.AddNotifyOnPresenceChangedOptionsInternal options, IntPtr clientData, Presence.OnPresenceChangedCallbackInternal notificationHandler); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_CopyPresence", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Presence_CopyPresence(IntPtr handle, ref Presence.CopyPresenceOptionsInternal options, out IntPtr outPresence); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_CreatePresenceModification", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Presence_CreatePresenceModification(IntPtr handle, ref Presence.CreatePresenceModificationOptionsInternal options, out IntPtr outPresenceModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_GetJoinInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Presence_GetJoinInfo(IntPtr handle, ref Presence.GetJoinInfoOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_HasPresence", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_Presence_HasPresence(IntPtr handle, ref Presence.HasPresenceOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_Info_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Presence_Info_Release(IntPtr presenceInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_QueryPresence", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Presence_QueryPresence(IntPtr handle, ref Presence.QueryPresenceOptionsInternal options, IntPtr clientData, Presence.OnQueryPresenceCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_RemoveNotifyJoinGameAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Presence_RemoveNotifyJoinGameAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_RemoveNotifyOnPresenceChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Presence_RemoveNotifyOnPresenceChanged(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Presence_SetPresence", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Presence_SetPresence(IntPtr handle, ref Presence.SetPresenceOptionsInternal options, IntPtr clientData, Presence.SetPresenceCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProductUserId_FromString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_ProductUserId_FromString(IntPtr productUserIdString); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProductUserId_IsValid", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_ProductUserId_IsValid(IntPtr accountId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProductUserId_ToString", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ProductUserId_ToString(IntPtr accountId, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProgressionSnapshot_AddProgression", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ProgressionSnapshot_AddProgression(IntPtr handle, ref ProgressionSnapshot.AddProgressionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProgressionSnapshot_BeginSnapshot", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ProgressionSnapshot_BeginSnapshot(IntPtr handle, ref ProgressionSnapshot.BeginSnapshotOptionsInternal options, out uint outSnapshotId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProgressionSnapshot_DeleteSnapshot", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_ProgressionSnapshot_DeleteSnapshot(IntPtr handle, ref ProgressionSnapshot.DeleteSnapshotOptionsInternal options, IntPtr clientData, ProgressionSnapshot.OnDeleteSnapshotCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProgressionSnapshot_EndSnapshot", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_ProgressionSnapshot_EndSnapshot(IntPtr handle, ref ProgressionSnapshot.EndSnapshotOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_ProgressionSnapshot_SubmitSnapshot", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_ProgressionSnapshot_SubmitSnapshot(IntPtr handle, ref ProgressionSnapshot.SubmitSnapshotOptionsInternal options, IntPtr clientData, ProgressionSnapshot.OnSubmitSnapshotCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAdmin_CopyUserTokenByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAdmin_CopyUserTokenByIndex(IntPtr handle, ref RTCAdmin.CopyUserTokenByIndexOptionsInternal options, out IntPtr outUserToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAdmin_CopyUserTokenByUserId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAdmin_CopyUserTokenByUserId(IntPtr handle, ref RTCAdmin.CopyUserTokenByUserIdOptionsInternal options, out IntPtr outUserToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAdmin_Kick", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAdmin_Kick(IntPtr handle, ref RTCAdmin.KickOptionsInternal options, IntPtr clientData, RTCAdmin.OnKickCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAdmin_QueryJoinRoomToken", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAdmin_QueryJoinRoomToken(IntPtr handle, ref RTCAdmin.QueryJoinRoomTokenOptionsInternal options, IntPtr clientData, RTCAdmin.OnQueryJoinRoomTokenCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAdmin_SetParticipantHardMute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAdmin_SetParticipantHardMute(IntPtr handle, ref RTCAdmin.SetParticipantHardMuteOptionsInternal options, IntPtr clientData, RTCAdmin.OnSetParticipantHardMuteCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAdmin_UserToken_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAdmin_UserToken_Release(IntPtr userToken); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_AddNotifyAudioBeforeRender", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCAudio_AddNotifyAudioBeforeRender(IntPtr handle, ref RTCAudio.AddNotifyAudioBeforeRenderOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioBeforeRenderCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_AddNotifyAudioBeforeSend", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCAudio_AddNotifyAudioBeforeSend(IntPtr handle, ref RTCAudio.AddNotifyAudioBeforeSendOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioBeforeSendCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_AddNotifyAudioDevicesChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCAudio_AddNotifyAudioDevicesChanged(IntPtr handle, ref RTCAudio.AddNotifyAudioDevicesChangedOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioDevicesChangedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_AddNotifyAudioInputState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCAudio_AddNotifyAudioInputState(IntPtr handle, ref RTCAudio.AddNotifyAudioInputStateOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioInputStateCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_AddNotifyAudioOutputState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCAudio_AddNotifyAudioOutputState(IntPtr handle, ref RTCAudio.AddNotifyAudioOutputStateOptionsInternal options, IntPtr clientData, RTCAudio.OnAudioOutputStateCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_AddNotifyParticipantUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCAudio_AddNotifyParticipantUpdated(IntPtr handle, ref RTCAudio.AddNotifyParticipantUpdatedOptionsInternal options, IntPtr clientData, RTCAudio.OnParticipantUpdatedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_CopyInputDeviceInformationByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_CopyInputDeviceInformationByIndex(IntPtr handle, ref RTCAudio.CopyInputDeviceInformationByIndexOptionsInternal options, out IntPtr outInputDeviceInformation); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_CopyOutputDeviceInformationByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_CopyOutputDeviceInformationByIndex(IntPtr handle, ref RTCAudio.CopyOutputDeviceInformationByIndexOptionsInternal options, out IntPtr outOutputDeviceInformation); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_GetAudioInputDeviceByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_RTCAudio_GetAudioInputDeviceByIndex(IntPtr handle, ref RTCAudio.GetAudioInputDeviceByIndexOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_GetAudioInputDevicesCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_RTCAudio_GetAudioInputDevicesCount(IntPtr handle, ref RTCAudio.GetAudioInputDevicesCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_GetAudioOutputDeviceByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_RTCAudio_GetAudioOutputDeviceByIndex(IntPtr handle, ref RTCAudio.GetAudioOutputDeviceByIndexOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_GetAudioOutputDevicesCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_RTCAudio_GetAudioOutputDevicesCount(IntPtr handle, ref RTCAudio.GetAudioOutputDevicesCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_GetInputDevicesCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_RTCAudio_GetInputDevicesCount(IntPtr handle, ref RTCAudio.GetInputDevicesCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_GetOutputDevicesCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_RTCAudio_GetOutputDevicesCount(IntPtr handle, ref RTCAudio.GetOutputDevicesCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_InputDeviceInformation_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_InputDeviceInformation_Release(IntPtr deviceInformation); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_OutputDeviceInformation_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_OutputDeviceInformation_Release(IntPtr deviceInformation); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_QueryInputDevicesInformation", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_QueryInputDevicesInformation(IntPtr handle, ref RTCAudio.QueryInputDevicesInformationOptionsInternal options, IntPtr clientData, RTCAudio.OnQueryInputDevicesInformationCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_QueryOutputDevicesInformation", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_QueryOutputDevicesInformation(IntPtr handle, ref RTCAudio.QueryOutputDevicesInformationOptionsInternal options, IntPtr clientData, RTCAudio.OnQueryOutputDevicesInformationCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RegisterPlatformAudioUser", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_RegisterPlatformAudioUser(IntPtr handle, ref RTCAudio.RegisterPlatformAudioUserOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RegisterPlatformUser", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RegisterPlatformUser(IntPtr handle, ref RTCAudio.RegisterPlatformUserOptionsInternal options, IntPtr clientData, RTCAudio.OnRegisterPlatformUserCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RemoveNotifyAudioBeforeRender", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RemoveNotifyAudioBeforeRender(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RemoveNotifyAudioBeforeSend", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RemoveNotifyAudioBeforeSend(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RemoveNotifyAudioDevicesChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RemoveNotifyAudioDevicesChanged(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RemoveNotifyAudioInputState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RemoveNotifyAudioInputState(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RemoveNotifyAudioOutputState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RemoveNotifyAudioOutputState(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_RemoveNotifyParticipantUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_RemoveNotifyParticipantUpdated(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_SendAudio", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_SendAudio(IntPtr handle, ref RTCAudio.SendAudioOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_SetAudioInputSettings", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_SetAudioInputSettings(IntPtr handle, ref RTCAudio.SetAudioInputSettingsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_SetAudioOutputSettings", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_SetAudioOutputSettings(IntPtr handle, ref RTCAudio.SetAudioOutputSettingsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_SetInputDeviceSettings", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_SetInputDeviceSettings(IntPtr handle, ref RTCAudio.SetInputDeviceSettingsOptionsInternal options, IntPtr clientData, RTCAudio.OnSetInputDeviceSettingsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_SetOutputDeviceSettings", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_SetOutputDeviceSettings(IntPtr handle, ref RTCAudio.SetOutputDeviceSettingsOptionsInternal options, IntPtr clientData, RTCAudio.OnSetOutputDeviceSettingsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UnregisterPlatformAudioUser", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCAudio_UnregisterPlatformAudioUser(IntPtr handle, ref RTCAudio.UnregisterPlatformAudioUserOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UnregisterPlatformUser", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_UnregisterPlatformUser(IntPtr handle, ref RTCAudio.UnregisterPlatformUserOptionsInternal options, IntPtr clientData, RTCAudio.OnUnregisterPlatformUserCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UpdateParticipantVolume", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_UpdateParticipantVolume(IntPtr handle, ref RTCAudio.UpdateParticipantVolumeOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateParticipantVolumeCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UpdateReceiving", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_UpdateReceiving(IntPtr handle, ref RTCAudio.UpdateReceivingOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateReceivingCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UpdateReceivingVolume", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_UpdateReceivingVolume(IntPtr handle, ref RTCAudio.UpdateReceivingVolumeOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateReceivingVolumeCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UpdateSending", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_UpdateSending(IntPtr handle, ref RTCAudio.UpdateSendingOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateSendingCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCAudio_UpdateSendingVolume", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCAudio_UpdateSendingVolume(IntPtr handle, ref RTCAudio.UpdateSendingVolumeOptionsInternal options, IntPtr clientData, RTCAudio.OnUpdateSendingVolumeCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_AddNotifyDataReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCData_AddNotifyDataReceived(IntPtr handle, ref RTCData.AddNotifyDataReceivedOptionsInternal options, IntPtr clientData, RTCData.OnDataReceivedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_AddNotifyParticipantUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTCData_AddNotifyParticipantUpdated(IntPtr handle, ref RTCData.AddNotifyParticipantUpdatedOptionsInternal options, IntPtr clientData, RTCData.OnParticipantUpdatedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_RemoveNotifyDataReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCData_RemoveNotifyDataReceived(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_RemoveNotifyParticipantUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCData_RemoveNotifyParticipantUpdated(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_SendData", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTCData_SendData(IntPtr handle, ref RTCData.SendDataOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_UpdateReceiving", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCData_UpdateReceiving(IntPtr handle, ref RTCData.UpdateReceivingOptionsInternal options, IntPtr clientData, RTCData.OnUpdateReceivingCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTCData_UpdateSending", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTCData_UpdateSending(IntPtr handle, ref RTCData.UpdateSendingOptionsInternal options, IntPtr clientData, RTCData.OnUpdateSendingCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_AddNotifyDisconnected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTC_AddNotifyDisconnected(IntPtr handle, ref RTC.AddNotifyDisconnectedOptionsInternal options, IntPtr clientData, RTC.OnDisconnectedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_AddNotifyParticipantStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTC_AddNotifyParticipantStatusChanged(IntPtr handle, ref RTC.AddNotifyParticipantStatusChangedOptionsInternal options, IntPtr clientData, RTC.OnParticipantStatusChangedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_AddNotifyRoomBeforeJoin", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTC_AddNotifyRoomBeforeJoin(IntPtr handle, ref RTC.AddNotifyRoomBeforeJoinOptionsInternal options, IntPtr clientData, RTC.OnRoomBeforeJoinCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_AddNotifyRoomStatisticsUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_RTC_AddNotifyRoomStatisticsUpdated(IntPtr handle, ref RTC.AddNotifyRoomStatisticsUpdatedOptionsInternal options, IntPtr clientData, RTC.OnRoomStatisticsUpdatedCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_BlockParticipant", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_BlockParticipant(IntPtr handle, ref RTC.BlockParticipantOptionsInternal options, IntPtr clientData, RTC.OnBlockParticipantCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_GetAudioInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_RTC_GetAudioInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_GetDataInterface", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_RTC_GetDataInterface(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_JoinRoom", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_JoinRoom(IntPtr handle, ref RTC.JoinRoomOptionsInternal options, IntPtr clientData, RTC.OnJoinRoomCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_LeaveRoom", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_LeaveRoom(IntPtr handle, ref RTC.LeaveRoomOptionsInternal options, IntPtr clientData, RTC.OnLeaveRoomCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_RemoveNotifyDisconnected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_RemoveNotifyDisconnected(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_RemoveNotifyParticipantStatusChanged", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_RemoveNotifyParticipantStatusChanged(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_RemoveNotifyRoomBeforeJoin", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_RemoveNotifyRoomBeforeJoin(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_RemoveNotifyRoomStatisticsUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_RTC_RemoveNotifyRoomStatisticsUpdated(IntPtr handle, ulong notificationId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_SetRoomSetting", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTC_SetRoomSetting(IntPtr handle, ref RTC.SetRoomSettingOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_RTC_SetSetting", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_RTC_SetSetting(IntPtr handle, ref RTC.SetSettingOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Reports_SendPlayerBehaviorReport", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Reports_SendPlayerBehaviorReport(IntPtr handle, ref Reports.SendPlayerBehaviorReportOptionsInternal options, IntPtr clientData, Reports.OnSendPlayerBehaviorReportCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sanctions_CopyPlayerSanctionByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sanctions_CopyPlayerSanctionByIndex(IntPtr handle, ref Sanctions.CopyPlayerSanctionByIndexOptionsInternal options, out IntPtr outSanction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sanctions_CreatePlayerSanctionAppeal", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sanctions_CreatePlayerSanctionAppeal(IntPtr handle, ref Sanctions.CreatePlayerSanctionAppealOptionsInternal options, IntPtr clientData, Sanctions.CreatePlayerSanctionAppealCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sanctions_GetPlayerSanctionCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Sanctions_GetPlayerSanctionCount(IntPtr handle, ref Sanctions.GetPlayerSanctionCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sanctions_PlayerSanction_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sanctions_PlayerSanction_Release(IntPtr sanction); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sanctions_QueryActivePlayerSanctions", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sanctions_QueryActivePlayerSanctions(IntPtr handle, ref Sanctions.QueryActivePlayerSanctionsOptionsInternal options, IntPtr clientData, Sanctions.OnQueryActivePlayerSanctionsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_Attribute_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_SessionDetails_Attribute_Release(IntPtr sessionAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_CopyInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionDetails_CopyInfo(IntPtr handle, ref Sessions.SessionDetailsCopyInfoOptionsInternal options, out IntPtr outSessionInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_CopySessionAttributeByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionDetails_CopySessionAttributeByIndex(IntPtr handle, ref Sessions.SessionDetailsCopySessionAttributeByIndexOptionsInternal options, out IntPtr outSessionAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_CopySessionAttributeByKey", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionDetails_CopySessionAttributeByKey(IntPtr handle, ref Sessions.SessionDetailsCopySessionAttributeByKeyOptionsInternal options, out IntPtr outSessionAttribute); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_GetSessionAttributeCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_SessionDetails_GetSessionAttributeCount(IntPtr handle, ref Sessions.SessionDetailsGetSessionAttributeCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_Info_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_SessionDetails_Info_Release(IntPtr sessionInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionDetails_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_SessionDetails_Release(IntPtr sessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_AddAttribute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_AddAttribute(IntPtr handle, ref Sessions.SessionModificationAddAttributeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_SessionModification_Release(IntPtr sessionModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_RemoveAttribute", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_RemoveAttribute(IntPtr handle, ref Sessions.SessionModificationRemoveAttributeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetAllowedPlatformIds", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetAllowedPlatformIds(IntPtr handle, ref Sessions.SessionModificationSetAllowedPlatformIdsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetBucketId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetBucketId(IntPtr handle, ref Sessions.SessionModificationSetBucketIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetHostAddress", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetHostAddress(IntPtr handle, ref Sessions.SessionModificationSetHostAddressOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetInvitesAllowed", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetInvitesAllowed(IntPtr handle, ref Sessions.SessionModificationSetInvitesAllowedOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetJoinInProgressAllowed", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetJoinInProgressAllowed(IntPtr handle, ref Sessions.SessionModificationSetJoinInProgressAllowedOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetMaxPlayers", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetMaxPlayers(IntPtr handle, ref Sessions.SessionModificationSetMaxPlayersOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionModification_SetPermissionLevel", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionModification_SetPermissionLevel(IntPtr handle, ref Sessions.SessionModificationSetPermissionLevelOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_CopySearchResultByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionSearch_CopySearchResultByIndex(IntPtr handle, ref Sessions.SessionSearchCopySearchResultByIndexOptionsInternal options, out IntPtr outSessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_Find", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_SessionSearch_Find(IntPtr handle, ref Sessions.SessionSearchFindOptionsInternal options, IntPtr clientData, Sessions.SessionSearchOnFindCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_GetSearchResultCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_SessionSearch_GetSearchResultCount(IntPtr handle, ref Sessions.SessionSearchGetSearchResultCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_SessionSearch_Release(IntPtr sessionSearchHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_RemoveParameter", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionSearch_RemoveParameter(IntPtr handle, ref Sessions.SessionSearchRemoveParameterOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_SetMaxResults", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionSearch_SetMaxResults(IntPtr handle, ref Sessions.SessionSearchSetMaxResultsOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_SetParameter", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionSearch_SetParameter(IntPtr handle, ref Sessions.SessionSearchSetParameterOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_SetSessionId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionSearch_SetSessionId(IntPtr handle, ref Sessions.SessionSearchSetSessionIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_SessionSearch_SetTargetUserId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_SessionSearch_SetTargetUserId(IntPtr handle, ref Sessions.SessionSearchSetTargetUserIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_AddNotifyJoinSessionAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Sessions_AddNotifyJoinSessionAccepted(IntPtr handle, ref Sessions.AddNotifyJoinSessionAcceptedOptionsInternal options, IntPtr clientData, Sessions.OnJoinSessionAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_AddNotifyLeaveSessionRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Sessions_AddNotifyLeaveSessionRequested(IntPtr handle, ref Sessions.AddNotifyLeaveSessionRequestedOptionsInternal options, IntPtr clientData, Sessions.OnLeaveSessionRequestedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_AddNotifySendSessionNativeInviteRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Sessions_AddNotifySendSessionNativeInviteRequested(IntPtr handle, ref Sessions.AddNotifySendSessionNativeInviteRequestedOptionsInternal options, IntPtr clientData, Sessions.OnSendSessionNativeInviteRequestedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_AddNotifySessionInviteAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Sessions_AddNotifySessionInviteAccepted(IntPtr handle, ref Sessions.AddNotifySessionInviteAcceptedOptionsInternal options, IntPtr clientData, Sessions.OnSessionInviteAcceptedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_AddNotifySessionInviteReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Sessions_AddNotifySessionInviteReceived(IntPtr handle, ref Sessions.AddNotifySessionInviteReceivedOptionsInternal options, IntPtr clientData, Sessions.OnSessionInviteReceivedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_AddNotifySessionInviteRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_Sessions_AddNotifySessionInviteRejected(IntPtr handle, ref Sessions.AddNotifySessionInviteRejectedOptionsInternal options, IntPtr clientData, Sessions.OnSessionInviteRejectedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_CopyActiveSessionHandle", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_CopyActiveSessionHandle(IntPtr handle, ref Sessions.CopyActiveSessionHandleOptionsInternal options, out IntPtr outSessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_CopySessionHandleByInviteId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_CopySessionHandleByInviteId(IntPtr handle, ref Sessions.CopySessionHandleByInviteIdOptionsInternal options, out IntPtr outSessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_CopySessionHandleByUiEventId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_CopySessionHandleByUiEventId(IntPtr handle, ref Sessions.CopySessionHandleByUiEventIdOptionsInternal options, out IntPtr outSessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_CopySessionHandleForPresence", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_CopySessionHandleForPresence(IntPtr handle, ref Sessions.CopySessionHandleForPresenceOptionsInternal options, out IntPtr outSessionHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_CreateSessionModification", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_CreateSessionModification(IntPtr handle, ref Sessions.CreateSessionModificationOptionsInternal options, out IntPtr outSessionModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_CreateSessionSearch", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_CreateSessionSearch(IntPtr handle, ref Sessions.CreateSessionSearchOptionsInternal options, out IntPtr outSessionSearchHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_DestroySession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_DestroySession(IntPtr handle, ref Sessions.DestroySessionOptionsInternal options, IntPtr clientData, Sessions.OnDestroySessionCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_DumpSessionState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_DumpSessionState(IntPtr handle, ref Sessions.DumpSessionStateOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_EndSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_EndSession(IntPtr handle, ref Sessions.EndSessionOptionsInternal options, IntPtr clientData, Sessions.OnEndSessionCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_GetInviteCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Sessions_GetInviteCount(IntPtr handle, ref Sessions.GetInviteCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_GetInviteIdByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_GetInviteIdByIndex(IntPtr handle, ref Sessions.GetInviteIdByIndexOptionsInternal options, IntPtr outBuffer, ref int inOutBufferLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_IsUserInSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_IsUserInSession(IntPtr handle, ref Sessions.IsUserInSessionOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_JoinSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_JoinSession(IntPtr handle, ref Sessions.JoinSessionOptionsInternal options, IntPtr clientData, Sessions.OnJoinSessionCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_QueryInvites", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_QueryInvites(IntPtr handle, ref Sessions.QueryInvitesOptionsInternal options, IntPtr clientData, Sessions.OnQueryInvitesCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RegisterPlayers", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RegisterPlayers(IntPtr handle, ref Sessions.RegisterPlayersOptionsInternal options, IntPtr clientData, Sessions.OnRegisterPlayersCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RejectInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RejectInvite(IntPtr handle, ref Sessions.RejectInviteOptionsInternal options, IntPtr clientData, Sessions.OnRejectInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RemoveNotifyJoinSessionAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RemoveNotifyJoinSessionAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RemoveNotifyLeaveSessionRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RemoveNotifyLeaveSessionRequested(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RemoveNotifySendSessionNativeInviteRequested(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RemoveNotifySessionInviteAccepted", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RemoveNotifySessionInviteAccepted(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RemoveNotifySessionInviteReceived", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RemoveNotifySessionInviteReceived(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_RemoveNotifySessionInviteRejected", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_RemoveNotifySessionInviteRejected(IntPtr handle, ulong inId); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_SendInvite", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_SendInvite(IntPtr handle, ref Sessions.SendInviteOptionsInternal options, IntPtr clientData, Sessions.OnSendInviteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_StartSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_StartSession(IntPtr handle, ref Sessions.StartSessionOptionsInternal options, IntPtr clientData, Sessions.OnStartSessionCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_UnregisterPlayers", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_UnregisterPlayers(IntPtr handle, ref Sessions.UnregisterPlayersOptionsInternal options, IntPtr clientData, Sessions.OnUnregisterPlayersCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_UpdateSession", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Sessions_UpdateSession(IntPtr handle, ref Sessions.UpdateSessionOptionsInternal options, IntPtr clientData, Sessions.OnUpdateSessionCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Sessions_UpdateSessionModification", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Sessions_UpdateSessionModification(IntPtr handle, ref Sessions.UpdateSessionModificationOptionsInternal options, out IntPtr outSessionModificationHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Shutdown", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Shutdown(); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Stats_CopyStatByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Stats_CopyStatByIndex(IntPtr handle, ref Stats.CopyStatByIndexOptionsInternal options, out IntPtr outStat); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Stats_CopyStatByName", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_Stats_CopyStatByName(IntPtr handle, ref Stats.CopyStatByNameOptionsInternal options, out IntPtr outStat); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Stats_GetStatsCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_Stats_GetStatsCount(IntPtr handle, ref Stats.GetStatCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Stats_IngestStat", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Stats_IngestStat(IntPtr handle, ref Stats.IngestStatOptionsInternal options, IntPtr clientData, Stats.OnIngestStatCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Stats_QueryStats", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Stats_QueryStats(IntPtr handle, ref Stats.QueryStatsOptionsInternal options, IntPtr clientData, Stats.OnQueryStatsCompleteCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Stats_Stat_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Stats_Stat_Release(IntPtr stat); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorageFileTransferRequest_CancelRequest", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_TitleStorageFileTransferRequest_CancelRequest(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorageFileTransferRequest_GetFileRequestState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_TitleStorageFileTransferRequest_GetFileRequestState(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorageFileTransferRequest_GetFilename", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_TitleStorageFileTransferRequest_GetFilename(IntPtr handle, uint filenameStringBufferSizeBytes, IntPtr outStringBuffer, out int outStringLength); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorageFileTransferRequest_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_TitleStorageFileTransferRequest_Release(IntPtr titleStorageFileTransferHandle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_CopyFileMetadataAtIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_TitleStorage_CopyFileMetadataAtIndex(IntPtr handle, ref TitleStorage.CopyFileMetadataAtIndexOptionsInternal options, out IntPtr outMetadata); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_CopyFileMetadataByFilename", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_TitleStorage_CopyFileMetadataByFilename(IntPtr handle, ref TitleStorage.CopyFileMetadataByFilenameOptionsInternal options, out IntPtr outMetadata); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_DeleteCache", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_TitleStorage_DeleteCache(IntPtr handle, ref TitleStorage.DeleteCacheOptionsInternal options, IntPtr clientData, TitleStorage.OnDeleteCacheCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_FileMetadata_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_TitleStorage_FileMetadata_Release(IntPtr fileMetadata); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_GetFileMetadataCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_TitleStorage_GetFileMetadataCount(IntPtr handle, ref TitleStorage.GetFileMetadataCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_QueryFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_TitleStorage_QueryFile(IntPtr handle, ref TitleStorage.QueryFileOptionsInternal options, IntPtr clientData, TitleStorage.OnQueryFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_QueryFileList", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_TitleStorage_QueryFileList(IntPtr handle, ref TitleStorage.QueryFileListOptionsInternal options, IntPtr clientData, TitleStorage.OnQueryFileListCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_TitleStorage_ReadFile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern IntPtr EOS_TitleStorage_ReadFile(IntPtr handle, ref TitleStorage.ReadFileOptionsInternal options, IntPtr clientData, TitleStorage.OnReadFileCompleteCallbackInternal completionCallback); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_AcknowledgeEventId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_AcknowledgeEventId(IntPtr handle, ref UI.AcknowledgeEventIdOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_AddNotifyDisplaySettingsUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_UI_AddNotifyDisplaySettingsUpdated(IntPtr handle, ref UI.AddNotifyDisplaySettingsUpdatedOptionsInternal options, IntPtr clientData, UI.OnDisplaySettingsUpdatedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_AddNotifyMemoryMonitor", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_UI_AddNotifyMemoryMonitor(IntPtr handle, ref UI.AddNotifyMemoryMonitorOptionsInternal options, IntPtr clientData, UI.OnMemoryMonitorCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_AddNotifyOnScreenKeyboardRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern ulong EOS_UI_AddNotifyOnScreenKeyboardRequested(IntPtr handle, ref UI.AddNotifyOnScreenKeyboardRequestedOptionsInternal options, IntPtr clientData, UI.OnScreenKeyboardRequestedCallbackInternal notificationFn); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_ConfigureOnScreenKeyboard", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_ConfigureOnScreenKeyboard(IntPtr handle, ref UI.ConfigureOnScreenKeyboardOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_GetFriendsExclusiveInput", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_UI_GetFriendsExclusiveInput(IntPtr handle, ref UI.GetFriendsExclusiveInputOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_GetFriendsVisible", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_UI_GetFriendsVisible(IntPtr handle, ref UI.GetFriendsVisibleOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_GetNotificationLocationPreference", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern UI.NotificationLocation EOS_UI_GetNotificationLocationPreference(IntPtr handle); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_GetToggleFriendsButton", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern UI.InputStateButtonFlags EOS_UI_GetToggleFriendsButton(IntPtr handle, ref UI.GetToggleFriendsButtonOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_GetToggleFriendsKey", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern UI.KeyCombination EOS_UI_GetToggleFriendsKey(IntPtr handle, ref UI.GetToggleFriendsKeyOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_HideFriends", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_HideFriends(IntPtr handle, ref UI.HideFriendsOptionsInternal options, IntPtr clientData, UI.OnHideFriendsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_IsSocialOverlayPaused", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_UI_IsSocialOverlayPaused(IntPtr handle, ref UI.IsSocialOverlayPausedOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_IsValidButtonCombination", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_UI_IsValidButtonCombination(IntPtr handle, UI.InputStateButtonFlags buttonCombination); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_IsValidKeyCombination", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern int EOS_UI_IsValidKeyCombination(IntPtr handle, UI.KeyCombination keyCombination); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_PauseSocialOverlay", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_PauseSocialOverlay(IntPtr handle, ref UI.PauseSocialOverlayOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_PrePresent", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_PrePresent(IntPtr handle, ref UI.PrePresentOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_RemoveNotifyDisplaySettingsUpdated", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_RemoveNotifyDisplaySettingsUpdated(IntPtr handle, ulong id); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_RemoveNotifyMemoryMonitor", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_RemoveNotifyMemoryMonitor(IntPtr handle, ulong id); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_RemoveNotifyOnScreenKeyboardRequested", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_RemoveNotifyOnScreenKeyboardRequested(IntPtr handle, ulong id); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_ReportInputState", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_ReportInputState(IntPtr handle, ref UI.ReportInputStateOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_SetDisplayPreference", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_SetDisplayPreference(IntPtr handle, ref UI.SetDisplayPreferenceOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_SetToggleFriendsButton", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_SetToggleFriendsButton(IntPtr handle, ref UI.SetToggleFriendsButtonOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_SetToggleFriendsKey", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UI_SetToggleFriendsKey(IntPtr handle, ref UI.SetToggleFriendsKeyOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_ShowBlockPlayer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_ShowBlockPlayer(IntPtr handle, ref UI.ShowBlockPlayerOptionsInternal options, IntPtr clientData, UI.OnShowBlockPlayerCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_ShowFriends", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_ShowFriends(IntPtr handle, ref UI.ShowFriendsOptionsInternal options, IntPtr clientData, UI.OnShowFriendsCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_ShowNativeProfile", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_ShowNativeProfile(IntPtr handle, ref UI.ShowNativeProfileOptionsInternal options, IntPtr clientData, UI.OnShowNativeProfileCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UI_ShowReportPlayer", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UI_ShowReportPlayer(IntPtr handle, ref UI.ShowReportPlayerOptionsInternal options, IntPtr clientData, UI.OnShowReportPlayerCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_BestDisplayName_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UserInfo_BestDisplayName_Release(IntPtr bestDisplayName); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_CopyBestDisplayName", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UserInfo_CopyBestDisplayName(IntPtr handle, ref UserInfo.CopyBestDisplayNameOptionsInternal options, out IntPtr outBestDisplayName); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_CopyBestDisplayNameWithPlatform", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UserInfo_CopyBestDisplayNameWithPlatform(IntPtr handle, ref UserInfo.CopyBestDisplayNameWithPlatformOptionsInternal options, out IntPtr outBestDisplayName); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_CopyExternalUserInfoByAccountId", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UserInfo_CopyExternalUserInfoByAccountId(IntPtr handle, ref UserInfo.CopyExternalUserInfoByAccountIdOptionsInternal options, out IntPtr outExternalUserInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_CopyExternalUserInfoByAccountType", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UserInfo_CopyExternalUserInfoByAccountType(IntPtr handle, ref UserInfo.CopyExternalUserInfoByAccountTypeOptionsInternal options, out IntPtr outExternalUserInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_CopyExternalUserInfoByIndex", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UserInfo_CopyExternalUserInfoByIndex(IntPtr handle, ref UserInfo.CopyExternalUserInfoByIndexOptionsInternal options, out IntPtr outExternalUserInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_CopyUserInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern Result EOS_UserInfo_CopyUserInfo(IntPtr handle, ref UserInfo.CopyUserInfoOptionsInternal options, out IntPtr outUserInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_ExternalUserInfo_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UserInfo_ExternalUserInfo_Release(IntPtr externalUserInfo); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_GetExternalUserInfoCount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_UserInfo_GetExternalUserInfoCount(IntPtr handle, ref UserInfo.GetExternalUserInfoCountOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_GetLocalPlatformType", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern uint EOS_UserInfo_GetLocalPlatformType(IntPtr handle, ref UserInfo.GetLocalPlatformTypeOptionsInternal options); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_QueryUserInfo", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UserInfo_QueryUserInfo(IntPtr handle, ref UserInfo.QueryUserInfoOptionsInternal options, IntPtr clientData, UserInfo.OnQueryUserInfoCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_QueryUserInfoByDisplayName", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UserInfo_QueryUserInfoByDisplayName(IntPtr handle, ref UserInfo.QueryUserInfoByDisplayNameOptionsInternal options, IntPtr clientData, UserInfo.OnQueryUserInfoByDisplayNameCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_QueryUserInfoByExternalAccount", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UserInfo_QueryUserInfoByExternalAccount(IntPtr handle, ref UserInfo.QueryUserInfoByExternalAccountOptionsInternal options, IntPtr clientData, UserInfo.OnQueryUserInfoByExternalAccountCallbackInternal completionDelegate); + + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_UserInfo_Release", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_UserInfo_Release(IntPtr userInfo); +#endif + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Common.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Common.cs new file mode 100644 index 0000000..d0a92d6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Common.cs @@ -0,0 +1,105 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices +{ + public sealed partial class Common + { + /// + /// A character buffer of this size is large enough to fit a successful output of . This length does not include the -terminator. + /// The EpicAccountId data structure is opaque in nature and no assumptions of its structure should be inferred + /// + public const int EPICACCOUNTID_MAX_LENGTH = 32; + /// + /// An invalid notification ID + /// + public const ulong INVALID_NOTIFICATIONID = ((ulong)0); + /// + /// A macro to identify an unknown integrated platform. + /// + public static readonly Utf8String IPT_UNKNOWN = (Utf8String)null; + /// + /// Epic online platform + /// + public const int OPT_EPIC = 100; + /// + /// Unknown online platform + /// + public const int OPT_UNKNOWN = 0; + /// + /// A character buffer of this size is large enough to fit a successful output of . This length does not include the -terminator. + /// + public const int PRODUCTUSERID_MAX_LENGTH = 32; + + /// + /// Encode a byte array into hex encoded + /// + /// + /// An that indicates whether the byte array was converted and copied into the OutBuffer. + /// if the encoding was successful and passed out in OutBuffer + /// if you pass a on invalid length for any of the parameters + /// - The OutBuffer is not large enough to receive the encoding. InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public static Result ToString(ArraySegment byteArray, out Utf8String outBuffer) + { + var byteArrayPointer = IntPtr.Zero; + uint length; + Helper.Set(byteArray, ref byteArrayPointer, out length); + + uint inOutBufferLength = 1024; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_ByteArray_ToString(byteArrayPointer, length, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref byteArrayPointer); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + public static Utf8String ToString(ArraySegment byteArray) + { + Utf8String callResult; + ToString(byteArray, out callResult); + return callResult; + } + + /// + /// Returns whether a result is to be considered the final result, or if the callback that returned this result + /// will be called again either after some time or from another action. + /// + /// + /// The result to check against being a final result for an operation + /// + /// + /// True if this result means the operation is complete, otherwise + /// + public static bool IsOperationComplete(Result result) + { + var callResult = Bindings.EOS_EResult_IsOperationComplete(result); + + bool callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Returns a representation of an . + /// The return value is never . + /// The return value must not be freed. + /// + /// Example: () returns "EOS_Success" + /// + public static Utf8String ToString(Result result) + { + var callResult = Bindings.EOS_EResult_ToString(result); + + Utf8String callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ComparisonOp.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ComparisonOp.cs new file mode 100644 index 0000000..7de98c5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ComparisonOp.cs @@ -0,0 +1,74 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + /// + /// All comparison operators associated with attributes. + /// + /// + /// + public enum ComparisonOp : int + { + /// + /// Value must equal the one stored in the attribute + /// + Equal = 0, + /// + /// Value must not equal the one stored in the attribute + /// + Notequal = 1, + /// + /// Value must be strictly greater than the one stored in the attribute + /// + Greaterthan = 2, + /// + /// Value must be greater than or equal to the one stored in the attribute + /// + Greaterthanorequal = 3, + /// + /// Value must be strictly less than the one stored in the attribute + /// + Lessthan = 4, + /// + /// Value must be less than or equal to the one stored in the attribute + /// + Lessthanorequal = 5, + /// + /// Prefer values nearest the one specified ie. abs(SearchValue-SessionValue) closest to 0 + /// + Distance = 6, + /// + /// Value stored in the attribute may be any from a specified list + /// + Anyof = 7, + /// + /// Value stored in the attribute may NOT be any from a specified list + /// + Notanyof = 8, + /// + /// This one value is a part of a collection. Supported in only. + /// + Oneof = 9, + /// + /// This one value is NOT part of a collection. Supported in only. + /// + Notoneof = 10, + /// + /// This value is a CASE SENSITIVE substring of an attribute + /// + Contains = 11, + /// + /// This value is a regex match of an attribute + /// + Regexmatch = 12, + /// + /// This array or value's size must be equal to the one stored in the attribute + /// + Size = 13 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AddNotifyAuthExpirationOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AddNotifyAuthExpirationOptions.cs new file mode 100644 index 0000000..3ae9499 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AddNotifyAuthExpirationOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Structure containing information for the auth expiration notification callback. + /// + public struct AddNotifyAuthExpirationOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyAuthExpirationOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyAuthExpirationOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.ADDNOTIFYAUTHEXPIRATION_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AddNotifyLoginStatusChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AddNotifyLoginStatusChangedOptions.cs new file mode 100644 index 0000000..1087b5b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AddNotifyLoginStatusChangedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Structure containing information or the connect user login status change callback. + /// + public struct AddNotifyLoginStatusChangedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLoginStatusChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLoginStatusChangedOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AuthExpirationCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AuthExpirationCallbackInfo.cs new file mode 100644 index 0000000..ddd478a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/AuthExpirationCallbackInfo.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct AuthExpirationCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local player whose status has changed. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AuthExpirationCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out AuthExpirationCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/ConnectInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/ConnectInterface.cs new file mode 100644 index 0000000..73358c7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/ConnectInterface.cs @@ -0,0 +1,1067 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Connect +{ + public sealed partial class ConnectInterface : Handle + { + public ConnectInterface() + { + } + + public ConnectInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYAUTHEXPIRATION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOGINSTATUSCHANGED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYIDTOKEN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTTYPE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYPRODUCTUSEREXTERNALACCOUNTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYPRODUCTUSERINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CREATEDEVICEID_API_LATEST = 1; + /// + /// Max length of a device model name, not including the terminating + /// + public const int CREATEDEVICEID_DEVICEMODEL_MAX_LENGTH = 64; + /// + /// The most recent version of the API. + /// + public const int CREATEUSER_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int CREDENTIALS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int DELETEDEVICEID_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int EXTERNALACCOUNTINFO_API_LATEST = 1; + /// + /// Max length of an external account ID in form + /// + public const int EXTERNAL_ACCOUNT_ID_MAX_LENGTH = 256; + /// + /// DEPRECATED! Use instead. + /// + public const int GETEXTERNALACCOUNTMAPPINGS_API_LATEST = GETEXTERNALACCOUNTMAPPING_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int GETEXTERNALACCOUNTMAPPING_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPRODUCTUSEREXTERNALACCOUNTCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPRODUCTUSERIDMAPPING_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int IDTOKEN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LINKACCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOGIN_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int LOGOUT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYEXTERNALACCOUNTMAPPINGS_API_LATEST = 1; + /// + /// Maximum number of account IDs that can be queried at once + /// + public const int QUERYEXTERNALACCOUNTMAPPINGS_MAX_ACCOUNT_IDS = 128; + /// + /// The most recent version of the API. + /// + public const int QUERYPRODUCTUSERIDMAPPINGS_API_LATEST = 2; + /// + /// Timestamp value representing an undefined time for last login time. + /// + public const int TIME_UNDEFINED = -1; + /// + /// The most recent version of the API. + /// + public const int TRANSFERDEVICEIDACCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UNLINKACCOUNT_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int USERLOGININFO_API_LATEST = 2; + /// + /// Max length of a display name, not including the terminating . + /// + public const int USERLOGININFO_DISPLAYNAME_MAX_LENGTH = 32; + /// + /// The most recent version of the API. + /// + public const int VERIFYIDTOKEN_API_LATEST = 1; + + /// + /// Register to receive upcoming authentication expiration notifications. + /// Notification is approximately 1 minute prior to expiration. + /// Call again with valid third party credentials to refresh access. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// structure containing the API version of the callback to use. + /// + /// + /// arbitrary data that is passed back to you in the callback. + /// + /// + /// a callback that is fired when the authentication is about to expire. + /// + /// + /// handle representing the registered callback. + /// + public ulong AddNotifyAuthExpiration(ref AddNotifyAuthExpirationOptions options, object clientData, OnAuthExpirationCallback notification) + { + if (notification == null) + { + throw new ArgumentNullException("notification"); + } + + var optionsInternal = default(AddNotifyAuthExpirationOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notification); + + var callResult = Bindings.EOS_Connect_AddNotifyAuthExpiration(InnerHandle, ref optionsInternal, clientDataPointer, OnAuthExpirationCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive user login status updates. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// structure containing the API version of the callback to use. + /// + /// + /// arbitrary data that is passed back to you in the callback. + /// + /// + /// a callback that is fired when the login status for a user changes. + /// + /// + /// handle representing the registered callback. + /// + public ulong AddNotifyLoginStatusChanged(ref AddNotifyLoginStatusChangedOptions options, object clientData, OnLoginStatusChangedCallback notification) + { + if (notification == null) + { + throw new ArgumentNullException("notification"); + } + + var optionsInternal = default(AddNotifyLoginStatusChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notification); + + var callResult = Bindings.EOS_Connect_AddNotifyLoginStatusChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnLoginStatusChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Fetches an ID token for a Product User ID. + /// + /// + /// + /// + /// + /// Structure containing information about the ID token to copy. + /// + /// + /// The ID token for the given user, if it exists and is valid; use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutIdToken. + /// - if you pass a for the out parameter. + /// - if the ID token is not found or expired. + /// + public Result CopyIdToken(ref CopyIdTokenOptions options, out IdToken? outIdToken) + { + var optionsInternal = default(CopyIdTokenOptionsInternal); + optionsInternal.Set(ref options); + + var outIdTokenPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Connect_CopyIdToken(InnerHandle, ref optionsInternal, out outIdTokenPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outIdTokenPointer, out outIdToken); + if (outIdTokenPointer != IntPtr.Zero) + { + Bindings.EOS_Connect_IdToken_Release(outIdTokenPointer); + } + + return callResult; + } + + /// + /// Fetch information about an external account linked to a Product User ID. + /// On a successful call, the caller must release the returned structure using the API. + /// + /// + /// + /// + /// + /// Structure containing the target external account ID. + /// + /// + /// The external account info data for the user with given external account ID. + /// + /// + /// An that indicates the external account data was copied into the OutExternalAccountInfo. + /// - if the information is available and passed out in OutExternalAccountInfo. + /// - if you pass a for the out parameter. + /// - if the account data doesn't exist or hasn't been queried yet. + /// + public Result CopyProductUserExternalAccountByAccountId(ref CopyProductUserExternalAccountByAccountIdOptions options, out ExternalAccountInfo? outExternalAccountInfo) + { + var optionsInternal = default(CopyProductUserExternalAccountByAccountIdOptionsInternal); + optionsInternal.Set(ref options); + + var outExternalAccountInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Connect_CopyProductUserExternalAccountByAccountId(InnerHandle, ref optionsInternal, out outExternalAccountInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outExternalAccountInfoPointer, out outExternalAccountInfo); + if (outExternalAccountInfoPointer != IntPtr.Zero) + { + Bindings.EOS_Connect_ExternalAccountInfo_Release(outExternalAccountInfoPointer); + } + + return callResult; + } + + /// + /// Fetch information about an external account of a specific type linked to a Product User ID. + /// On a successful call, the caller must release the returned structure using the API. + /// + /// + /// + /// + /// + /// Structure containing the target external account type. + /// + /// + /// The external account info data for the user with given external account type. + /// + /// + /// An that indicates the external account data was copied into the OutExternalAccountInfo. + /// - if the information is available and passed out in OutExternalAccountInfo. + /// - if you pass a for the out parameter. + /// - if the account data doesn't exist or hasn't been queried yet. + /// + public Result CopyProductUserExternalAccountByAccountType(ref CopyProductUserExternalAccountByAccountTypeOptions options, out ExternalAccountInfo? outExternalAccountInfo) + { + var optionsInternal = default(CopyProductUserExternalAccountByAccountTypeOptionsInternal); + optionsInternal.Set(ref options); + + var outExternalAccountInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Connect_CopyProductUserExternalAccountByAccountType(InnerHandle, ref optionsInternal, out outExternalAccountInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outExternalAccountInfoPointer, out outExternalAccountInfo); + if (outExternalAccountInfoPointer != IntPtr.Zero) + { + Bindings.EOS_Connect_ExternalAccountInfo_Release(outExternalAccountInfoPointer); + } + + return callResult; + } + + /// + /// Fetch information about an external account linked to a Product User ID. + /// On a successful call, the caller must release the returned structure using the API. + /// + /// + /// + /// + /// + /// Structure containing the target index. + /// + /// + /// The external account info data for the user with given index. + /// + /// + /// An that indicates the external account data was copied into the OutExternalAccountInfo. + /// - if the information is available and passed out in OutExternalAccountInfo. + /// - if you pass a for the out parameter. + /// - if the account data doesn't exist or hasn't been queried yet. + /// + public Result CopyProductUserExternalAccountByIndex(ref CopyProductUserExternalAccountByIndexOptions options, out ExternalAccountInfo? outExternalAccountInfo) + { + var optionsInternal = default(CopyProductUserExternalAccountByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outExternalAccountInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Connect_CopyProductUserExternalAccountByIndex(InnerHandle, ref optionsInternal, out outExternalAccountInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outExternalAccountInfoPointer, out outExternalAccountInfo); + if (outExternalAccountInfoPointer != IntPtr.Zero) + { + Bindings.EOS_Connect_ExternalAccountInfo_Release(outExternalAccountInfoPointer); + } + + return callResult; + } + + /// + /// Fetch information about a Product User, using the external account that they most recently logged in with as the reference. + /// On a successful call, the caller must release the returned structure using the API. + /// + /// + /// + /// + /// + /// Structure containing the target external account ID. + /// + /// + /// The external account info data last logged in for the user. + /// + /// + /// An that indicates the external account data was copied into the OutExternalAccountInfo. + /// - if the information is available and passed out in OutExternalAccountInfo. + /// - if you pass a for the out parameter. + /// - if the account data doesn't exist or hasn't been queried yet. + /// + public Result CopyProductUserInfo(ref CopyProductUserInfoOptions options, out ExternalAccountInfo? outExternalAccountInfo) + { + var optionsInternal = default(CopyProductUserInfoOptionsInternal); + optionsInternal.Set(ref options); + + var outExternalAccountInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Connect_CopyProductUserInfo(InnerHandle, ref optionsInternal, out outExternalAccountInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outExternalAccountInfoPointer, out outExternalAccountInfo); + if (outExternalAccountInfoPointer != IntPtr.Zero) + { + Bindings.EOS_Connect_ExternalAccountInfo_Release(outExternalAccountInfoPointer); + } + + return callResult; + } + + /// + /// Create a new unique pseudo-account that can be used to identify the current user profile on the local device. + /// + /// This function is intended to be used by mobile games and PC games that wish to allow + /// a new user to start playing without requiring to login to the game using any user identity. + /// In addition to this, the Device ID feature is used to automatically login the local user + /// also when they have linked at least one external user account(s) with the local Device ID. + /// + /// It is possible to link many devices with the same user's account keyring using the Device ID feature. + /// + /// Linking a device later or immediately with a real user account will ensure that the player + /// will not lose their progress if they switch devices or lose the device at some point, + /// as they will be always able to login with one of their linked real accounts and also link + /// another new device with the user account associations keychain. Otherwise, without having + /// at least one permanent user account linked to the Device ID, the player would lose all of their + /// game data and progression permanently should something happen to their device or the local + /// user profile on the device. + /// + /// After a successful one-time CreateDeviceId operation, the game can login the local user + /// automatically on subsequent game starts with using the + /// credentials type. If a Device ID already exists for the local user on the device then + /// error result is returned and the caller should proceed to calling directly. + /// + /// + /// + /// + /// structure containing operation input parameters. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the create operation completes, either successfully or in error. + /// + public void CreateDeviceId(ref CreateDeviceIdOptions options, object clientData, OnCreateDeviceIdCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(CreateDeviceIdOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_CreateDeviceId(InnerHandle, ref optionsInternal, clientDataPointer, OnCreateDeviceIdCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Create an account association with the Epic Online Service as a product user given their external auth credentials. + /// + /// + /// + /// + /// structure containing a continuance token from a "user not found" response during Login (always try login first). + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the create operation completes, either successfully or in error. + /// + public void CreateUser(ref CreateUserOptions options, object clientData, OnCreateUserCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(CreateUserOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_CreateUser(InnerHandle, ref optionsInternal, clientDataPointer, OnCreateUserCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Delete any existing Device ID access credentials for the current user profile on the local device. + /// + /// The deletion is permanent and it is not possible to recover lost game data and progression + /// if the Device ID had not been linked with at least one real external user account. + /// + /// On Android and iOS devices, uninstalling the application will automatically delete any local + /// Device ID credentials created by the application. + /// + /// On Desktop platforms (Linux, macOS, Windows), Device ID credentials are not automatically deleted. + /// Applications may re-use existing Device ID credentials for the local OS user when the application is + /// re-installed, or call the DeleteDeviceId API on the first run to ensure a fresh start for the user. + /// + /// + /// + /// + /// structure containing operation input parameters + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the delete operation completes, either successfully or in error + /// + public void DeleteDeviceId(ref DeleteDeviceIdOptions options, object clientData, OnDeleteDeviceIdCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(DeleteDeviceIdOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_DeleteDeviceId(InnerHandle, ref optionsInternal, clientDataPointer, OnDeleteDeviceIdCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Fetch a Product User ID that maps to an external account ID cached from a previous query. + /// + /// + /// + /// structure containing the local user and target external account ID. + /// + /// + /// The Product User ID, previously retrieved from the backend service, for the given target external account. + /// + public ProductUserId GetExternalAccountMapping(ref GetExternalAccountMappingsOptions options) + { + var optionsInternal = default(GetExternalAccountMappingsOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Connect_GetExternalAccountMapping(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + ProductUserId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Fetch a Product User ID that is logged in. This Product User ID is in the Epic Online Services namespace. + /// + /// + /// an index into the list of logged in users. If the index is out of bounds, the returned Product User ID will be invalid. + /// + /// + /// the Product User ID associated with the index passed. + /// + public ProductUserId GetLoggedInUserByIndex(int index) + { + var callResult = Bindings.EOS_Connect_GetLoggedInUserByIndex(InnerHandle, index); + + ProductUserId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Fetch the number of product users that are logged in. + /// + /// + /// the number of product users logged in. + /// + public int GetLoggedInUsersCount() + { + var callResult = Bindings.EOS_Connect_GetLoggedInUsersCount(InnerHandle); + + return callResult; + } + + /// + /// Fetches the login status for an Product User ID. This Product User ID is considered logged in as long as the underlying access token has not expired. + /// + /// + /// the Product User ID of the user being queried. + /// + /// + /// the enum value of a user's login status. + /// + public LoginStatus GetLoginStatus(ProductUserId localUserId) + { + var callResult = Bindings.EOS_Connect_GetLoginStatus(InnerHandle, localUserId.InnerHandle); + + return callResult; + } + + /// + /// Fetch the number of linked external accounts for a Product User ID. + /// + /// + /// + /// + /// The Options associated with retrieving the external account info count. + /// + /// + /// Number of external accounts or 0 otherwise. + /// + public uint GetProductUserExternalAccountCount(ref GetProductUserExternalAccountCountOptions options) + { + var optionsInternal = default(GetProductUserExternalAccountCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Connect_GetProductUserExternalAccountCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch an external account ID, in form, that maps to a given Product User ID. + /// + /// + /// + /// structure containing the local user and target Product User ID. + /// + /// + /// The buffer into which the external account ID data should be written. The buffer must be long enough to hold a of . + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer. + /// + /// + /// An that indicates the external account ID was copied into the OutBuffer. + /// - if the information is available and passed out in OutUserInfo. + /// - if you pass a for the out parameter. + /// - if the mapping doesn't exist or hasn't been queried yet. + /// - if the OutBuffer is not large enough to receive the external account ID. InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetProductUserIdMapping(ref GetProductUserIdMappingOptions options, out Utf8String outBuffer) + { + var optionsInternal = default(GetProductUserIdMappingOptionsInternal); + optionsInternal.Set(ref options); + + int inOutBufferLength = EXTERNAL_ACCOUNT_ID_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Connect_GetProductUserIdMapping(InnerHandle, ref optionsInternal, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Link a set of external auth credentials with an existing product user on the Epic Online Service. + /// + /// + /// + /// + /// structure containing a continuance token from a "user not found" response during Login (always try login first) and a currently logged in user not already associated with this external auth provider. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the link operation completes, either successfully or in error. + /// + public void LinkAccount(ref LinkAccountOptions options, object clientData, OnLinkAccountCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LinkAccountOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_LinkAccount(InnerHandle, ref optionsInternal, clientDataPointer, OnLinkAccountCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Login/Authenticate given a valid set of external auth credentials. + /// + /// + /// + /// + /// structure containing the external account credentials and type to use during the login operation. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the login operation completes, either successfully or in error. + /// + public void Login(ref LoginOptions options, object clientData, OnLoginCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LoginOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_Login(InnerHandle, ref optionsInternal, clientDataPointer, OnLoginCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Logout a currently logged in user. + /// NOTE: Access tokens for Product User IDs cannot be revoked. This operation really just cleans up state for the Product User ID and locally discards any associated access token. + /// + /// + /// + /// + /// Structure containing the input parameters for the operation + /// + /// + /// Arbitrary data that is passed back to the caller in the CompletionDelegate. + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error. + /// + public void Logout(ref LogoutOptions options, object clientData, OnLogoutCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LogoutOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_Logout(InnerHandle, ref optionsInternal, clientDataPointer, OnLogoutCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Retrieve the equivalent Product User IDs from a list of external account IDs from supported account providers. + /// The values will be cached and retrievable through . + /// A common use case is to query other users who are connected through the same account system as the local user. + /// Queries using external account IDs of another account system may not be available, depending on the account system specifics. + /// + /// + /// + /// + /// structure containing a list of external account IDs, in form, to query for the Product User ID representation. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the query operation completes, either successfully or in error. + /// + public void QueryExternalAccountMappings(ref QueryExternalAccountMappingsOptions options, object clientData, OnQueryExternalAccountMappingsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryExternalAccountMappingsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_QueryExternalAccountMappings(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryExternalAccountMappingsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Retrieve the equivalent external account mappings from a list of Product User IDs. + /// + /// The values will be cached and retrievable via , , + /// or . + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// structure containing a list of Product User IDs to query for the external account representation. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the query operation completes, either successfully or in error. + /// + public void QueryProductUserIdMappings(ref QueryProductUserIdMappingsOptions options, object clientData, OnQueryProductUserIdMappingsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryProductUserIdMappingsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_QueryProductUserIdMappings(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryProductUserIdMappingsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unregister from receiving expiration notifications. + /// + /// + /// handle representing the registered callback. + /// + public void RemoveNotifyAuthExpiration(ulong inId) + { + Bindings.EOS_Connect_RemoveNotifyAuthExpiration(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving user login status updates. + /// + /// + /// handle representing the registered callback. + /// + public void RemoveNotifyLoginStatusChanged(ulong inId) + { + Bindings.EOS_Connect_RemoveNotifyLoginStatusChanged(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Transfer a Device ID pseudo-account and the product user associated with it into another + /// keychain linked with real user accounts (such as Epic Games, PlayStation(TM)Network, Xbox Live, and other). + /// + /// This function allows transferring a product user, i.e. the local user's game progression + /// backend data from a Device ID owned keychain into a keychain with real user accounts + /// linked to it. The transfer of Device ID owned product user into a keychain of real user + /// accounts allows persisting the user's game data on the backend in the event that they + /// would lose access to the local device or otherwise switch to another device or platform. + /// + /// This function is only applicable in the situation of where the local user first plays + /// the game using the anonymous Device ID login, then later logs in using a real user + /// account that they have also already used to play the same game or another game under the + /// same organization within Epic Online Services. In such situation, while normally the login + /// attempt with a real user account would return and an + /// and allow calling the API to link it with the Device ID's keychain, + /// instead the login operation succeeds and finds an existing user because the association + /// already exists. Because the user cannot have two product users simultaneously to play with, + /// the game should prompt the user to choose which profile to keep and which one to discard + /// permanently. Based on the user choice, the game may then proceed to transfer the Device ID + /// login into the keychain that is persistent and backed by real user accounts, and if the user + /// chooses so, move the product user as well into the destination keychain and overwrite the + /// existing previous product user with it. To clarify, moving the product user with the Device ID + /// login in this way into a persisted keychain allows to preserve the so far only locally persisted + /// game progression and thus protect the user against a case where they lose access to the device. + /// + /// On success, the completion callback will return the preserved that remains + /// logged in while the discarded has been invalidated and deleted permanently. + /// Consecutive logins using the existing Device ID login type or the external account will + /// connect the user to the same backend data belonging to the preserved . + /// + /// Example walkthrough: Cross-platform mobile game using the anonymous Device ID login. + /// + /// For onboarding new users, the game will attempt to always automatically login the local user + /// by calling using the login type. If the local + /// Device ID credentials are not found, and the game wants a frictionless entry for the first time + /// user experience, the game will automatically call to create new + /// Device ID pseudo-account and then login the local user into it. Consecutive game starts will + /// thus automatically login the user to their locally persisted Device ID account. + /// + /// The user starts playing anonymously using the Device ID login type and makes significant game progress. + /// Later, they login using an external account that they have already used previously for the + /// same game perhaps on another platform, or another game owned by the same organization. + /// In such case, will automatically login the user to their existing account + /// linking keychain and create automatically a new empty product user for this product. + /// + /// In order for the user to use their existing previously created keychain and have the locally + /// created Device ID login reference to that keychain instead, the user's current product user + /// needs to be moved to be under that keychain so that their existing game progression will be + /// preserved. To do so, the game can call to transfer the + /// Device ID login and the product user associated with it into the other keychain that has real + /// external user account(s) linked to it. Note that it is important that the game either automatically + /// checks that the other product user does not have any meaningful progression data, or otherwise + /// will prompt the user to make the choice on which game progression to preserve and which can + /// be discarded permanently. The other product user will be discarded permanently and cannot be + /// recovered, so it is very important that the user is guided to make the right choice to avoid + /// accidental loss of all game progression. + /// + /// + /// + /// + /// + /// + /// structure containing the logged in product users and specifying which one will be preserved. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the transfer operation completes, either successfully or in error. + /// + public void TransferDeviceIdAccount(ref TransferDeviceIdAccountOptions options, object clientData, OnTransferDeviceIdAccountCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(TransferDeviceIdAccountOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_TransferDeviceIdAccount(InnerHandle, ref optionsInternal, clientDataPointer, OnTransferDeviceIdAccountCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unlink external auth credentials from the owning keychain of a logged in product user. + /// + /// This function allows recovering the user from scenarios where they have accidentally proceeded to creating + /// a new product user for the local native user account, instead of linking it with an existing keychain that + /// they have previously created by playing the game (or another game owned by the organization) on another platform. + /// + /// In such scenario, after the initial platform login and a new product user creation, the user wishes to re-login + /// using other set of external auth credentials to connect with their existing game progression data. In order to + /// allow automatic login also on the current platform, they will need to unlink the accidentally created new keychain + /// and product user and then use the and APIs to link the local native platform + /// account with that previously created existing product user and its owning keychain. + /// + /// In another scenario, the user may simply want to disassociate the account that they have logged in with from the current + /// keychain that it is linked with, perhaps to link it against another keychain or to separate the game progressions again. + /// + /// In order to protect against account theft, it is only possible to unlink user accounts that have been authenticated + /// and logged in to the product user in the current session. This prevents a malicious actor from gaining access to one + /// of the linked accounts and using it to remove all other accounts linked with the keychain. This also prevents a malicious + /// actor from replacing the unlinked account with their own corresponding account on the same platform, as the unlinking + /// operation will ensure that any existing authentication session cannot be used to re-link and overwrite the entry without + /// authenticating with one of the other linked accounts in the keychain. These restrictions limit the potential attack surface + /// related to account theft scenarios. + /// + /// + /// + /// + /// structure containing operation input parameters. + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// a callback that is fired when the unlink operation completes, either successfully or in error. + /// + public void UnlinkAccount(ref UnlinkAccountOptions options, object clientData, OnUnlinkAccountCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(UnlinkAccountOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_UnlinkAccount(InnerHandle, ref optionsInternal, clientDataPointer, OnUnlinkAccountCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Verify a given ID token for authenticity and validity. + /// + /// + /// + /// + /// structure containing information about the ID token to verify. + /// + /// + /// arbitrary data that is passed back to you in the callback. + /// + /// + /// a callback that is fired when the operation completes, either successfully or in error. + /// + public void VerifyIdToken(ref VerifyIdTokenOptions options, object clientData, OnVerifyIdTokenCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(VerifyIdTokenOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Connect_VerifyIdToken(InnerHandle, ref optionsInternal, clientDataPointer, OnVerifyIdTokenCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyIdTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyIdTokenOptions.cs new file mode 100644 index 0000000..8260e6e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyIdTokenOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CopyIdTokenOptions + { + /// + /// The local Product User ID whose ID token should be copied. + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyIdTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref CopyIdTokenOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.COPYIDTOKEN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByAccountIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByAccountIdOptions.cs new file mode 100644 index 0000000..adca4a7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByAccountIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CopyProductUserExternalAccountByAccountIdOptions + { + /// + /// The Product User ID to look for when copying external account info from the cache. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// External auth service account ID to look for when copying external account info from the cache. + /// + public Utf8String AccountId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyProductUserExternalAccountByAccountIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private IntPtr m_AccountId; + + public void Set(ref CopyProductUserExternalAccountByAccountIdOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTID_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + Helper.Set(other.AccountId, ref m_AccountId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + Helper.Dispose(ref m_AccountId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByAccountTypeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByAccountTypeOptions.cs new file mode 100644 index 0000000..6fa9969 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByAccountTypeOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CopyProductUserExternalAccountByAccountTypeOptions + { + /// + /// The Product User ID to look for when copying external account info from the cache. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// External auth service account type to look for when copying external account info from the cache. + /// + public ExternalAccountType AccountIdType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyProductUserExternalAccountByAccountTypeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private ExternalAccountType m_AccountIdType; + + public void Set(ref CopyProductUserExternalAccountByAccountTypeOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.COPYPRODUCTUSEREXTERNALACCOUNTBYACCOUNTTYPE_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + m_AccountIdType = other.AccountIdType; + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByIndexOptions.cs new file mode 100644 index 0000000..b7956ce --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserExternalAccountByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CopyProductUserExternalAccountByIndexOptions + { + /// + /// The Product User ID to look for when copying external account info from the cache. + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Index of the external account info to retrieve from the cache. + /// + public uint ExternalAccountInfoIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyProductUserExternalAccountByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private uint m_ExternalAccountInfoIndex; + + public void Set(ref CopyProductUserExternalAccountByIndexOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.COPYPRODUCTUSEREXTERNALACCOUNTBYINDEX_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + m_ExternalAccountInfoIndex = other.ExternalAccountInfoIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserInfoOptions.cs new file mode 100644 index 0000000..307c2f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CopyProductUserInfoOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CopyProductUserInfoOptions + { + /// + /// Product user ID to look for when copying external account info from the cache. + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyProductUserInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + + public void Set(ref CopyProductUserInfoOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.COPYPRODUCTUSERINFO_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateDeviceIdCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateDeviceIdCallbackInfo.cs new file mode 100644 index 0000000..1ba17f9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateDeviceIdCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct CreateDeviceIdCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateDeviceIdCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out CreateDeviceIdCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateDeviceIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateDeviceIdOptions.cs new file mode 100644 index 0000000..12eda1c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateDeviceIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CreateDeviceIdOptions + { + /// + /// A freeform text description identifying the device type and model, + /// which can be used in account linking management to allow the player + /// and customer support to identify different devices linked to an EOS + /// user keychain. For example 'iPhone 6S' or 'PC Windows'. + /// + /// The input must be in UTF-8 character format, with a maximum + /// length of 64 characters. Longer will be silently truncated. + /// + /// This field is required to be present. + /// + public Utf8String DeviceModel { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateDeviceIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_DeviceModel; + + public void Set(ref CreateDeviceIdOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.CREATEDEVICEID_API_LATEST; + Helper.Set(other.DeviceModel, ref m_DeviceModel); + } + + public void Dispose() + { + Helper.Dispose(ref m_DeviceModel); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateUserCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateUserCallbackInfo.cs new file mode 100644 index 0000000..59b422c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateUserCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct CreateUserCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// If the operation succeeded, this is the Product User ID of the local user who was created. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateUserCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out CreateUserCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateUserOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateUserOptions.cs new file mode 100644 index 0000000..b2564b3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/CreateUserOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct CreateUserOptions + { + /// + /// Continuance token from previous call to + /// + public ContinuanceToken ContinuanceToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateUserOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ContinuanceToken; + + public void Set(ref CreateUserOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.CREATEUSER_API_LATEST; + Helper.Set(other.ContinuanceToken, ref m_ContinuanceToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_ContinuanceToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/Credentials.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/Credentials.cs new file mode 100644 index 0000000..6198f04 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/Credentials.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// A structure that contains external login credentials. + /// + /// This is part of the input structure . + /// + /// + /// + public struct Credentials + { + /// + /// External token associated with the user logging in. + /// + public Utf8String Token { get; set; } + + /// + /// Type of external login; identifies the auth method to use. + /// + public ExternalCredentialType Type { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CredentialsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Token; + private ExternalCredentialType m_Type; + + public void Set(ref Credentials other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.CREDENTIALS_API_LATEST; + Helper.Set(other.Token, ref m_Token); + m_Type = other.Type; + } + + public void Dispose() + { + Helper.Dispose(ref m_Token); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/DeleteDeviceIdCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/DeleteDeviceIdCallbackInfo.cs new file mode 100644 index 0000000..f605d20 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/DeleteDeviceIdCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct DeleteDeviceIdCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteDeviceIdCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DeleteDeviceIdCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/DeleteDeviceIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/DeleteDeviceIdOptions.cs new file mode 100644 index 0000000..d0f24e0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/DeleteDeviceIdOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct DeleteDeviceIdOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteDeviceIdOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref DeleteDeviceIdOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.DELETEDEVICEID_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/ExternalAccountInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/ExternalAccountInfo.cs new file mode 100644 index 0000000..1205268 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/ExternalAccountInfo.cs @@ -0,0 +1,73 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Contains information about an external account linked with a Product User ID. + /// + public struct ExternalAccountInfo + { + /// + /// The Product User ID of the target user. + /// + public ProductUserId ProductUserId { get; set; } + + /// + /// Display name, can be if not set. + /// + public Utf8String DisplayName { get; set; } + + /// + /// External account ID. + /// + /// May be set to an empty if the AccountIdType of another user belongs + /// to different account system than the local user's authenticated account. + /// The availability of this field is dependent on account system specifics. + /// + public Utf8String AccountId { get; set; } + + /// + /// The identity provider that owns the external account. + /// + public ExternalAccountType AccountIdType { get; set; } + + /// + /// The POSIX timestamp for the time the user last logged in, or . + /// + public DateTimeOffset? LastLoginTime { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ExternalAccountInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_ProductUserId; + private IntPtr m_DisplayName; + private IntPtr m_AccountId; + private ExternalAccountType m_AccountIdType; + private long m_LastLoginTime; + + public void Get(out ExternalAccountInfo other) + { + other = default; + + ProductUserId ProductUserIdPublic; + Helper.Get(m_ProductUserId, out ProductUserIdPublic); + other.ProductUserId = ProductUserIdPublic; + Utf8String DisplayNamePublic; + Helper.Get(m_DisplayName, out DisplayNamePublic); + other.DisplayName = DisplayNamePublic; + Utf8String AccountIdPublic; + Helper.Get(m_AccountId, out AccountIdPublic); + other.AccountId = AccountIdPublic; + other.AccountIdType = m_AccountIdType; + DateTimeOffset? LastLoginTimePublic; + Helper.Get(m_LastLoginTime, out LastLoginTimePublic); + other.LastLoginTime = LastLoginTimePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetExternalAccountMappingsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetExternalAccountMappingsOptions.cs new file mode 100644 index 0000000..4eec6b6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetExternalAccountMappingsOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct GetExternalAccountMappingsOptions + { + /// + /// The Product User ID of the existing, logged-in user who is querying account mappings. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// External auth service supplying the account IDs in form. + /// + public ExternalAccountType AccountIdType { get; set; } + + /// + /// Target user to retrieve the mapping for, as an external account ID. + /// + public Utf8String TargetExternalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetExternalAccountMappingsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private ExternalAccountType m_AccountIdType; + private IntPtr m_TargetExternalUserId; + + public void Set(ref GetExternalAccountMappingsOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.GETEXTERNALACCOUNTMAPPING_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_AccountIdType = other.AccountIdType; + Helper.Set(other.TargetExternalUserId, ref m_TargetExternalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetExternalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetProductUserExternalAccountCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetProductUserExternalAccountCountOptions.cs new file mode 100644 index 0000000..31909ab --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetProductUserExternalAccountCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct GetProductUserExternalAccountCountOptions + { + /// + /// The Product User ID to look for when getting external account info count from the cache. + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetProductUserExternalAccountCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + + public void Set(ref GetProductUserExternalAccountCountOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.GETPRODUCTUSEREXTERNALACCOUNTCOUNT_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetProductUserIdMappingOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetProductUserIdMappingOptions.cs new file mode 100644 index 0000000..3742367 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/GetProductUserIdMappingOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct GetProductUserIdMappingOptions + { + /// + /// The Product User ID of the existing, logged-in user that is querying account mappings. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// External auth service mapping to retrieve. + /// + public ExternalAccountType AccountIdType { get; set; } + + /// + /// The Product User ID of the user whose information is being requested. + /// + public ProductUserId TargetProductUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetProductUserIdMappingOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private ExternalAccountType m_AccountIdType; + private IntPtr m_TargetProductUserId; + + public void Set(ref GetProductUserIdMappingOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.GETPRODUCTUSERIDMAPPING_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_AccountIdType = other.AccountIdType; + Helper.Set(other.TargetProductUserId, ref m_TargetProductUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetProductUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/IdToken.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/IdToken.cs new file mode 100644 index 0000000..9129116 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/IdToken.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// A structure that contains an ID token. + /// These structures are created by and must be passed to . + /// + public struct IdToken + { + /// + /// The Product User ID described by the ID token. + /// Use to populate this field when validating a received ID token. + /// + public ProductUserId ProductUserId { get; set; } + + /// + /// The ID token as a Json Web Token (JWT) . + /// + public Utf8String JsonWebToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IdTokenInternal : IGettable, ISettable + { + private int m_ApiVersion; + private IntPtr m_ProductUserId; + private IntPtr m_JsonWebToken; + + public void Get(out IdToken other) + { + other = default; + + ProductUserId ProductUserIdPublic; + Helper.Get(m_ProductUserId, out ProductUserIdPublic); + other.ProductUserId = ProductUserIdPublic; + Utf8String JsonWebTokenPublic; + Helper.Get(m_JsonWebToken, out JsonWebTokenPublic); + other.JsonWebToken = JsonWebTokenPublic; + } + + public void Set(ref IdToken other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.IDTOKEN_API_LATEST; + Helper.Set(other.ProductUserId, ref m_ProductUserId); + Helper.Set(other.JsonWebToken, ref m_JsonWebToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_ProductUserId); + Helper.Dispose(ref m_JsonWebToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LinkAccountCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LinkAccountCallbackInfo.cs new file mode 100644 index 0000000..c83a547 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LinkAccountCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct LinkAccountCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the existing, logged-in user whose account was linked (on success). + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LinkAccountCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LinkAccountCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LinkAccountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LinkAccountOptions.cs new file mode 100644 index 0000000..03bce94 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LinkAccountOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct LinkAccountOptions + { + /// + /// The existing logged in product user for which to link the external account described by the continuance token. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Continuance token from previous call to . + /// + public ContinuanceToken ContinuanceToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LinkAccountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ContinuanceToken; + + public void Set(ref LinkAccountOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.LINKACCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ContinuanceToken, ref m_ContinuanceToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ContinuanceToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginCallbackInfo.cs new file mode 100644 index 0000000..c1e714e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginCallbackInfo.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct LoginCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// If login was successful, this is the Product User ID of the local player that logged in. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// If the user was not found with credentials passed into , + /// this continuance token can be passed to either + /// or to continue the flow. + /// + public ContinuanceToken ContinuanceToken { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LoginCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_ContinuanceToken; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LoginCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ContinuanceToken ContinuanceTokenPublic; + Helper.Get(m_ContinuanceToken, out ContinuanceTokenPublic); + other.ContinuanceToken = ContinuanceTokenPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginOptions.cs new file mode 100644 index 0000000..a164057 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginOptions.cs @@ -0,0 +1,51 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct LoginOptions + { + /// + /// Credentials specified for a given login method + /// + public Credentials? Credentials { get; set; } + + /// + /// Additional information about the local user. + /// + /// This field is required to be set and used when authenticating the user using Amazon, Apple, Google, Nintendo Account, Nintendo Service Account, Oculus or the Device ID feature login. + /// It is also required for using the Lobbies and Sessions interfaces when running on the Nintendo Switch device, and using any other credential type than . + /// In all other cases, set this field to . + /// + public UserLoginInfo? UserLoginInfo { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LoginOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Credentials; + private IntPtr m_UserLoginInfo; + + public void Set(ref LoginOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.LOGIN_API_LATEST; + Helper.Set(other.Credentials, ref m_Credentials); + Helper.Set(other.UserLoginInfo, ref m_UserLoginInfo); + } + + public void Dispose() + { + Helper.Dispose(ref m_Credentials); + Helper.Dispose(ref m_UserLoginInfo); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginStatusChangedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginStatusChangedCallbackInfo.cs new file mode 100644 index 0000000..34d465d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LoginStatusChangedCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct LoginStatusChangedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local player whose status has changed. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The status prior to the change. + /// + public LoginStatus PreviousStatus { get; set; } + + /// + /// The status at the time of the notification. + /// + public LoginStatus CurrentStatus { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LoginStatusChangedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private LoginStatus m_PreviousStatus; + private LoginStatus m_CurrentStatus; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LoginStatusChangedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + other.PreviousStatus = m_PreviousStatus; + other.CurrentStatus = m_CurrentStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LogoutCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LogoutCallbackInfo.cs new file mode 100644 index 0000000..5f02b6c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LogoutCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct LogoutCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the player that is being logged out. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogoutCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LogoutCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LogoutOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LogoutOptions.cs new file mode 100644 index 0000000..5c624e0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/LogoutOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the API + /// + public struct LogoutOptions + { + /// + /// The Product User ID of the player to logout + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogoutOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref LogoutOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.LOGOUT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnAuthExpirationCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnAuthExpirationCallback.cs new file mode 100644 index 0000000..002621a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnAuthExpirationCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for notifications that come from . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnAuthExpirationCallback(ref AuthExpirationCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnAuthExpirationCallbackInternal(ref AuthExpirationCallbackInfoInternal data); + + internal static class OnAuthExpirationCallbackInternalImplementation + { + private static OnAuthExpirationCallbackInternal s_Delegate; + public static OnAuthExpirationCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnAuthExpirationCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnAuthExpirationCallbackInternal))] + public static void EntryPoint(ref AuthExpirationCallbackInfoInternal data) + { + OnAuthExpirationCallback callback; + AuthExpirationCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnCreateDeviceIdCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnCreateDeviceIdCallback.cs new file mode 100644 index 0000000..c0f962f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnCreateDeviceIdCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnCreateDeviceIdCallback(ref CreateDeviceIdCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCreateDeviceIdCallbackInternal(ref CreateDeviceIdCallbackInfoInternal data); + + internal static class OnCreateDeviceIdCallbackInternalImplementation + { + private static OnCreateDeviceIdCallbackInternal s_Delegate; + public static OnCreateDeviceIdCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCreateDeviceIdCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCreateDeviceIdCallbackInternal))] + public static void EntryPoint(ref CreateDeviceIdCallbackInfoInternal data) + { + OnCreateDeviceIdCallback callback; + CreateDeviceIdCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnCreateUserCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnCreateUserCallback.cs new file mode 100644 index 0000000..9243b02 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnCreateUserCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnCreateUserCallback(ref CreateUserCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCreateUserCallbackInternal(ref CreateUserCallbackInfoInternal data); + + internal static class OnCreateUserCallbackInternalImplementation + { + private static OnCreateUserCallbackInternal s_Delegate; + public static OnCreateUserCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCreateUserCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCreateUserCallbackInternal))] + public static void EntryPoint(ref CreateUserCallbackInfoInternal data) + { + OnCreateUserCallback callback; + CreateUserCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnDeleteDeviceIdCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnDeleteDeviceIdCallback.cs new file mode 100644 index 0000000..862c374 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnDeleteDeviceIdCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnDeleteDeviceIdCallback(ref DeleteDeviceIdCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDeleteDeviceIdCallbackInternal(ref DeleteDeviceIdCallbackInfoInternal data); + + internal static class OnDeleteDeviceIdCallbackInternalImplementation + { + private static OnDeleteDeviceIdCallbackInternal s_Delegate; + public static OnDeleteDeviceIdCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDeleteDeviceIdCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDeleteDeviceIdCallbackInternal))] + public static void EntryPoint(ref DeleteDeviceIdCallbackInfoInternal data) + { + OnDeleteDeviceIdCallback callback; + DeleteDeviceIdCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLinkAccountCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLinkAccountCallback.cs new file mode 100644 index 0000000..bc1360a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLinkAccountCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnLinkAccountCallback(ref LinkAccountCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLinkAccountCallbackInternal(ref LinkAccountCallbackInfoInternal data); + + internal static class OnLinkAccountCallbackInternalImplementation + { + private static OnLinkAccountCallbackInternal s_Delegate; + public static OnLinkAccountCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLinkAccountCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLinkAccountCallbackInternal))] + public static void EntryPoint(ref LinkAccountCallbackInfoInternal data) + { + OnLinkAccountCallback callback; + LinkAccountCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLoginCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLoginCallback.cs new file mode 100644 index 0000000..d0210d4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLoginCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnLoginCallback(ref LoginCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLoginCallbackInternal(ref LoginCallbackInfoInternal data); + + internal static class OnLoginCallbackInternalImplementation + { + private static OnLoginCallbackInternal s_Delegate; + public static OnLoginCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLoginCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLoginCallbackInternal))] + public static void EntryPoint(ref LoginCallbackInfoInternal data) + { + OnLoginCallback callback; + LoginCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLoginStatusChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLoginStatusChangedCallback.cs new file mode 100644 index 0000000..7e2de82 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLoginStatusChangedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for notifications that come from . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnLoginStatusChangedCallback(ref LoginStatusChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLoginStatusChangedCallbackInternal(ref LoginStatusChangedCallbackInfoInternal data); + + internal static class OnLoginStatusChangedCallbackInternalImplementation + { + private static OnLoginStatusChangedCallbackInternal s_Delegate; + public static OnLoginStatusChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLoginStatusChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLoginStatusChangedCallbackInternal))] + public static void EntryPoint(ref LoginStatusChangedCallbackInfoInternal data) + { + OnLoginStatusChangedCallback callback; + LoginStatusChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLogoutCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLogoutCallback.cs new file mode 100644 index 0000000..cb35934 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnLogoutCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the result. + /// + public delegate void OnLogoutCallback(ref LogoutCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLogoutCallbackInternal(ref LogoutCallbackInfoInternal data); + + internal static class OnLogoutCallbackInternalImplementation + { + private static OnLogoutCallbackInternal s_Delegate; + public static OnLogoutCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLogoutCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLogoutCallbackInternal))] + public static void EntryPoint(ref LogoutCallbackInfoInternal data) + { + OnLogoutCallback callback; + LogoutCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnQueryExternalAccountMappingsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnQueryExternalAccountMappingsCallback.cs new file mode 100644 index 0000000..b0563cf --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnQueryExternalAccountMappingsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnQueryExternalAccountMappingsCallback(ref QueryExternalAccountMappingsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryExternalAccountMappingsCallbackInternal(ref QueryExternalAccountMappingsCallbackInfoInternal data); + + internal static class OnQueryExternalAccountMappingsCallbackInternalImplementation + { + private static OnQueryExternalAccountMappingsCallbackInternal s_Delegate; + public static OnQueryExternalAccountMappingsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryExternalAccountMappingsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryExternalAccountMappingsCallbackInternal))] + public static void EntryPoint(ref QueryExternalAccountMappingsCallbackInfoInternal data) + { + OnQueryExternalAccountMappingsCallback callback; + QueryExternalAccountMappingsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnQueryProductUserIdMappingsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnQueryProductUserIdMappingsCallback.cs new file mode 100644 index 0000000..e1a0b6d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnQueryProductUserIdMappingsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnQueryProductUserIdMappingsCallback(ref QueryProductUserIdMappingsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryProductUserIdMappingsCallbackInternal(ref QueryProductUserIdMappingsCallbackInfoInternal data); + + internal static class OnQueryProductUserIdMappingsCallbackInternalImplementation + { + private static OnQueryProductUserIdMappingsCallbackInternal s_Delegate; + public static OnQueryProductUserIdMappingsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryProductUserIdMappingsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryProductUserIdMappingsCallbackInternal))] + public static void EntryPoint(ref QueryProductUserIdMappingsCallbackInfoInternal data) + { + OnQueryProductUserIdMappingsCallback callback; + QueryProductUserIdMappingsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnTransferDeviceIdAccountCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnTransferDeviceIdAccountCallback.cs new file mode 100644 index 0000000..65be628 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnTransferDeviceIdAccountCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnTransferDeviceIdAccountCallback(ref TransferDeviceIdAccountCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnTransferDeviceIdAccountCallbackInternal(ref TransferDeviceIdAccountCallbackInfoInternal data); + + internal static class OnTransferDeviceIdAccountCallbackInternalImplementation + { + private static OnTransferDeviceIdAccountCallbackInternal s_Delegate; + public static OnTransferDeviceIdAccountCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnTransferDeviceIdAccountCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnTransferDeviceIdAccountCallbackInternal))] + public static void EntryPoint(ref TransferDeviceIdAccountCallbackInfoInternal data) + { + OnTransferDeviceIdAccountCallback callback; + TransferDeviceIdAccountCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnUnlinkAccountCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnUnlinkAccountCallback.cs new file mode 100644 index 0000000..3bfdf72 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnUnlinkAccountCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result + /// + public delegate void OnUnlinkAccountCallback(ref UnlinkAccountCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUnlinkAccountCallbackInternal(ref UnlinkAccountCallbackInfoInternal data); + + internal static class OnUnlinkAccountCallbackInternalImplementation + { + private static OnUnlinkAccountCallbackInternal s_Delegate; + public static OnUnlinkAccountCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUnlinkAccountCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUnlinkAccountCallbackInternal))] + public static void EntryPoint(ref UnlinkAccountCallbackInfoInternal data) + { + OnUnlinkAccountCallback callback; + UnlinkAccountCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnVerifyIdTokenCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnVerifyIdTokenCallback.cs new file mode 100644 index 0000000..b9c0658 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/OnVerifyIdTokenCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + + /// + /// Function prototype definition for callbacks passed into . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnVerifyIdTokenCallback(ref VerifyIdTokenCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnVerifyIdTokenCallbackInternal(ref VerifyIdTokenCallbackInfoInternal data); + + internal static class OnVerifyIdTokenCallbackInternalImplementation + { + private static OnVerifyIdTokenCallbackInternal s_Delegate; + public static OnVerifyIdTokenCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnVerifyIdTokenCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnVerifyIdTokenCallbackInternal))] + public static void EntryPoint(ref VerifyIdTokenCallbackInfoInternal data) + { + OnVerifyIdTokenCallback callback; + VerifyIdTokenCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryExternalAccountMappingsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryExternalAccountMappingsCallbackInfo.cs new file mode 100644 index 0000000..0e2d092 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryExternalAccountMappingsCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct QueryExternalAccountMappingsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the existing, logged-in user who made the request. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryExternalAccountMappingsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryExternalAccountMappingsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryExternalAccountMappingsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryExternalAccountMappingsOptions.cs new file mode 100644 index 0000000..f3854fb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryExternalAccountMappingsOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct QueryExternalAccountMappingsOptions + { + /// + /// The Product User ID of the existing, logged-in user who is querying account mappings. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// External auth service supplying the account IDs in form. + /// + public ExternalAccountType AccountIdType { get; set; } + + /// + /// An array of external account IDs to map to the product user ID representation. + /// + public Utf8String[] ExternalAccountIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryExternalAccountMappingsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private ExternalAccountType m_AccountIdType; + private IntPtr m_ExternalAccountIds; + private uint m_ExternalAccountIdCount; + + public void Set(ref QueryExternalAccountMappingsOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.QUERYEXTERNALACCOUNTMAPPINGS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_AccountIdType = other.AccountIdType; + Helper.Set(other.ExternalAccountIds, ref m_ExternalAccountIds, out m_ExternalAccountIdCount, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ExternalAccountIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryProductUserIdMappingsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryProductUserIdMappingsCallbackInfo.cs new file mode 100644 index 0000000..bb8791e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryProductUserIdMappingsCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the function. + /// + public struct QueryProductUserIdMappingsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The local Product User ID that was passed with the input options. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryProductUserIdMappingsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryProductUserIdMappingsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryProductUserIdMappingsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryProductUserIdMappingsOptions.cs new file mode 100644 index 0000000..ece7e29 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/QueryProductUserIdMappingsOptions.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct QueryProductUserIdMappingsOptions + { + /// + /// Game Clients set this field to the Product User ID of the local authenticated user querying account mappings. + /// Game Servers set this field to . Usage is allowed given that the configured client policy for server credentials permit it. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Deprecated - all external mappings are included in this call, it is no longer necessary to specify this value. + /// + public ExternalAccountType AccountIdType_DEPRECATED { get; set; } + + /// + /// An array of Product User IDs to query for the given external account representation. + /// + public ProductUserId[] ProductUserIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryProductUserIdMappingsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private ExternalAccountType m_AccountIdType_DEPRECATED; + private IntPtr m_ProductUserIds; + private uint m_ProductUserIdCount; + + public void Set(ref QueryProductUserIdMappingsOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.QUERYPRODUCTUSERIDMAPPINGS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_AccountIdType_DEPRECATED = other.AccountIdType_DEPRECATED; + Helper.Set(other.ProductUserIds, ref m_ProductUserIds, out m_ProductUserIdCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ProductUserIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/TransferDeviceIdAccountCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/TransferDeviceIdAccountCallbackInfo.cs new file mode 100644 index 0000000..8b20a4e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/TransferDeviceIdAccountCallbackInfo.cs @@ -0,0 +1,73 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the Function. + /// + public struct TransferDeviceIdAccountCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The ProductUserIdToPreserve that was passed to the original call. + /// + /// On successful operation, this will have a valid authentication session + /// and the other value has been discarded and lost forever. + /// + /// The application should remove any registered notification callbacks for the discarded as obsolete. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct TransferDeviceIdAccountCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out TransferDeviceIdAccountCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/TransferDeviceIdAccountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/TransferDeviceIdAccountOptions.cs new file mode 100644 index 0000000..d53b237 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/TransferDeviceIdAccountOptions.cs @@ -0,0 +1,64 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the Function. + /// + public struct TransferDeviceIdAccountOptions + { + /// + /// The primary product user id, currently logged in, that is already associated with a real external user account (such as Epic Games, PlayStation(TM)Network, Xbox Live and other). + /// + /// The account linking keychain that owns this product user will be preserved and receive + /// the Device ID login credentials under it. + /// + public ProductUserId PrimaryLocalUserId { get; set; } + + /// + /// The product user id, currently logged in, that has been originally created using the anonymous local Device ID login type, + /// and whose Device ID login will be transferred to the keychain of the PrimaryLocalUserId. + /// + public ProductUserId LocalDeviceUserId { get; set; } + + /// + /// Specifies which (i.e. game progression) will be preserved in the operation. + /// + /// After a successful transfer operation, subsequent logins using the same external account or + /// the same local Device ID login will return user session for the ProductUserIdToPreserve. + /// + /// Set to either PrimaryLocalUserId or LocalDeviceUserId. + /// + public ProductUserId ProductUserIdToPreserve { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct TransferDeviceIdAccountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PrimaryLocalUserId; + private IntPtr m_LocalDeviceUserId; + private IntPtr m_ProductUserIdToPreserve; + + public void Set(ref TransferDeviceIdAccountOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.TRANSFERDEVICEIDACCOUNT_API_LATEST; + Helper.Set(other.PrimaryLocalUserId, ref m_PrimaryLocalUserId); + Helper.Set(other.LocalDeviceUserId, ref m_LocalDeviceUserId); + Helper.Set(other.ProductUserIdToPreserve, ref m_ProductUserIdToPreserve); + } + + public void Dispose() + { + Helper.Dispose(ref m_PrimaryLocalUserId); + Helper.Dispose(ref m_LocalDeviceUserId); + Helper.Dispose(ref m_ProductUserIdToPreserve); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UnlinkAccountCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UnlinkAccountCallbackInfo.cs new file mode 100644 index 0000000..19a944f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UnlinkAccountCallbackInfo.cs @@ -0,0 +1,71 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the Function. + /// + public struct UnlinkAccountCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The product user that was subject for the unlinking operation. + /// + /// On a successful operation, the local authentication session for the product user will have been invalidated. + /// As such, the LocalUserId value will no longer be valid in any context unless the user is logged into it again. + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnlinkAccountCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UnlinkAccountCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UnlinkAccountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UnlinkAccountOptions.cs new file mode 100644 index 0000000..badb476 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UnlinkAccountOptions.cs @@ -0,0 +1,42 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the Function. + /// + public struct UnlinkAccountOptions + { + /// + /// Existing logged in product user that is subject for the unlinking operation. + /// The external account that was used to login to the product user will be unlinked from the owning keychain. + /// + /// On a successful operation, the product user will be logged out as the external account used to authenticate the user was unlinked from the owning keychain. + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UnlinkAccountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref UnlinkAccountOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.UNLINKACCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UserLoginInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UserLoginInfo.cs new file mode 100644 index 0000000..c3accd3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/UserLoginInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Additional information about the local user. + /// + public struct UserLoginInfo + { + /// + /// The user's display name on the identity provider systems as UTF-8 encoded -terminated . + /// The length of the name can be at maximum up to bytes. + /// + /// As the display name passed here is client-controlled and not part of user authentication tokens, + /// it is only treated as non-authoritative informational data to be used by some of the feature services. + /// For example displaying player names in Leaderboards rankings. + /// + public Utf8String DisplayName { get; set; } + + /// + /// Nintendo Service Account ID Token (NSA ID). + /// + /// This field is required to be set and only used when running on the Nintendo Switch device, + /// and the user is being authenticated using any other credential type than . + /// + /// In order to use the Lobbies and Sessions interfaces, a valid NSA ID Token is required to be provided + /// for the active local Nintendo Switch user. Otherwise, attempting to use either of the Lobbies or + /// Sessions interfaces will return the error result. + /// + public Utf8String NsaIdToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UserLoginInfoInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_DisplayName; + private IntPtr m_NsaIdToken; + + public void Set(ref UserLoginInfo other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.USERLOGININFO_API_LATEST; + Helper.Set(other.DisplayName, ref m_DisplayName); + Helper.Set(other.NsaIdToken, ref m_NsaIdToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_DisplayName); + Helper.Dispose(ref m_NsaIdToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/VerifyIdTokenCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/VerifyIdTokenCallbackInfo.cs new file mode 100644 index 0000000..96341f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/VerifyIdTokenCallbackInfo.cs @@ -0,0 +1,160 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Output parameters for the Function. + /// + public struct VerifyIdTokenCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID associated with the ID token. + /// + public ProductUserId ProductUserId { get; set; } + + /// + /// Flag set to indicate whether account information is available. + /// Applications must always first check this value to be set before attempting + /// to read the AccountType, AccountId, Platform and DeviceType fields. + /// + /// This flag is always for users that authenticated using EOS Connect Device ID. + /// + public bool IsAccountInfoPresent { get; set; } + + /// + /// The identity provider that the user authenticated with to EOS Connect. + /// + /// If bIsAccountInfoPresent is set, this field describes the external account type. + /// + public ExternalAccountType AccountIdType { get; set; } + + /// + /// The external account ID of the authenticated user. + /// + /// This value may be set to an empty . + /// + public Utf8String AccountId { get; set; } + + /// + /// Platform that the user is connected from. + /// + /// This value may be set to an empty . + /// + public Utf8String Platform { get; set; } + + /// + /// Identifies the device type that the user is connected from. + /// Can be used to securely verify that the user is connected through a real Console device. + /// + /// This value may be set to an empty . + /// + public Utf8String DeviceType { get; set; } + + /// + /// Client ID of the authorized client. + /// + public Utf8String ClientId { get; set; } + + /// + /// Product ID. + /// + public Utf8String ProductId { get; set; } + + /// + /// Sandbox ID. + /// + public Utf8String SandboxId { get; set; } + + /// + /// Deployment ID. + /// + public Utf8String DeploymentId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct VerifyIdTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_ProductUserId; + private int m_IsAccountInfoPresent; + private ExternalAccountType m_AccountIdType; + private IntPtr m_AccountId; + private IntPtr m_Platform; + private IntPtr m_DeviceType; + private IntPtr m_ClientId; + private IntPtr m_ProductId; + private IntPtr m_SandboxId; + private IntPtr m_DeploymentId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out VerifyIdTokenCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId ProductUserIdPublic; + Helper.Get(m_ProductUserId, out ProductUserIdPublic); + other.ProductUserId = ProductUserIdPublic; + bool IsAccountInfoPresentPublic; + Helper.Get(m_IsAccountInfoPresent, out IsAccountInfoPresentPublic); + other.IsAccountInfoPresent = IsAccountInfoPresentPublic; + other.AccountIdType = m_AccountIdType; + Utf8String AccountIdPublic; + Helper.Get(m_AccountId, out AccountIdPublic); + other.AccountId = AccountIdPublic; + Utf8String PlatformPublic; + Helper.Get(m_Platform, out PlatformPublic); + other.Platform = PlatformPublic; + Utf8String DeviceTypePublic; + Helper.Get(m_DeviceType, out DeviceTypePublic); + other.DeviceType = DeviceTypePublic; + Utf8String ClientIdPublic; + Helper.Get(m_ClientId, out ClientIdPublic); + other.ClientId = ClientIdPublic; + Utf8String ProductIdPublic; + Helper.Get(m_ProductId, out ProductIdPublic); + other.ProductId = ProductIdPublic; + Utf8String SandboxIdPublic; + Helper.Get(m_SandboxId, out SandboxIdPublic); + other.SandboxId = SandboxIdPublic; + Utf8String DeploymentIdPublic; + Helper.Get(m_DeploymentId, out DeploymentIdPublic); + other.DeploymentId = DeploymentIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Connect/VerifyIdTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/VerifyIdTokenOptions.cs new file mode 100644 index 0000000..a3a1cef --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Connect/VerifyIdTokenOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Connect +{ + /// + /// Input parameters for the function. + /// + public struct VerifyIdTokenOptions + { + /// + /// The ID token to verify. + /// Use to populate the ProductUserId field of this struct. + /// + public IdToken? IdToken { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct VerifyIdTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_IdToken; + + public void Set(ref VerifyIdTokenOptions other) + { + Dispose(); + + m_ApiVersion = ConnectInterface.VERIFYIDTOKEN_API_LATEST; + Helper.Set(other.IdToken, ref m_IdToken); + } + + public void Dispose() + { + Helper.Dispose(ref m_IdToken); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ContinuanceToken.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ContinuanceToken.cs new file mode 100644 index 0000000..2918e2c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ContinuanceToken.cs @@ -0,0 +1,82 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices +{ + public sealed partial class ContinuanceToken : Handle + { + public ContinuanceToken() + { + } + + public ContinuanceToken(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Retrieve a -terminated stringified continuance token from an . + /// + /// To get the required buffer size, call once with OutBuffer set to , InOutBufferLength will contain the buffer size needed. + /// Call again with valid params to get the stringified continuance token which will only contain UTF8-encoded printable characters as well as the -terminator. + /// + /// + /// The continuance token for which to retrieve the stringified version. + /// + /// + /// The buffer into which the character data should be written + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer including the -termination character. + /// + /// + /// An that indicates whether the continuance token was copied into the OutBuffer. + /// - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the -terminator. + /// - Either OutBuffer or InOutBufferLength were passed as parameters. + /// - The AccountId is invalid and cannot be stringified. + /// - The OutBuffer is not large enough to receive the continuance token . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result ToString(out Utf8String outBuffer) + { + int inOutBufferLength = 8192; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_ContinuanceToken_ToString(InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + public override string ToString() + { + Utf8String callResult; + ToString(out callResult); + return callResult; + } + + public override string ToString(string format, IFormatProvider formatProvider) + { + if (format != null) + { + return string.Format(format, ToString()); + } + + return ToString(); + } + + public static explicit operator Utf8String(ContinuanceToken continuanceToken) + { + Utf8String callResult = null; + + if (continuanceToken != null) + { + continuanceToken.ToString(out callResult); + } + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AcceptRequestToJoinCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AcceptRequestToJoinCallbackInfo.cs new file mode 100644 index 0000000..c245d89 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AcceptRequestToJoinCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct AcceptRequestToJoinCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user accepting an invite request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Target user that sent original invite request + /// + public ProductUserId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AcceptRequestToJoinCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out AcceptRequestToJoinCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AcceptRequestToJoinOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AcceptRequestToJoinOptions.cs new file mode 100644 index 0000000..18b3e28 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AcceptRequestToJoinOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AcceptRequestToJoinOptions + { + /// + /// Local user accepting a request to join + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Target user that sent original request to join + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AcceptRequestToJoinOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref AcceptRequestToJoinOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ACCEPTREQUESTTOJOIN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteAcceptedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteAcceptedOptions.cs new file mode 100644 index 0000000..7930609 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteAcceptedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyCustomInviteAcceptedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyCustomInviteAcceptedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyCustomInviteAcceptedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYCUSTOMINVITEACCEPTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteReceivedOptions.cs new file mode 100644 index 0000000..1d5ba8f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyCustomInviteReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyCustomInviteReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyCustomInviteReceivedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYCUSTOMINVITERECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteRejectedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteRejectedOptions.cs new file mode 100644 index 0000000..256d561 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyCustomInviteRejectedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyCustomInviteRejectedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyCustomInviteRejectedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyCustomInviteRejectedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYCUSTOMINVITEREJECTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinAcceptedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinAcceptedOptions.cs new file mode 100644 index 0000000..0db920a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinAcceptedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyRequestToJoinAcceptedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRequestToJoinAcceptedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyRequestToJoinAcceptedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYREQUESTTOJOINACCEPTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinReceivedOptions.cs new file mode 100644 index 0000000..a16cf77 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the AddNotifyRequestToJoinReceived function. + /// + public struct AddNotifyRequestToJoinReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRequestToJoinReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyRequestToJoinReceivedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYREQUESTTOJOINRECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinRejectedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinRejectedOptions.cs new file mode 100644 index 0000000..43053b9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinRejectedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyRequestToJoinRejectedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRequestToJoinRejectedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyRequestToJoinRejectedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYREQUESTTOJOINREJECTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinResponseReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinResponseReceivedOptions.cs new file mode 100644 index 0000000..7498c92 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifyRequestToJoinResponseReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyRequestToJoinResponseReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRequestToJoinResponseReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyRequestToJoinResponseReceivedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYREQUESTTOJOINRESPONSERECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifySendCustomNativeInviteRequestedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifySendCustomNativeInviteRequestedOptions.cs new file mode 100644 index 0000000..8f3d8ed --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/AddNotifySendCustomNativeInviteRequestedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifySendCustomNativeInviteRequestedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifySendCustomNativeInviteRequestedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifySendCustomNativeInviteRequestedOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.ADDNOTIFYSENDCUSTOMNATIVEINVITEREQUESTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/CustomInviteRejectedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/CustomInviteRejectedCallbackInfo.cs new file mode 100644 index 0000000..cec7b24 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/CustomInviteRejectedCallbackInfo.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. + /// + public struct CustomInviteRejectedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent the custom invite + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Id of the rejected Custom Invite + /// + public Utf8String CustomInviteId { get; set; } + + /// + /// Payload of the rejected Custom Invite + /// + public Utf8String Payload { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CustomInviteRejectedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + private IntPtr m_CustomInviteId; + private IntPtr m_Payload; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out CustomInviteRejectedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String CustomInviteIdPublic; + Helper.Get(m_CustomInviteId, out CustomInviteIdPublic); + other.CustomInviteId = CustomInviteIdPublic; + Utf8String PayloadPublic; + Helper.Get(m_Payload, out PayloadPublic); + other.Payload = PayloadPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/CustomInvitesInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/CustomInvitesInterface.cs new file mode 100644 index 0000000..b5187b9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/CustomInvitesInterface.cs @@ -0,0 +1,727 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.CustomInvites +{ + public sealed partial class CustomInvitesInterface : Handle + { + public CustomInvitesInterface() + { + } + + public CustomInvitesInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ACCEPTREQUESTTOJOIN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYCUSTOMINVITEACCEPTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYCUSTOMINVITERECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYCUSTOMINVITEREJECTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYREQUESTTOJOINACCEPTED_API_LATEST = 1; + /// + /// The most recent version of the AddNotifyRequestToJoinReceived API. + /// + public const int ADDNOTIFYREQUESTTOJOINRECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYREQUESTTOJOINREJECTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYREQUESTTOJOINRESPONSERECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYSENDCUSTOMNATIVEINVITEREQUESTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int FINALIZEINVITE_API_LATEST = 1; + /// + /// Maximum size of the custom invite payload + /// + public const int MAX_PAYLOAD_LENGTH = 500; + /// + /// The most recent version of the API. + /// + public const int REJECTREQUESTTOJOIN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SENDCUSTOMINVITE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SENDREQUESTTOJOIN_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SETCUSTOMINVITE_API_LATEST = 1; + + /// + /// Accept a request to join from another user + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the query completes successfully + /// - if any of the options values are incorrect + /// + public void AcceptRequestToJoin(ref AcceptRequestToJoinOptions options, object clientData, OnAcceptRequestToJoinCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(AcceptRequestToJoinOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_CustomInvites_AcceptRequestToJoin(InnerHandle, ref optionsInternal, clientDataPointer, OnAcceptRequestToJoinCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Register to receive notifications when a Custom Invite for any logged in local user is accepted via the Social Overlay + /// Invites accepted in this way still need to have FinalizeInvite called on them after you have finished processing the invite accept (e.g. after joining the game) + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a Custom Invite is accepted via the Social Overlay. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyCustomInviteAccepted(ref AddNotifyCustomInviteAcceptedOptions options, object clientData, OnCustomInviteAcceptedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyCustomInviteAcceptedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyCustomInviteAccepted(InnerHandle, ref optionsInternal, clientDataPointer, OnCustomInviteAcceptedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a Custom Invite for any logged in local user is received + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a Custom Invite is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyCustomInviteReceived(ref AddNotifyCustomInviteReceivedOptions options, object clientData, OnCustomInviteReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyCustomInviteReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyCustomInviteReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnCustomInviteReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a Custom Invite for any logged in local user is rejected via the Social Overlay + /// Invites rejected in this way do not need to have FinalizeInvite called on them, it is called automatically internally by the SDK. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a Custom Invite is rejected via the Social Overlay. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyCustomInviteRejected(ref AddNotifyCustomInviteRejectedOptions options, object clientData, OnCustomInviteRejectedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyCustomInviteRejectedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyCustomInviteRejected(InnerHandle, ref optionsInternal, clientDataPointer, OnCustomInviteRejectedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a Request to Join for any logged in local user is accepted via the Social Overlay + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a Request to Join is accepted via the Social Overlay. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyRequestToJoinAccepted(ref AddNotifyRequestToJoinAcceptedOptions options, object clientData, OnRequestToJoinAcceptedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyRequestToJoinAcceptedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyRequestToJoinAccepted(InnerHandle, ref optionsInternal, clientDataPointer, OnRequestToJoinAcceptedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a request to join is received for a local user + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a response is received for an invite request. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyRequestToJoinReceived(ref AddNotifyRequestToJoinReceivedOptions options, object clientData, OnRequestToJoinReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyRequestToJoinReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyRequestToJoinReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnRequestToJoinReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a Request to Join for any logged in local user is rejected via the Social Overlay + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a Request to Join is accepted via the Social Overlay. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyRequestToJoinRejected(ref AddNotifyRequestToJoinRejectedOptions options, object clientData, OnRequestToJoinRejectedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyRequestToJoinRejectedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyRequestToJoinRejected(InnerHandle, ref optionsInternal, clientDataPointer, OnRequestToJoinRejectedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a request to join is responded to by a target user. Note that there is no guarantee a response will be received for every request to join. + /// A player is free to ignore a Request to Join until it expires at which point it will be deleted without sending a response. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a response is received for an invite request. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyRequestToJoinResponseReceived(ref AddNotifyRequestToJoinResponseReceivedOptions options, object clientData, OnRequestToJoinResponseReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyRequestToJoinResponseReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifyRequestToJoinResponseReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnRequestToJoinResponseReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about a custom invite "INVITE" performed by a local user via the overlay. + /// This is only needed when a configured integrated platform has set. The EOS SDK will + /// then use the state of and to determine when the NotificationFn is + /// called. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifySendCustomNativeInviteRequested(ref AddNotifySendCustomNativeInviteRequestedOptions options, object clientData, OnSendCustomNativeInviteRequestedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifySendCustomNativeInviteRequestedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_CustomInvites_AddNotifySendCustomNativeInviteRequested(InnerHandle, ref optionsInternal, clientDataPointer, OnSendCustomNativeInviteRequestedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Signal that the title has completed processing a received Custom Invite, and that it should be cleaned up internally and in the Overlay + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the operation completes successfully + /// - if any of the option values are incorrect + /// + public Result FinalizeInvite(ref FinalizeInviteOptions options) + { + var optionsInternal = default(FinalizeInviteOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_CustomInvites_FinalizeInvite(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Reject a request to join from another user + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the query completes successfully + /// - if any of the options values are incorrect + /// + public void RejectRequestToJoin(ref RejectRequestToJoinOptions options, object clientData, OnRejectRequestToJoinCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(RejectRequestToJoinOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_CustomInvites_RejectRequestToJoin(InnerHandle, ref optionsInternal, clientDataPointer, OnRejectRequestToJoinCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unregister from receiving notifications when a Custom Invite for any logged in local user is accepted via the Social Overlay + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyCustomInviteAccepted(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyCustomInviteAccepted(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a Custom Invite for any logged in local user is received + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyCustomInviteReceived(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyCustomInviteReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a Custom Invite for any logged in local user is rejected via the Social Overlay + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyCustomInviteRejected(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyCustomInviteRejected(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a Request to Join for any logged in local user is accepted via the Social Overlay + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyRequestToJoinAccepted(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyRequestToJoinAccepted(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a request to join for any logged in local user is received + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyRequestToJoinReceived(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyRequestToJoinReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a Request to Join for any logged in local user is rejected via the Social Overlay + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyRequestToJoinRejected(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyRequestToJoinRejected(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a request to join for any logged in local user is received + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyRequestToJoinResponseReceived(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifyRequestToJoinResponseReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a user requests a send invite via the overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifySendCustomNativeInviteRequested(ulong inId) + { + Bindings.EOS_CustomInvites_RemoveNotifySendCustomNativeInviteRequested(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Sends a Custom Invite that has previously been initialized via SetCustomInvite to a group of users. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the query completes successfully + /// - if any of the options values are incorrect + /// - if the number of allowed queries is exceeded + /// - if SetCustomInvite has not been previously successfully called for this user + /// + public void SendCustomInvite(ref SendCustomInviteOptions options, object clientData, OnSendCustomInviteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(SendCustomInviteOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_CustomInvites_SendCustomInvite(InnerHandle, ref optionsInternal, clientDataPointer, OnSendCustomInviteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Request that another user send an invitation. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the query completes successfully + /// - if any of the options values are incorrect + /// + public void SendRequestToJoin(ref SendRequestToJoinOptions options, object clientData, OnSendRequestToJoinCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(SendRequestToJoinOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_CustomInvites_SendRequestToJoin(InnerHandle, ref optionsInternal, clientDataPointer, OnSendRequestToJoinCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Initializes a Custom Invite with a specified payload in preparation for it to be sent to another user or users. + /// + /// + /// Structure containing information about the request. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the operation completes successfully + /// - if any of the options values are incorrect + /// + public Result SetCustomInvite(ref SetCustomInviteOptions options) + { + var optionsInternal = default(SetCustomInviteOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_CustomInvites_SetCustomInvite(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/FinalizeInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/FinalizeInviteOptions.cs new file mode 100644 index 0000000..7239017 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/FinalizeInviteOptions.cs @@ -0,0 +1,62 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct FinalizeInviteOptions + { + /// + /// User that sent the custom invite + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Id of the Custom Invite accepted + /// + public Utf8String CustomInviteId { get; set; } + + /// + /// Result of the Processing operation, transmitted to Social Overlay if applicable + /// + public Result ProcessingResult { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct FinalizeInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + private IntPtr m_CustomInviteId; + private Result m_ProcessingResult; + + public void Set(ref FinalizeInviteOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.FINALIZEINVITE_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.CustomInviteId, ref m_CustomInviteId); + m_ProcessingResult = other.ProcessingResult; + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_CustomInviteId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnAcceptRequestToJoinCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnAcceptRequestToJoinCallback.cs new file mode 100644 index 0000000..98541a4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnAcceptRequestToJoinCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnAcceptRequestToJoinCallback(ref AcceptRequestToJoinCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnAcceptRequestToJoinCallbackInternal(ref AcceptRequestToJoinCallbackInfoInternal data); + + internal static class OnAcceptRequestToJoinCallbackInternalImplementation + { + private static OnAcceptRequestToJoinCallbackInternal s_Delegate; + public static OnAcceptRequestToJoinCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnAcceptRequestToJoinCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnAcceptRequestToJoinCallbackInternal))] + public static void EntryPoint(ref AcceptRequestToJoinCallbackInfoInternal data) + { + OnAcceptRequestToJoinCallback callback; + AcceptRequestToJoinCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteAcceptedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteAcceptedCallback.cs new file mode 100644 index 0000000..2538624 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteAcceptedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnCustomInviteAcceptedCallback(ref OnCustomInviteAcceptedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCustomInviteAcceptedCallbackInternal(ref OnCustomInviteAcceptedCallbackInfoInternal data); + + internal static class OnCustomInviteAcceptedCallbackInternalImplementation + { + private static OnCustomInviteAcceptedCallbackInternal s_Delegate; + public static OnCustomInviteAcceptedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCustomInviteAcceptedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCustomInviteAcceptedCallbackInternal))] + public static void EntryPoint(ref OnCustomInviteAcceptedCallbackInfoInternal data) + { + OnCustomInviteAcceptedCallback callback; + OnCustomInviteAcceptedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteAcceptedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteAcceptedCallbackInfo.cs new file mode 100644 index 0000000..4a573f8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteAcceptedCallbackInfo.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. + /// + public struct OnCustomInviteAcceptedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent the custom invite + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Id of the accepted Custom Invite + /// + public Utf8String CustomInviteId { get; set; } + + /// + /// Payload of the accepted Custom Invite + /// + public Utf8String Payload { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnCustomInviteAcceptedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + private IntPtr m_CustomInviteId; + private IntPtr m_Payload; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnCustomInviteAcceptedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String CustomInviteIdPublic; + Helper.Get(m_CustomInviteId, out CustomInviteIdPublic); + other.CustomInviteId = CustomInviteIdPublic; + Utf8String PayloadPublic; + Helper.Get(m_Payload, out PayloadPublic); + other.Payload = PayloadPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteReceivedCallback.cs new file mode 100644 index 0000000..288acdd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnCustomInviteReceivedCallback(ref OnCustomInviteReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCustomInviteReceivedCallbackInternal(ref OnCustomInviteReceivedCallbackInfoInternal data); + + internal static class OnCustomInviteReceivedCallbackInternalImplementation + { + private static OnCustomInviteReceivedCallbackInternal s_Delegate; + public static OnCustomInviteReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCustomInviteReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCustomInviteReceivedCallbackInternal))] + public static void EntryPoint(ref OnCustomInviteReceivedCallbackInfoInternal data) + { + OnCustomInviteReceivedCallback callback; + OnCustomInviteReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteReceivedCallbackInfo.cs new file mode 100644 index 0000000..cbe31ad --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteReceivedCallbackInfo.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. + /// + public struct OnCustomInviteReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent this custom invite + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Id of the received Custom Invite + /// + public Utf8String CustomInviteId { get; set; } + + /// + /// Payload of the received Custom Invite + /// + public Utf8String Payload { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnCustomInviteReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + private IntPtr m_CustomInviteId; + private IntPtr m_Payload; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnCustomInviteReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String CustomInviteIdPublic; + Helper.Get(m_CustomInviteId, out CustomInviteIdPublic); + other.CustomInviteId = CustomInviteIdPublic; + Utf8String PayloadPublic; + Helper.Get(m_Payload, out PayloadPublic); + other.Payload = PayloadPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteRejectedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteRejectedCallback.cs new file mode 100644 index 0000000..5c24f12 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnCustomInviteRejectedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnCustomInviteRejectedCallback(ref CustomInviteRejectedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCustomInviteRejectedCallbackInternal(ref CustomInviteRejectedCallbackInfoInternal data); + + internal static class OnCustomInviteRejectedCallbackInternalImplementation + { + private static OnCustomInviteRejectedCallbackInternal s_Delegate; + public static OnCustomInviteRejectedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCustomInviteRejectedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCustomInviteRejectedCallbackInternal))] + public static void EntryPoint(ref CustomInviteRejectedCallbackInfoInternal data) + { + OnCustomInviteRejectedCallback callback; + CustomInviteRejectedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRejectRequestToJoinCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRejectRequestToJoinCallback.cs new file mode 100644 index 0000000..358f787 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRejectRequestToJoinCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnRejectRequestToJoinCallback(ref RejectRequestToJoinCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRejectRequestToJoinCallbackInternal(ref RejectRequestToJoinCallbackInfoInternal data); + + internal static class OnRejectRequestToJoinCallbackInternalImplementation + { + private static OnRejectRequestToJoinCallbackInternal s_Delegate; + public static OnRejectRequestToJoinCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRejectRequestToJoinCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRejectRequestToJoinCallbackInternal))] + public static void EntryPoint(ref RejectRequestToJoinCallbackInfoInternal data) + { + OnRejectRequestToJoinCallback callback; + RejectRequestToJoinCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinAcceptedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinAcceptedCallback.cs new file mode 100644 index 0000000..a9b1cda --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinAcceptedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnRequestToJoinAcceptedCallback(ref OnRequestToJoinAcceptedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRequestToJoinAcceptedCallbackInternal(ref OnRequestToJoinAcceptedCallbackInfoInternal data); + + internal static class OnRequestToJoinAcceptedCallbackInternalImplementation + { + private static OnRequestToJoinAcceptedCallbackInternal s_Delegate; + public static OnRequestToJoinAcceptedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRequestToJoinAcceptedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRequestToJoinAcceptedCallbackInternal))] + public static void EntryPoint(ref OnRequestToJoinAcceptedCallbackInfoInternal data) + { + OnRequestToJoinAcceptedCallback callback; + OnRequestToJoinAcceptedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinAcceptedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinAcceptedCallbackInfo.cs new file mode 100644 index 0000000..46abec8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinAcceptedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. + /// + public struct OnRequestToJoinAcceptedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent the request to join + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Local user ID of the Request to Join recipient + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnRequestToJoinAcceptedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnRequestToJoinAcceptedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinReceivedCallback.cs new file mode 100644 index 0000000..9cdac82 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnRequestToJoinReceivedCallback(ref RequestToJoinReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRequestToJoinReceivedCallbackInternal(ref RequestToJoinReceivedCallbackInfoInternal data); + + internal static class OnRequestToJoinReceivedCallbackInternalImplementation + { + private static OnRequestToJoinReceivedCallbackInternal s_Delegate; + public static OnRequestToJoinReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRequestToJoinReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRequestToJoinReceivedCallbackInternal))] + public static void EntryPoint(ref RequestToJoinReceivedCallbackInfoInternal data) + { + OnRequestToJoinReceivedCallback callback; + RequestToJoinReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinRejectedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinRejectedCallback.cs new file mode 100644 index 0000000..cb26bd3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinRejectedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnRequestToJoinRejectedCallback(ref OnRequestToJoinRejectedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRequestToJoinRejectedCallbackInternal(ref OnRequestToJoinRejectedCallbackInfoInternal data); + + internal static class OnRequestToJoinRejectedCallbackInternalImplementation + { + private static OnRequestToJoinRejectedCallbackInternal s_Delegate; + public static OnRequestToJoinRejectedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRequestToJoinRejectedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRequestToJoinRejectedCallbackInternal))] + public static void EntryPoint(ref OnRequestToJoinRejectedCallbackInfoInternal data) + { + OnRequestToJoinRejectedCallback callback; + OnRequestToJoinRejectedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinRejectedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinRejectedCallbackInfo.cs new file mode 100644 index 0000000..21daa28 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinRejectedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. + /// + public struct OnRequestToJoinRejectedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent the custom invite + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnRequestToJoinRejectedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_TargetUserId; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnRequestToJoinRejectedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinResponseReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinResponseReceivedCallback.cs new file mode 100644 index 0000000..cf8dd41 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnRequestToJoinResponseReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// A containing the output information and result + /// + public delegate void OnRequestToJoinResponseReceivedCallback(ref RequestToJoinResponseReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRequestToJoinResponseReceivedCallbackInternal(ref RequestToJoinResponseReceivedCallbackInfoInternal data); + + internal static class OnRequestToJoinResponseReceivedCallbackInternalImplementation + { + private static OnRequestToJoinResponseReceivedCallbackInternal s_Delegate; + public static OnRequestToJoinResponseReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRequestToJoinResponseReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRequestToJoinResponseReceivedCallbackInternal))] + public static void EntryPoint(ref RequestToJoinResponseReceivedCallbackInfoInternal data) + { + OnRequestToJoinResponseReceivedCallback callback; + RequestToJoinResponseReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendCustomInviteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendCustomInviteCallback.cs new file mode 100644 index 0000000..6b7732c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendCustomInviteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnSendCustomInviteCallback(ref SendCustomInviteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSendCustomInviteCallbackInternal(ref SendCustomInviteCallbackInfoInternal data); + + internal static class OnSendCustomInviteCallbackInternalImplementation + { + private static OnSendCustomInviteCallbackInternal s_Delegate; + public static OnSendCustomInviteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSendCustomInviteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSendCustomInviteCallbackInternal))] + public static void EntryPoint(ref SendCustomInviteCallbackInfoInternal data) + { + OnSendCustomInviteCallback callback; + SendCustomInviteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendCustomNativeInviteRequestedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendCustomNativeInviteRequestedCallback.cs new file mode 100644 index 0000000..9fe2a3b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendCustomNativeInviteRequestedCallback.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for notifications that comes from + /// After processing the callback must be called. + /// + /// + /// + /// A containing the output information and result + /// + public delegate void OnSendCustomNativeInviteRequestedCallback(ref SendCustomNativeInviteRequestedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSendCustomNativeInviteRequestedCallbackInternal(ref SendCustomNativeInviteRequestedCallbackInfoInternal data); + + internal static class OnSendCustomNativeInviteRequestedCallbackInternalImplementation + { + private static OnSendCustomNativeInviteRequestedCallbackInternal s_Delegate; + public static OnSendCustomNativeInviteRequestedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSendCustomNativeInviteRequestedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSendCustomNativeInviteRequestedCallbackInternal))] + public static void EntryPoint(ref SendCustomNativeInviteRequestedCallbackInfoInternal data) + { + OnSendCustomNativeInviteRequestedCallback callback; + SendCustomNativeInviteRequestedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendRequestToJoinCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendRequestToJoinCallback.cs new file mode 100644 index 0000000..8ef42d4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/OnSendRequestToJoinCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnSendRequestToJoinCallback(ref SendRequestToJoinCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSendRequestToJoinCallbackInternal(ref SendRequestToJoinCallbackInfoInternal data); + + internal static class OnSendRequestToJoinCallbackInternalImplementation + { + private static OnSendRequestToJoinCallbackInternal s_Delegate; + public static OnSendRequestToJoinCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSendRequestToJoinCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSendRequestToJoinCallbackInternal))] + public static void EntryPoint(ref SendRequestToJoinCallbackInfoInternal data) + { + OnSendRequestToJoinCallback callback; + SendRequestToJoinCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RejectRequestToJoinCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RejectRequestToJoinCallbackInfo.cs new file mode 100644 index 0000000..8d5a8e2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RejectRequestToJoinCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct RejectRequestToJoinCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user declining a request to join + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Target user that sent original request to join + /// + public ProductUserId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RejectRequestToJoinCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RejectRequestToJoinCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RejectRequestToJoinOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RejectRequestToJoinOptions.cs new file mode 100644 index 0000000..b06351e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RejectRequestToJoinOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct RejectRequestToJoinOptions + { + /// + /// Local user declining an invite request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Target user that sent original invite request + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RejectRequestToJoinOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref RejectRequestToJoinOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.REJECTREQUESTTOJOIN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinReceivedCallbackInfo.cs new file mode 100644 index 0000000..5c3c281 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinReceivedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the function. + /// + public struct RequestToJoinReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent this response + /// + public ProductUserId FromUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId ToUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RequestToJoinReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_FromUserId; + private IntPtr m_ToUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RequestToJoinReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId FromUserIdPublic; + Helper.Get(m_FromUserId, out FromUserIdPublic); + other.FromUserId = FromUserIdPublic; + ProductUserId ToUserIdPublic; + Helper.Get(m_ToUserId, out ToUserIdPublic); + other.ToUserId = ToUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinResponse.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinResponse.cs new file mode 100644 index 0000000..df21561 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinResponse.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Response to an invite request. + /// + public enum RequestToJoinResponse : int + { + /// + /// The target of the invite request has accepted. + /// + Accepted = 0, + /// + /// The target of the invite request has rejected. + /// + Rejected = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinResponseReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinResponseReceivedCallbackInfo.cs new file mode 100644 index 0000000..e568162 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/RequestToJoinResponseReceivedCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the function. + /// + public struct RequestToJoinResponseReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// User that sent this response + /// + public ProductUserId FromUserId { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId ToUserId { get; set; } + + /// + /// The Intent associated with this response + /// + public RequestToJoinResponse Response { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RequestToJoinResponseReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_FromUserId; + private IntPtr m_ToUserId; + private RequestToJoinResponse m_Response; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RequestToJoinResponseReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId FromUserIdPublic; + Helper.Get(m_FromUserId, out FromUserIdPublic); + other.FromUserId = FromUserIdPublic; + ProductUserId ToUserIdPublic; + Helper.Get(m_ToUserId, out ToUserIdPublic); + other.ToUserId = ToUserIdPublic; + other.Response = m_Response; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomInviteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomInviteCallbackInfo.cs new file mode 100644 index 0000000..57f45fa --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomInviteCallbackInfo.cs @@ -0,0 +1,78 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct SendCustomInviteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user sending a CustomInvite + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Users to whom the invites were successfully sent (can be different than original call if an invite for same Payload was previously sent) + /// + public ProductUserId[] TargetUserIds { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendCustomInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserIds; + private uint m_TargetUserIdsCount; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SendCustomInviteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId[] TargetUserIdsPublic; + Helper.Get(m_TargetUserIds, out TargetUserIdsPublic, m_TargetUserIdsCount); + other.TargetUserIds = TargetUserIdsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomInviteOptions.cs new file mode 100644 index 0000000..30849e5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomInviteOptions.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct SendCustomInviteOptions + { + /// + /// Local user sending a CustomInvite + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Users to whom the invites should be sent + /// + public ProductUserId[] TargetUserIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendCustomInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserIds; + private uint m_TargetUserIdsCount; + + public void Set(ref SendCustomInviteOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.SENDCUSTOMINVITE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserIds, ref m_TargetUserIds, out m_TargetUserIdsCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomNativeInviteRequestedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomNativeInviteRequestedCallbackInfo.cs new file mode 100644 index 0000000..a3ac228 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendCustomNativeInviteRequestedCallbackInfo.cs @@ -0,0 +1,97 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. + /// + public struct SendCustomNativeInviteRequestedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Identifies this event which will need to be acknowledged with (). + /// + /// + public ulong UiEventId { get; set; } + + /// + /// The Product User ID of the local user who is inviting. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Native Platform Account Type. If only a single integrated platform is configured then + /// this will always reference that platform. + /// + public Utf8String TargetNativeAccountType { get; set; } + + /// + /// The Native Platform Account ID of the target user being invited. + /// + public Utf8String TargetUserNativeAccountId { get; set; } + + /// + /// Invite ID that the user is being invited to + /// + public Utf8String InviteId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendCustomNativeInviteRequestedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private ulong m_UiEventId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetNativeAccountType; + private IntPtr m_TargetUserNativeAccountId; + private IntPtr m_InviteId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SendCustomNativeInviteRequestedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.UiEventId = m_UiEventId; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String TargetNativeAccountTypePublic; + Helper.Get(m_TargetNativeAccountType, out TargetNativeAccountTypePublic); + other.TargetNativeAccountType = TargetNativeAccountTypePublic; + Utf8String TargetUserNativeAccountIdPublic; + Helper.Get(m_TargetUserNativeAccountId, out TargetUserNativeAccountIdPublic); + other.TargetUserNativeAccountId = TargetUserNativeAccountIdPublic; + Utf8String InviteIdPublic; + Helper.Get(m_InviteId, out InviteIdPublic); + other.InviteId = InviteIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendRequestToJoinCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendRequestToJoinCallbackInfo.cs new file mode 100644 index 0000000..69b1a6b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendRequestToJoinCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct SendRequestToJoinCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user requesting an invite + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Recipient of Request Invite + /// + public ProductUserId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendRequestToJoinCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SendRequestToJoinCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendRequestToJoinOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendRequestToJoinOptions.cs new file mode 100644 index 0000000..c6875f4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SendRequestToJoinOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct SendRequestToJoinOptions + { + /// + /// Local user Requesting an Invite + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Recipient of Request Invite + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendRequestToJoinOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref SendRequestToJoinOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.SENDREQUESTTOJOIN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SetCustomInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SetCustomInviteOptions.cs new file mode 100644 index 0000000..1afef02 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/CustomInvites/SetCustomInviteOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.CustomInvites +{ + /// + /// Input parameters for the function. + /// + public struct SetCustomInviteOptions + { + /// + /// Local user creating / sending a Custom Invite + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// payload for the Custom Invite (must be less than ) + /// + public Utf8String Payload { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetCustomInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Payload; + + public void Set(ref SetCustomInviteOptions other) + { + Dispose(); + + m_ApiVersion = CustomInvitesInterface.SETCUSTOMINVITE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Payload, ref m_Payload); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Payload); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogItem.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogItem.cs new file mode 100644 index 0000000..c368ade --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogItem.cs @@ -0,0 +1,113 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a single item within the catalog. Instances of this structure are created + /// by . They must be passed to . + /// + public struct CatalogItem + { + /// + /// Product namespace in which this item exists + /// + public Utf8String CatalogNamespace { get; set; } + + /// + /// The ID of this item + /// + public Utf8String Id { get; set; } + + /// + /// The entitlement name associated with this item + /// + public Utf8String EntitlementName { get; set; } + + /// + /// Localized UTF-8 title of this item + /// + public Utf8String TitleText { get; set; } + + /// + /// Localized UTF-8 description of this item + /// + public Utf8String DescriptionText { get; set; } + + /// + /// Localized UTF-8 long description of this item + /// + public Utf8String LongDescriptionText { get; set; } + + /// + /// Localized UTF-8 technical details of this item + /// + public Utf8String TechnicalDetailsText { get; set; } + + /// + /// Localized UTF-8 developer of this item + /// + public Utf8String DeveloperText { get; set; } + + /// + /// The type of item as defined in the catalog + /// + public EcomItemType ItemType { get; set; } + + /// + /// If not -1 then this is the POSIX timestamp that the entitlement will end + /// + public long EntitlementEndTimestamp { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CatalogItemInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_CatalogNamespace; + private IntPtr m_Id; + private IntPtr m_EntitlementName; + private IntPtr m_TitleText; + private IntPtr m_DescriptionText; + private IntPtr m_LongDescriptionText; + private IntPtr m_TechnicalDetailsText; + private IntPtr m_DeveloperText; + private EcomItemType m_ItemType; + private long m_EntitlementEndTimestamp; + + public void Get(out CatalogItem other) + { + other = default; + + Utf8String CatalogNamespacePublic; + Helper.Get(m_CatalogNamespace, out CatalogNamespacePublic); + other.CatalogNamespace = CatalogNamespacePublic; + Utf8String IdPublic; + Helper.Get(m_Id, out IdPublic); + other.Id = IdPublic; + Utf8String EntitlementNamePublic; + Helper.Get(m_EntitlementName, out EntitlementNamePublic); + other.EntitlementName = EntitlementNamePublic; + Utf8String TitleTextPublic; + Helper.Get(m_TitleText, out TitleTextPublic); + other.TitleText = TitleTextPublic; + Utf8String DescriptionTextPublic; + Helper.Get(m_DescriptionText, out DescriptionTextPublic); + other.DescriptionText = DescriptionTextPublic; + Utf8String LongDescriptionTextPublic; + Helper.Get(m_LongDescriptionText, out LongDescriptionTextPublic); + other.LongDescriptionText = LongDescriptionTextPublic; + Utf8String TechnicalDetailsTextPublic; + Helper.Get(m_TechnicalDetailsText, out TechnicalDetailsTextPublic); + other.TechnicalDetailsText = TechnicalDetailsTextPublic; + Utf8String DeveloperTextPublic; + Helper.Get(m_DeveloperText, out DeveloperTextPublic); + other.DeveloperText = DeveloperTextPublic; + other.ItemType = m_ItemType; + other.EntitlementEndTimestamp = m_EntitlementEndTimestamp; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogOffer.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogOffer.cs new file mode 100644 index 0000000..59c458b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogOffer.cs @@ -0,0 +1,197 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a single offer within the catalog. Instances of this structure are + /// created by . They must be passed to . + /// Prices are stored in the lowest denomination for the associated currency. If CurrencyCode is + /// "USD" then a price of 299 represents "$2.99". + /// + public struct CatalogOffer + { + /// + /// The index of this offer as it exists on the server. + /// This is useful for understanding pagination data. + /// + public int ServerIndex { get; set; } + + /// + /// Product namespace in which this offer exists + /// + public Utf8String CatalogNamespace { get; set; } + + /// + /// The ID of this offer + /// + public Utf8String Id { get; set; } + + /// + /// Localized UTF-8 title of this offer + /// + public Utf8String TitleText { get; set; } + + /// + /// Localized UTF-8 description of this offer + /// + public Utf8String DescriptionText { get; set; } + + /// + /// Localized UTF-8 long description of this offer + /// + public Utf8String LongDescriptionText { get; set; } + + /// + /// Deprecated. + /// is still valid. + /// + public Utf8String TechnicalDetailsText_DEPRECATED { get; set; } + + /// + /// The Currency Code for this offer + /// + public Utf8String CurrencyCode { get; set; } + + /// + /// If this value is then OriginalPrice, CurrentPrice, and DiscountPercentage contain valid data. + /// Otherwise this value represents the error that occurred on the price query. + /// + public Result PriceResult { get; set; } + + /// + /// The original price of this offer as a 32-bit number is deprecated. + /// + public uint OriginalPrice_DEPRECATED { get; set; } + + /// + /// The current price including discounts of this offer as a 32-bit number is deprecated.. + /// + public uint CurrentPrice_DEPRECATED { get; set; } + + /// + /// A value from 0 to 100 define the percentage of the OrignalPrice that the CurrentPrice represents + /// + public byte DiscountPercentage { get; set; } + + /// + /// Contains the POSIX timestamp that the offer expires or -1 if it does not expire + /// + public long ExpirationTimestamp { get; set; } + + /// + /// The number of times that the requesting account has purchased this offer. + /// This value is deprecated and the backend no longer returns this value. + /// + public uint PurchasedCount_DEPRECATED { get; set; } + + /// + /// The maximum number of times that the offer can be purchased. + /// A negative value implies there is no limit. + /// + public int PurchaseLimit { get; set; } + + /// + /// True if the user can purchase this offer. + /// + public bool AvailableForPurchase { get; set; } + + /// + /// The original price of this offer as a 64-bit number. + /// + public ulong OriginalPrice64 { get; set; } + + /// + /// The current price including discounts of this offer as a 64-bit number. + /// + public ulong CurrentPrice64 { get; set; } + + /// + /// The decimal point for the provided price. For example, DecimalPoint '2' and CurrentPrice64 '12345' would be '123.45'. + /// + public uint DecimalPoint { get; set; } + + /// + /// Timestamp indicating when the time when the offer was released. Can be ignored if set to -1. + /// + public long ReleaseDateTimestamp { get; set; } + + /// + /// Timestamp indicating the effective date of the offer. Can be ignored if set to -1. + /// + public long EffectiveDateTimestamp { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CatalogOfferInternal : IGettable + { + private int m_ApiVersion; + private int m_ServerIndex; + private IntPtr m_CatalogNamespace; + private IntPtr m_Id; + private IntPtr m_TitleText; + private IntPtr m_DescriptionText; + private IntPtr m_LongDescriptionText; + private IntPtr m_TechnicalDetailsText_DEPRECATED; + private IntPtr m_CurrencyCode; + private Result m_PriceResult; + private uint m_OriginalPrice_DEPRECATED; + private uint m_CurrentPrice_DEPRECATED; + private byte m_DiscountPercentage; + private long m_ExpirationTimestamp; + private uint m_PurchasedCount_DEPRECATED; + private int m_PurchaseLimit; + private int m_AvailableForPurchase; + private ulong m_OriginalPrice64; + private ulong m_CurrentPrice64; + private uint m_DecimalPoint; + private long m_ReleaseDateTimestamp; + private long m_EffectiveDateTimestamp; + + public void Get(out CatalogOffer other) + { + other = default; + + other.ServerIndex = m_ServerIndex; + Utf8String CatalogNamespacePublic; + Helper.Get(m_CatalogNamespace, out CatalogNamespacePublic); + other.CatalogNamespace = CatalogNamespacePublic; + Utf8String IdPublic; + Helper.Get(m_Id, out IdPublic); + other.Id = IdPublic; + Utf8String TitleTextPublic; + Helper.Get(m_TitleText, out TitleTextPublic); + other.TitleText = TitleTextPublic; + Utf8String DescriptionTextPublic; + Helper.Get(m_DescriptionText, out DescriptionTextPublic); + other.DescriptionText = DescriptionTextPublic; + Utf8String LongDescriptionTextPublic; + Helper.Get(m_LongDescriptionText, out LongDescriptionTextPublic); + other.LongDescriptionText = LongDescriptionTextPublic; + Utf8String TechnicalDetailsText_DEPRECATEDPublic; + Helper.Get(m_TechnicalDetailsText_DEPRECATED, out TechnicalDetailsText_DEPRECATEDPublic); + other.TechnicalDetailsText_DEPRECATED = TechnicalDetailsText_DEPRECATEDPublic; + Utf8String CurrencyCodePublic; + Helper.Get(m_CurrencyCode, out CurrencyCodePublic); + other.CurrencyCode = CurrencyCodePublic; + other.PriceResult = m_PriceResult; + other.OriginalPrice_DEPRECATED = m_OriginalPrice_DEPRECATED; + other.CurrentPrice_DEPRECATED = m_CurrentPrice_DEPRECATED; + other.DiscountPercentage = m_DiscountPercentage; + other.ExpirationTimestamp = m_ExpirationTimestamp; + other.PurchasedCount_DEPRECATED = m_PurchasedCount_DEPRECATED; + other.PurchaseLimit = m_PurchaseLimit; + bool AvailableForPurchasePublic; + Helper.Get(m_AvailableForPurchase, out AvailableForPurchasePublic); + other.AvailableForPurchase = AvailableForPurchasePublic; + other.OriginalPrice64 = m_OriginalPrice64; + other.CurrentPrice64 = m_CurrentPrice64; + other.DecimalPoint = m_DecimalPoint; + other.ReleaseDateTimestamp = m_ReleaseDateTimestamp; + other.EffectiveDateTimestamp = m_EffectiveDateTimestamp; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogRelease.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogRelease.cs new file mode 100644 index 0000000..384a72a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CatalogRelease.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a single release within the catalog. Instances of this structure are + /// created by . They must be passed to . + /// + public struct CatalogRelease + { + /// + /// A list of compatible APP IDs + /// + public Utf8String[] CompatibleAppIds { get; set; } + + /// + /// A list of compatible Platforms + /// + public Utf8String[] CompatiblePlatforms { get; set; } + + /// + /// Release note for compatible versions + /// + public Utf8String ReleaseNote { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CatalogReleaseInternal : IGettable + { + private int m_ApiVersion; + private uint m_CompatibleAppIdCount; + private IntPtr m_CompatibleAppIds; + private uint m_CompatiblePlatformCount; + private IntPtr m_CompatiblePlatforms; + private IntPtr m_ReleaseNote; + + public void Get(out CatalogRelease other) + { + other = default; + + Utf8String[] CompatibleAppIdsPublic; + Helper.Get(m_CompatibleAppIds, out CompatibleAppIdsPublic, m_CompatibleAppIdCount, true); + other.CompatibleAppIds = CompatibleAppIdsPublic; + Utf8String[] CompatiblePlatformsPublic; + Helper.Get(m_CompatiblePlatforms, out CompatiblePlatformsPublic, m_CompatiblePlatformCount, true); + other.CompatiblePlatforms = CompatiblePlatformsPublic; + Utf8String ReleaseNotePublic; + Helper.Get(m_ReleaseNote, out ReleaseNotePublic); + other.ReleaseNote = ReleaseNotePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutCallbackInfo.cs new file mode 100644 index 0000000..4037d8b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct CheckoutCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, otherwise one of the error codes is returned. See eos_common.h + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the user who initiated the purchase + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The transaction ID which can be used to obtain an using . + /// + public Utf8String TransactionId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CheckoutCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TransactionId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out CheckoutCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String TransactionIdPublic; + Helper.Get(m_TransactionId, out TransactionIdPublic); + other.TransactionId = TransactionIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutEntry.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutEntry.cs new file mode 100644 index 0000000..eec8152 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutEntry.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a request to purchase a single offer. This structure is set as part + /// of the structure. + /// + public struct CheckoutEntry + { + /// + /// The ID of the offer to purchase + /// + public Utf8String OfferId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CheckoutEntryInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_OfferId; + + public void Set(ref CheckoutEntry other) + { + Dispose(); + + m_ApiVersion = EcomInterface.CHECKOUTENTRY_API_LATEST; + Helper.Set(other.OfferId, ref m_OfferId); + } + + public void Dispose() + { + Helper.Dispose(ref m_OfferId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutOptions.cs new file mode 100644 index 0000000..0a316e4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutOptions.cs @@ -0,0 +1,66 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CheckoutOptions + { + /// + /// The Epic Account ID of the local user who is making the purchase + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The catalog namespace will be the current Sandbox ID (in ) unless overridden by this field + /// + public Utf8String OverrideCatalogNamespace { get; set; } + + /// + /// An array of elements, each containing the details of a single offer + /// + public CheckoutEntry[] Entries { get; set; } + + /// + /// Preferred device orientation, specifies Default, Portrait or Landscape. + /// This is used only on mobile platforms currently. + /// SDK can use it to optimize how the Checkout page should be displayed. + /// Please check the mobile SDK documentation for additional required setup. + /// + public CheckoutOrientation PreferredOrientation { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CheckoutOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OverrideCatalogNamespace; + private uint m_EntryCount; + private IntPtr m_Entries; + private CheckoutOrientation m_PreferredOrientation; + + public void Set(ref CheckoutOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.CHECKOUT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OverrideCatalogNamespace, ref m_OverrideCatalogNamespace); + Helper.Set(other.Entries, ref m_Entries, out m_EntryCount, false); + m_PreferredOrientation = other.PreferredOrientation; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OverrideCatalogNamespace); + Helper.Dispose(ref m_Entries); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutOrientation.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutOrientation.cs new file mode 100644 index 0000000..82e1ded --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CheckoutOrientation.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// An enumeration defining the possible orientation for the checkout page. This will be used on mobile. + /// + public enum CheckoutOrientation : int + { + /// + /// Current orientation will be used + /// + Default = 0, + /// + /// Portrait orientation + /// + Portrait = 1, + /// + /// Landscape orientation + /// + Landscape = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByIdOptions.cs new file mode 100644 index 0000000..bef0f48 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyEntitlementByIdOptions + { + /// + /// The Epic Account ID of the local user whose entitlement is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// ID of the entitlement to retrieve from the cache + /// + public Utf8String EntitlementId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyEntitlementByIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_EntitlementId; + + public void Set(ref CopyEntitlementByIdOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYENTITLEMENTBYID_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EntitlementId, ref m_EntitlementId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EntitlementId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByIndexOptions.cs new file mode 100644 index 0000000..65fcc9e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyEntitlementByIndexOptions + { + /// + /// The Epic Account ID of the local user whose entitlement is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Index of the entitlement to retrieve from the cache + /// + public uint EntitlementIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyEntitlementByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_EntitlementIndex; + + public void Set(ref CopyEntitlementByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYENTITLEMENTBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_EntitlementIndex = other.EntitlementIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByNameAndIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByNameAndIndexOptions.cs new file mode 100644 index 0000000..20419c4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyEntitlementByNameAndIndexOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyEntitlementByNameAndIndexOptions + { + /// + /// The Epic Account ID of the local user whose entitlement is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Name of the entitlement to retrieve from the cache + /// + public Utf8String EntitlementName { get; set; } + + /// + /// Index of the entitlement within the named set to retrieve from the cache. + /// + public uint Index { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyEntitlementByNameAndIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_EntitlementName; + private uint m_Index; + + public void Set(ref CopyEntitlementByNameAndIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYENTITLEMENTBYNAMEANDINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EntitlementName, ref m_EntitlementName); + m_Index = other.Index; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EntitlementName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemByIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemByIdOptions.cs new file mode 100644 index 0000000..4a433ad --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemByIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyItemByIdOptions + { + /// + /// The Epic Account ID of the local user whose item is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the item to get. + /// + public Utf8String ItemId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyItemByIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ItemId; + + public void Set(ref CopyItemByIdOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYITEMBYID_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ItemId, ref m_ItemId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ItemId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemImageInfoByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemImageInfoByIndexOptions.cs new file mode 100644 index 0000000..38c7b97 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemImageInfoByIndexOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyItemImageInfoByIndexOptions + { + /// + /// The Epic Account ID of the local user whose item image is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the item to get the images for. + /// + public Utf8String ItemId { get; set; } + + /// + /// The index of the image to get. + /// + public uint ImageInfoIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyItemImageInfoByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ItemId; + private uint m_ImageInfoIndex; + + public void Set(ref CopyItemImageInfoByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYITEMIMAGEINFOBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ItemId, ref m_ItemId); + m_ImageInfoIndex = other.ImageInfoIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ItemId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemReleaseByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemReleaseByIndexOptions.cs new file mode 100644 index 0000000..4347e6f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyItemReleaseByIndexOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyItemReleaseByIndexOptions + { + /// + /// The Epic Account ID of the local user whose item release is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the item to get the releases for. + /// + public Utf8String ItemId { get; set; } + + /// + /// The index of the release to get. + /// + public uint ReleaseIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyItemReleaseByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ItemId; + private uint m_ReleaseIndex; + + public void Set(ref CopyItemReleaseByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYITEMRELEASEBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ItemId, ref m_ItemId); + m_ReleaseIndex = other.ReleaseIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ItemId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyLastRedeemEntitlementsResultByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyLastRedeemEntitlementsResultByIndexOptions.cs new file mode 100644 index 0000000..2ad5109 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyLastRedeemEntitlementsResultByIndexOptions.cs @@ -0,0 +1,53 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyLastRedeemEntitlementsResultByIndexOptions + { + /// + /// The Epic Account ID of the local user whose last redeemed entitlement id is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Index of the entitlement of the given result type. + /// + public uint EntitlementIndex { get; set; } + + /// + /// The Redeem Entitlements Result Type. + /// + public RedeemEntitlementsResultListType ResultType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLastRedeemEntitlementsResultByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_EntitlementIndex; + private RedeemEntitlementsResultListType m_ResultType; + + public void Set(ref CopyLastRedeemEntitlementsResultByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYLASTREDEEMENTITLEMENTSRESULTBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_EntitlementIndex = other.EntitlementIndex; + m_ResultType = other.ResultType; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyLastRedeemedEntitlementByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyLastRedeemedEntitlementByIndexOptions.cs new file mode 100644 index 0000000..47a5125 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyLastRedeemedEntitlementByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyLastRedeemedEntitlementByIndexOptions + { + /// + /// The Epic Account ID of the local user whose last redeemed entitlement id is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Index of the last redeemed entitlement id to retrieve from the cache + /// + public uint RedeemedEntitlementIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLastRedeemedEntitlementByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_RedeemedEntitlementIndex; + + public void Set(ref CopyLastRedeemedEntitlementByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYLASTREDEEMEDENTITLEMENTBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_RedeemedEntitlementIndex = other.RedeemedEntitlementIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferByIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferByIdOptions.cs new file mode 100644 index 0000000..9e58653 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferByIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyOfferByIdOptions + { + /// + /// The Epic Account ID of the local user whose offer is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the offer to get. + /// + public Utf8String OfferId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyOfferByIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OfferId; + + public void Set(ref CopyOfferByIdOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYOFFERBYID_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OfferId, ref m_OfferId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OfferId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferByIndexOptions.cs new file mode 100644 index 0000000..a5ed6f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyOfferByIndexOptions + { + /// + /// The Epic Account ID of the local user whose offer is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The index of the offer to get. + /// + public uint OfferIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyOfferByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_OfferIndex; + + public void Set(ref CopyOfferByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYOFFERBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_OfferIndex = other.OfferIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferImageInfoByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferImageInfoByIndexOptions.cs new file mode 100644 index 0000000..b7314b8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferImageInfoByIndexOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyOfferImageInfoByIndexOptions + { + /// + /// The Epic Account ID of the local user whose offer image is being copied. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the offer to get the images for. + /// + public Utf8String OfferId { get; set; } + + /// + /// The index of the image to get. + /// + public uint ImageInfoIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyOfferImageInfoByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OfferId; + private uint m_ImageInfoIndex; + + public void Set(ref CopyOfferImageInfoByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYOFFERIMAGEINFOBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OfferId, ref m_OfferId); + m_ImageInfoIndex = other.ImageInfoIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OfferId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferItemByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferItemByIndexOptions.cs new file mode 100644 index 0000000..61fe620 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyOfferItemByIndexOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyOfferItemByIndexOptions + { + /// + /// The Epic Account ID of the local user whose item is being copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the offer to get the items for. + /// + public Utf8String OfferId { get; set; } + + /// + /// The index of the item to get. + /// + public uint ItemIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyOfferItemByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OfferId; + private uint m_ItemIndex; + + public void Set(ref CopyOfferItemByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYOFFERITEMBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OfferId, ref m_OfferId); + m_ItemIndex = other.ItemIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OfferId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyTransactionByIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyTransactionByIdOptions.cs new file mode 100644 index 0000000..3319a64 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyTransactionByIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyTransactionByIdOptions + { + /// + /// The Epic Account ID of the local user who is associated with the transaction + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the transaction to get + /// + public Utf8String TransactionId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyTransactionByIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TransactionId; + + public void Set(ref CopyTransactionByIdOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYTRANSACTIONBYID_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TransactionId, ref m_TransactionId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TransactionId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyTransactionByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyTransactionByIndexOptions.cs new file mode 100644 index 0000000..7bb06a5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/CopyTransactionByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct CopyTransactionByIndexOptions + { + /// + /// The Epic Account ID of the local user who is associated with the transaction + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The index of the transaction to get + /// + public uint TransactionIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyTransactionByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_TransactionIndex; + + public void Set(ref CopyTransactionByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.COPYTRANSACTIONBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_TransactionIndex = other.TransactionIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/EcomInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/EcomInterface.cs new file mode 100644 index 0000000..8c7be0a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/EcomInterface.cs @@ -0,0 +1,1308 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Ecom +{ + public sealed partial class EcomInterface : Handle + { + public EcomInterface() + { + } + + public EcomInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The maximum length of a CatalogItemId. + /// + public const int CATALOGITEMID_MAX_LENGTH = 32; + /// + /// The most recent version of the struct. + /// + public const int CATALOGITEM_API_LATEST = 1; + /// + /// Timestamp value representing an undefined EntitlementEndTimestamp for + /// + public const int CATALOGITEM_ENTITLEMENTENDTIMESTAMP_UNDEFINED = -1; + /// + /// The maximum length of a CatalogOfferId. + /// + public const int CATALOGOFFERID_MAX_LENGTH = 32; + /// + /// The most recent version of the struct. + /// + public const int CATALOGOFFER_API_LATEST = 5; + /// + /// Timestamp value representing an undefined EffectiveDateTimestamp for + /// + public const int CATALOGOFFER_EFFECTIVEDATETIMESTAMP_UNDEFINED = -1; + /// + /// Timestamp value representing an undefined ExpirationTimestamp for + /// + public const int CATALOGOFFER_EXPIRATIONTIMESTAMP_UNDEFINED = -1; + /// + /// Timestamp value representing an undefined ReleaseDateTimestamp for + /// + public const int CATALOGOFFER_RELEASEDATETIMESTAMP_UNDEFINED = -1; + /// + /// The most recent version of the struct. + /// + public const int CATALOGRELEASE_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int CHECKOUTENTRY_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CHECKOUT_API_LATEST = 2; + /// + /// The maximum number of entries in a single checkout. + /// + public const int CHECKOUT_MAX_ENTRIES = 10; + /// + /// The most recent version of the API. + /// + public const int COPYENTITLEMENTBYID_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int COPYENTITLEMENTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYENTITLEMENTBYNAMEANDINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYITEMBYID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYITEMIMAGEINFOBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYITEMRELEASEBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYLASTREDEEMEDENTITLEMENTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYLASTREDEEMENTITLEMENTSRESULTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYOFFERBYID_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int COPYOFFERBYINDEX_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int COPYOFFERIMAGEINFOBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYOFFERITEMBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the Function. + /// + public const int COPYTRANSACTIONBYID_API_LATEST = 1; + /// + /// The most recent version of the Function. + /// + public const int COPYTRANSACTIONBYINDEX_API_LATEST = 1; + /// + /// The maximum length of an entitlement ID + /// + public const int ENTITLEMENTID_MAX_LENGTH = 32; + /// + /// The most recent version of the struct. + /// + public const int ENTITLEMENT_API_LATEST = 2; + /// + /// Timestamp value representing an undefined EndTimestamp for + /// + public const int ENTITLEMENT_ENDTIMESTAMP_UNDEFINED = -1; + /// + /// The most recent version of the API. + /// + public const int GETENTITLEMENTSBYNAMECOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETENTITLEMENTSCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETITEMIMAGEINFOCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETITEMRELEASECOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETLASTREDEEMEDENTITLEMENTSCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETLASTREDEEMENTITLEMENTSRESULTCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETOFFERCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETOFFERIMAGEINFOCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETOFFERITEMCOUNT_API_LATEST = 1; + /// + /// The most recent version of the Function. + /// + public const int GETTRANSACTIONCOUNT_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int ITEMOWNERSHIP_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int KEYIMAGEINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYENTITLEMENTS_API_LATEST = 3; + /// + /// The maximum number of entitlements that may be queried in a single QueryEntitlements API call. + /// + public const int QUERYENTITLEMENTS_MAX_ENTITLEMENT_IDS = 256; + /// + /// The most recent version of the API. + /// + public const int QUERYENTITLEMENTTOKEN_API_LATEST = 1; + /// + /// The maximum number of entitlements that may be queried in a single pass. + /// + public const int QUERYENTITLEMENTTOKEN_MAX_ENTITLEMENT_IDS = 32; + /// + /// The most recent version of the API. + /// + public const int QUERYOFFERS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYOWNERSHIPBYSANDBOXIDSOPTIONS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYOWNERSHIPTOKEN_API_LATEST = 2; + /// + /// The maximum number of catalog items that may be queried in a single pass + /// + public const int QUERYOWNERSHIPTOKEN_MAX_CATALOGITEM_IDS = 32; + /// + /// The most recent version of the API. + /// + public const int QUERYOWNERSHIP_API_LATEST = 2; + /// + /// The maximum number of catalog items that may be queried in a single pass + /// + public const int QUERYOWNERSHIP_MAX_CATALOG_IDS = 400; + /// + /// The maximum number of Sandbox Ids that may be queried in a single pass. + /// + public const int QUERYOWNERSHIP_MAX_SANDBOX_IDS = 10; + /// + /// The most recent version of the API. + /// + public const int REDEEMENTITLEMENTS_API_LATEST = 2; + /// + /// The maximum number of entitlement IDs that may be redeemed in a single pass + /// + public const int REDEEMENTITLEMENTS_MAX_IDS = 32; + /// + /// The maximum length of a transaction ID. DEPRECATED, replaced with . + /// + public const int TRANSACTIONID_MAXIMUM_LENGTH = 64; + /// + /// The maximum length of a transaction ID. + /// + public const int TRANSACTIONID_MAX_LENGTH = 64; + /// + /// The most recent version of the Function. + /// + public const int TRANSACTION_COPYENTITLEMENTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the Function. + /// + public const int TRANSACTION_GETENTITLEMENTSCOUNT_API_LATEST = 1; + + /// + /// Initiates the purchase flow for a set of offers. The callback is triggered after the purchase flow. + /// On success, the set of entitlements that were unlocked will be cached. + /// On success, a Transaction ID will be returned. The Transaction ID can be used to obtain an + /// handle. The handle can then be used to retrieve the entitlements rewarded by the purchase. + /// + /// + /// + /// + /// + /// structure containing filter criteria + /// + /// + /// 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 Checkout(ref CheckoutOptions options, object clientData, OnCheckoutCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(CheckoutOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_Checkout(InnerHandle, ref optionsInternal, clientDataPointer, OnCheckoutCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Fetches the entitlement with the given ID. + /// + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and entitlement ID being accessed + /// + /// + /// the entitlement for the given ID, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutEntitlement + /// - if the entitlement information is stale and passed out in OutEntitlement + /// - if you pass a for the out parameter + /// - if the entitlement is not found + /// + public Result CopyEntitlementById(ref CopyEntitlementByIdOptions options, out Entitlement? outEntitlement) + { + var optionsInternal = default(CopyEntitlementByIdOptionsInternal); + optionsInternal.Set(ref options); + + var outEntitlementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyEntitlementById(InnerHandle, ref optionsInternal, out outEntitlementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outEntitlementPointer, out outEntitlement); + if (outEntitlementPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_Entitlement_Release(outEntitlementPointer); + } + + return callResult; + } + + /// + /// Fetches an entitlement from a given index. + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and index being accessed + /// + /// + /// the entitlement for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutEntitlement + /// - if the entitlement information is stale and passed out in OutEntitlement + /// - if you pass a for the out parameter + /// - if the entitlement is not found + /// + public Result CopyEntitlementByIndex(ref CopyEntitlementByIndexOptions options, out Entitlement? outEntitlement) + { + var optionsInternal = default(CopyEntitlementByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outEntitlementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyEntitlementByIndex(InnerHandle, ref optionsInternal, out outEntitlementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outEntitlementPointer, out outEntitlement); + if (outEntitlementPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_Entitlement_Release(outEntitlementPointer); + } + + return callResult; + } + + /// + /// Fetches a single entitlement with a given Entitlement Name. The Index is used to access individual + /// entitlements among those with the same Entitlement Name. The Index can be a value from 0 to + /// one less than the result from . + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID, entitlement name, and index being accessed + /// + /// + /// the entitlement for the given name index pair, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutEntitlement + /// - if the entitlement information is stale and passed out in OutEntitlement + /// - if you pass a for the out parameter + /// - if the entitlement is not found + /// + public Result CopyEntitlementByNameAndIndex(ref CopyEntitlementByNameAndIndexOptions options, out Entitlement? outEntitlement) + { + var optionsInternal = default(CopyEntitlementByNameAndIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outEntitlementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyEntitlementByNameAndIndex(InnerHandle, ref optionsInternal, out outEntitlementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outEntitlementPointer, out outEntitlement); + if (outEntitlementPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_Entitlement_Release(outEntitlementPointer); + } + + return callResult; + } + + /// + /// Fetches an item with a given ID. + /// + /// + /// + /// + /// + /// + /// + /// structure containing the item ID being accessed + /// + /// + /// the item for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutItem + /// - if the item information is stale and passed out in OutItem + /// - if you pass a for the out parameter + /// - if the offer is not found + /// + public Result CopyItemById(ref CopyItemByIdOptions options, out CatalogItem? outItem) + { + var optionsInternal = default(CopyItemByIdOptionsInternal); + optionsInternal.Set(ref options); + + var outItemPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyItemById(InnerHandle, ref optionsInternal, out outItemPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outItemPointer, out outItem); + if (outItemPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_CatalogItem_Release(outItemPointer); + } + + return callResult; + } + + /// + /// Fetches an image from a given index. + /// + /// + /// + /// + /// + /// structure containing the item ID and index being accessed + /// + /// + /// the image for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutImageInfo + /// - if you pass a for the out parameter + /// - if the associated item information is stale + /// - if the image is not found + /// + public Result CopyItemImageInfoByIndex(ref CopyItemImageInfoByIndexOptions options, out KeyImageInfo? outImageInfo) + { + var optionsInternal = default(CopyItemImageInfoByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outImageInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyItemImageInfoByIndex(InnerHandle, ref optionsInternal, out outImageInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outImageInfoPointer, out outImageInfo); + if (outImageInfoPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_KeyImageInfo_Release(outImageInfoPointer); + } + + return callResult; + } + + /// + /// Fetches a release from a given index. + /// + /// + /// + /// + /// + /// structure containing the item ID and index being accessed + /// + /// + /// the release for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutRelease + /// - if you pass a for the out parameter + /// - if the associated item information is stale + /// - if the release is not found + /// + public Result CopyItemReleaseByIndex(ref CopyItemReleaseByIndexOptions options, out CatalogRelease? outRelease) + { + var optionsInternal = default(CopyItemReleaseByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outReleasePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyItemReleaseByIndex(InnerHandle, ref optionsInternal, out outReleasePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outReleasePointer, out outRelease); + if (outReleasePointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_CatalogRelease_Release(outReleasePointer); + } + + return callResult; + } + + /// + /// Fetches an entitlement id of the given result type and the given index in the last Redeem Entitlements result. + /// + /// + /// + /// + /// structure containing the Epic Account ID and index being accessed + /// + /// + /// The ID of the entitlement. Must be long enough to hold a of . + /// + /// + /// The size of the OutEntitlementId in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutEntitlementId. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in EntitlementId + /// - if you pass a for the out parameter + /// - if the entitlement id is not found + /// + public Result CopyLastRedeemEntitlementsResultByIndex(ref CopyLastRedeemEntitlementsResultByIndexOptions options, out Utf8String outEntitlementId) + { + var optionsInternal = default(CopyLastRedeemEntitlementsResultByIndexOptionsInternal); + optionsInternal.Set(ref options); + + int inOutEntitlementIdLength = ENTITLEMENTID_MAX_LENGTH + 1; + var outEntitlementIdPointer = Helper.AddAllocation(inOutEntitlementIdLength); + + var callResult = Bindings.EOS_Ecom_CopyLastRedeemEntitlementsResultByIndex(InnerHandle, ref optionsInternal, outEntitlementIdPointer, ref inOutEntitlementIdLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outEntitlementIdPointer, out outEntitlementId); + Helper.Dispose(ref outEntitlementIdPointer); + + return callResult; + } + + /// + /// Fetches a redeemed entitlement id from a given index. + /// Only entitlements that were redeemed during the last call can be copied. + /// + /// + /// + /// + /// structure containing the Epic Account ID and index being accessed + /// + /// + /// The ID of the redeemed entitlement. Must be long enough to hold a of . + /// + /// + /// The size of the OutRedeemedEntitlementId in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutRedeemedEntitlementId. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutRedeemedEntitlementId + /// - if you pass a for the out parameter + /// - if the entitlement id is not found + /// + public Result CopyLastRedeemedEntitlementByIndex(ref CopyLastRedeemedEntitlementByIndexOptions options, out Utf8String outRedeemedEntitlementId) + { + var optionsInternal = default(CopyLastRedeemedEntitlementByIndexOptionsInternal); + optionsInternal.Set(ref options); + + int inOutRedeemedEntitlementIdLength = ENTITLEMENTID_MAX_LENGTH + 1; + var outRedeemedEntitlementIdPointer = Helper.AddAllocation(inOutRedeemedEntitlementIdLength); + + var callResult = Bindings.EOS_Ecom_CopyLastRedeemedEntitlementByIndex(InnerHandle, ref optionsInternal, outRedeemedEntitlementIdPointer, ref inOutRedeemedEntitlementIdLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outRedeemedEntitlementIdPointer, out outRedeemedEntitlementId); + Helper.Dispose(ref outRedeemedEntitlementIdPointer); + + return callResult; + } + + /// + /// Fetches an offer with a given ID. The pricing and text are localized to the provided account. + /// + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and offer ID being accessed + /// + /// + /// the offer for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutOffer + /// - if the offer information is stale and passed out in OutOffer + /// - if the offer information has an invalid price and passed out in OutOffer + /// - if you pass a for the out parameter + /// - if the offer is not found + /// + public Result CopyOfferById(ref CopyOfferByIdOptions options, out CatalogOffer? outOffer) + { + var optionsInternal = default(CopyOfferByIdOptionsInternal); + optionsInternal.Set(ref options); + + var outOfferPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyOfferById(InnerHandle, ref optionsInternal, out outOfferPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outOfferPointer, out outOffer); + if (outOfferPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_CatalogOffer_Release(outOfferPointer); + } + + return callResult; + } + + /// + /// Fetches an offer from a given index. The pricing and text are localized to the provided account. + /// + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and index being accessed + /// + /// + /// the offer for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutOffer + /// - if the offer information is stale and passed out in OutOffer + /// - if the offer information has an invalid price and passed out in OutOffer + /// - if you pass a for the out parameter + /// - if the offer is not found + /// + public Result CopyOfferByIndex(ref CopyOfferByIndexOptions options, out CatalogOffer? outOffer) + { + var optionsInternal = default(CopyOfferByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outOfferPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyOfferByIndex(InnerHandle, ref optionsInternal, out outOfferPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outOfferPointer, out outOffer); + if (outOfferPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_CatalogOffer_Release(outOfferPointer); + } + + return callResult; + } + + /// + /// Fetches an image from a given index. + /// + /// + /// + /// + /// + /// structure containing the offer ID and index being accessed + /// + /// + /// the image for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutImageInfo + /// - if you pass a for the out parameter + /// - if the associated offer information is stale + /// - if the image is not found + /// + public Result CopyOfferImageInfoByIndex(ref CopyOfferImageInfoByIndexOptions options, out KeyImageInfo? outImageInfo) + { + var optionsInternal = default(CopyOfferImageInfoByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outImageInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyOfferImageInfoByIndex(InnerHandle, ref optionsInternal, out outImageInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outImageInfoPointer, out outImageInfo); + if (outImageInfoPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_KeyImageInfo_Release(outImageInfoPointer); + } + + return callResult; + } + + /// + /// Fetches an item from a given index. + /// + /// + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and index being accessed + /// + /// + /// the item for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutItem + /// - if you pass a for the out parameter + /// - if the item information is stale + /// - if the item is not found + /// + public Result CopyOfferItemByIndex(ref CopyOfferItemByIndexOptions options, out CatalogItem? outItem) + { + var optionsInternal = default(CopyOfferItemByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outItemPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyOfferItemByIndex(InnerHandle, ref optionsInternal, out outItemPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outItemPointer, out outItem); + if (outItemPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_CatalogItem_Release(outItemPointer); + } + + return callResult; + } + + /// + /// Fetches the transaction handle at the given index. + /// + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and transaction ID being accessed + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutTransaction + /// - if you pass a for the out parameter + /// - if the transaction is not found + /// + public Result CopyTransactionById(ref CopyTransactionByIdOptions options, out Transaction outTransaction) + { + var optionsInternal = default(CopyTransactionByIdOptionsInternal); + optionsInternal.Set(ref options); + + var outTransactionInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyTransactionById(InnerHandle, ref optionsInternal, out outTransactionInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outTransactionInnerHandle, out outTransaction); + + return callResult; + } + + /// + /// Fetches the transaction handle at the given index. + /// + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID and index being accessed + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutTransaction + /// - if you pass a for the out parameter + /// - if the transaction is not found + /// + public Result CopyTransactionByIndex(ref CopyTransactionByIndexOptions options, out Transaction outTransaction) + { + var optionsInternal = default(CopyTransactionByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outTransactionInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_CopyTransactionByIndex(InnerHandle, ref optionsInternal, out outTransactionInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outTransactionInnerHandle, out outTransaction); + + return callResult; + } + + /// + /// Fetch the number of entitlements with the given Entitlement Name that are cached for a given local user. + /// + /// + /// + /// + /// structure containing the Epic Account ID and name being accessed + /// + /// + /// the number of entitlements found. + /// + public uint GetEntitlementsByNameCount(ref GetEntitlementsByNameCountOptions options) + { + var optionsInternal = default(GetEntitlementsByNameCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetEntitlementsByNameCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of entitlements that are cached for a given local user. + /// + /// + /// + /// + /// structure containing the Epic Account ID being accessed + /// + /// + /// the number of entitlements found. + /// + public uint GetEntitlementsCount(ref GetEntitlementsCountOptions options) + { + var optionsInternal = default(GetEntitlementsCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetEntitlementsCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of images that are associated with a given cached item for a local user. + /// + /// + /// + /// the number of images found. + /// + public uint GetItemImageInfoCount(ref GetItemImageInfoCountOptions options) + { + var optionsInternal = default(GetItemImageInfoCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetItemImageInfoCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of releases that are associated with a given cached item for a local user. + /// + /// + /// + /// the number of releases found. + /// + public uint GetItemReleaseCount(ref GetItemReleaseCountOptions options) + { + var optionsInternal = default(GetItemReleaseCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetItemReleaseCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of entitlements of the given type in the last Redeem Entitlements result. + /// + /// + /// + /// + /// structure containing the Epic Account ID and the result type. + /// + /// + /// the number of entitlements of the given result type in the last Redeem Entitlements result. + /// + public uint GetLastRedeemEntitlementsResultCount(ref GetLastRedeemEntitlementsResultCountOptions options) + { + var optionsInternal = default(GetLastRedeemEntitlementsResultCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetLastRedeemEntitlementsResultCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of entitlements that were redeemed during the last call. + /// + /// + /// + /// + /// structure containing the Epic Account ID + /// + /// + /// the number of the redeemed entitlements. + /// + public uint GetLastRedeemedEntitlementsCount(ref GetLastRedeemedEntitlementsCountOptions options) + { + var optionsInternal = default(GetLastRedeemedEntitlementsCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetLastRedeemedEntitlementsCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of offers that are cached for a given local user. + /// + /// + /// + /// + /// structure containing the Epic Account ID being accessed + /// + /// + /// the number of offers found. + /// + public uint GetOfferCount(ref GetOfferCountOptions options) + { + var optionsInternal = default(GetOfferCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetOfferCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of images that are associated with a given cached offer for a local user. + /// + /// + /// + /// the number of images found. + /// + public uint GetOfferImageInfoCount(ref GetOfferImageInfoCountOptions options) + { + var optionsInternal = default(GetOfferImageInfoCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetOfferImageInfoCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of items that are associated with a given cached offer for a local user. + /// + /// + /// + /// the number of items found. + /// + public uint GetOfferItemCount(ref GetOfferItemCountOptions options) + { + var optionsInternal = default(GetOfferItemCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetOfferItemCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of transactions that are cached for a given local user. + /// + /// + /// + /// + /// + /// the number of transactions found. + /// + public uint GetTransactionCount(ref GetTransactionCountOptions options) + { + var optionsInternal = default(GetTransactionCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_GetTransactionCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Query the entitlement verification status defined with Epic Online Services. + /// An optional set of entitlement names can be provided to filter the set of entitlements associated with the account. + /// The data is return via the callback in the form of a signed JWT that should be verified by an external backend server using a public key for authenticity. + /// + /// + /// + /// + /// structure containing the account and catalog item IDs to retrieve in token form + /// + /// + /// 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 QueryEntitlementToken(ref QueryEntitlementTokenOptions options, object clientData, OnQueryEntitlementTokenCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryEntitlementTokenOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_QueryEntitlementToken(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryEntitlementTokenCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query the entitlement information defined with Epic Online Services. + /// A set of entitlement names can be provided to filter the set of entitlements associated with the account. + /// This data will be cached for a limited time and retrieved again from the backend when necessary. + /// Depending on the number of entitlements passed, the SDK splits the query into smaller batch requests to the backend and aggregates the result. + /// Note: If one of the request batches fails, no data is cached and the entire query is marked as failed. + /// Use , , and to get the entitlement details. + /// Use to retrieve the number of entitlements with a specific entitlement name. + /// Note: If a durable item is queried used the QueryEntitlements API, the callback returns with a result code. Durable item ownership should be queried using the API. + /// + /// + /// + /// + /// structure containing the account and entitlement names to retrieve + /// + /// + /// 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 QueryEntitlements(ref QueryEntitlementsOptions options, object clientData, OnQueryEntitlementsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryEntitlementsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_QueryEntitlements(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryEntitlementsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query for a list of catalog offers defined with Epic Online Services. + /// This data will be cached for a limited time and retrieved again from the backend when necessary. + /// When one or more cached offers have an invalid price, the callback returns the result code . + /// + /// + /// + /// + /// structure containing filter criteria + /// + /// + /// 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 QueryOffers(ref QueryOffersOptions options, object clientData, OnQueryOffersCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryOffersOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_QueryOffers(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryOffersCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query the ownership status for a given list of catalog item IDs defined with Epic Online Services. + /// This data will be cached for a limited time and retrieved again from the backend when necessary + /// Depending on the number of catalog item ids passed, the SDK splits the query into smaller batch requests to the backend and aggregates the result. + /// Note: If one of the request batches fails, no data is cached and the entire query is marked as failed. + /// + /// + /// + /// + /// structure containing the account and catalog item IDs to retrieve + /// + /// + /// 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 QueryOwnership(ref QueryOwnershipOptions options, object clientData, OnQueryOwnershipCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryOwnershipOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_QueryOwnership(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryOwnershipCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query the ownership status of all catalog item IDs under the given list of Sandbox IDs defined with Epic Online Services. + /// This data will be cached for a limited time and retrieved again from the backend when necessary. + /// + /// + /// + /// + /// structure containing the account and Sandbox IDs to retrieve. + /// + /// + /// 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 QueryOwnershipBySandboxIds(ref QueryOwnershipBySandboxIdsOptions options, object clientData, OnQueryOwnershipBySandboxIdsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryOwnershipBySandboxIdsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_QueryOwnershipBySandboxIds(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryOwnershipBySandboxIdsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query the ownership status for a given list of catalog item IDs defined with Epic Online Services. + /// The data is return via the callback in the form of a signed JWT that should be verified by an external backend server using a public key for authenticity. + /// + /// + /// + /// + /// structure containing the account and catalog item IDs to retrieve in token form + /// + /// + /// 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 QueryOwnershipToken(ref QueryOwnershipTokenOptions options, object clientData, OnQueryOwnershipTokenCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryOwnershipTokenOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_QueryOwnershipToken(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryOwnershipTokenCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Requests that the provided entitlement be marked redeemed. This will cause that entitlement + /// to no longer be returned from QueryEntitlements unless the include redeemed request flag is set . + /// + /// + /// + /// + /// structure containing entitlement to redeem + /// + /// + /// 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 RedeemEntitlements(ref RedeemEntitlementsOptions options, object clientData, OnRedeemEntitlementsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(RedeemEntitlementsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Ecom_RedeemEntitlements(InnerHandle, ref optionsInternal, clientDataPointer, OnRedeemEntitlementsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/EcomItemType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/EcomItemType.cs new file mode 100644 index 0000000..6349d5d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/EcomItemType.cs @@ -0,0 +1,29 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// An enumeration defining the type of catalog item. The primary use is to identify how the item is expended. + /// + public enum EcomItemType : int + { + /// + /// This entitlement is intended to persist. + /// + Durable = 0, + /// + /// This entitlement is intended to be transient and redeemed. + /// + /// + Consumable = 1, + /// + /// This entitlement has a type that is not currently intended for an in-game store. + /// + Other = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/Entitlement.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/Entitlement.cs new file mode 100644 index 0000000..d30c98d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/Entitlement.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a single entitlement associated with an account. Instances of this structure are + /// created by , , or . + /// They must be passed to . + /// + public struct Entitlement + { + /// + /// Name of the entitlement + /// + public Utf8String EntitlementName { get; set; } + + /// + /// ID of the entitlement owned by an account + /// + public Utf8String EntitlementId { get; set; } + + /// + /// ID of the item associated with the offer which granted this entitlement + /// + public Utf8String CatalogItemId { get; set; } + + /// + /// If queried using pagination then ServerIndex represents the index of the entitlement as it + /// exists on the server. If not queried using pagination then ServerIndex will be -1. + /// + public int ServerIndex { get; set; } + + /// + /// If then the catalog has this entitlement marked as redeemed + /// + public bool Redeemed { get; set; } + + /// + /// If not -1 then this is a POSIX timestamp that this entitlement will end + /// + public long EndTimestamp { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EntitlementInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_EntitlementName; + private IntPtr m_EntitlementId; + private IntPtr m_CatalogItemId; + private int m_ServerIndex; + private int m_Redeemed; + private long m_EndTimestamp; + + public void Get(out Entitlement other) + { + other = default; + + Utf8String EntitlementNamePublic; + Helper.Get(m_EntitlementName, out EntitlementNamePublic); + other.EntitlementName = EntitlementNamePublic; + Utf8String EntitlementIdPublic; + Helper.Get(m_EntitlementId, out EntitlementIdPublic); + other.EntitlementId = EntitlementIdPublic; + Utf8String CatalogItemIdPublic; + Helper.Get(m_CatalogItemId, out CatalogItemIdPublic); + other.CatalogItemId = CatalogItemIdPublic; + other.ServerIndex = m_ServerIndex; + bool RedeemedPublic; + Helper.Get(m_Redeemed, out RedeemedPublic); + other.Redeemed = RedeemedPublic; + other.EndTimestamp = m_EndTimestamp; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetEntitlementsByNameCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetEntitlementsByNameCountOptions.cs new file mode 100644 index 0000000..ea38fe6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetEntitlementsByNameCountOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetEntitlementsByNameCountOptions + { + /// + /// The Epic Account ID of the local user for which to retrieve the entitlement count + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Name of the entitlement to count in the cache + /// + public Utf8String EntitlementName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetEntitlementsByNameCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_EntitlementName; + + public void Set(ref GetEntitlementsByNameCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETENTITLEMENTSBYNAMECOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EntitlementName, ref m_EntitlementName); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EntitlementName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetEntitlementsCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetEntitlementsCountOptions.cs new file mode 100644 index 0000000..f614807 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetEntitlementsCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetEntitlementsCountOptions + { + /// + /// The Epic Account ID of the local user for which to retrieve the entitlement count + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetEntitlementsCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetEntitlementsCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETENTITLEMENTSCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetItemImageInfoCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetItemImageInfoCountOptions.cs new file mode 100644 index 0000000..26f72e6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetItemImageInfoCountOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetItemImageInfoCountOptions + { + /// + /// The Epic Account ID of the local user whose item image is being accessed + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the item to get the images for. + /// + public Utf8String ItemId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetItemImageInfoCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ItemId; + + public void Set(ref GetItemImageInfoCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETITEMIMAGEINFOCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ItemId, ref m_ItemId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ItemId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetItemReleaseCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetItemReleaseCountOptions.cs new file mode 100644 index 0000000..d6a7832 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetItemReleaseCountOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetItemReleaseCountOptions + { + /// + /// The Epic Account ID of the local user whose item release is being accessed + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the item to get the releases for. + /// + public Utf8String ItemId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetItemReleaseCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ItemId; + + public void Set(ref GetItemReleaseCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETITEMRELEASECOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ItemId, ref m_ItemId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ItemId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetLastRedeemEntitlementsResultCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetLastRedeemEntitlementsResultCountOptions.cs new file mode 100644 index 0000000..57bf176 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetLastRedeemEntitlementsResultCountOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetLastRedeemEntitlementsResultCountOptions + { + /// + /// The Epic Account ID of the local user for who to retrieve the last redeemed entitlements count + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Redeem Entitlements Result Type. + /// + public RedeemEntitlementsResultListType ResultType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetLastRedeemEntitlementsResultCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private RedeemEntitlementsResultListType m_ResultType; + + public void Set(ref GetLastRedeemEntitlementsResultCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETLASTREDEEMENTITLEMENTSRESULTCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_ResultType = other.ResultType; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetLastRedeemedEntitlementsCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetLastRedeemedEntitlementsCountOptions.cs new file mode 100644 index 0000000..2752cc4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetLastRedeemedEntitlementsCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetLastRedeemedEntitlementsCountOptions + { + /// + /// The Epic Account ID of the local user for who to retrieve the last redeemed entitlements count + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetLastRedeemedEntitlementsCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetLastRedeemedEntitlementsCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETLASTREDEEMEDENTITLEMENTSCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferCountOptions.cs new file mode 100644 index 0000000..8f2fb9e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetOfferCountOptions + { + /// + /// The Epic Account ID of the local user whose offers are being accessed + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetOfferCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetOfferCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETOFFERCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferImageInfoCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferImageInfoCountOptions.cs new file mode 100644 index 0000000..ba4b3da --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferImageInfoCountOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetOfferImageInfoCountOptions + { + /// + /// The Epic Account ID of the local user whose offer image is being accessed. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The ID of the offer to get the images for. + /// + public Utf8String OfferId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetOfferImageInfoCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OfferId; + + public void Set(ref GetOfferImageInfoCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETOFFERIMAGEINFOCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OfferId, ref m_OfferId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OfferId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferItemCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferItemCountOptions.cs new file mode 100644 index 0000000..899ae2b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetOfferItemCountOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetOfferItemCountOptions + { + /// + /// The Epic Account ID of the local user who made the initial request for the Catalog Offer through + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// An ID that corresponds to a cached Catalog Offer (retrieved by ) + /// + public Utf8String OfferId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetOfferItemCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OfferId; + + public void Set(ref GetOfferItemCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETOFFERITEMCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OfferId, ref m_OfferId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OfferId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetTransactionCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetTransactionCountOptions.cs new file mode 100644 index 0000000..de605ba --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/GetTransactionCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct GetTransactionCountOptions + { + /// + /// The Epic Account ID of the local user whose transaction count to get + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetTransactionCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetTransactionCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.GETTRANSACTIONCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/ItemOwnership.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/ItemOwnership.cs new file mode 100644 index 0000000..349ed11 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/ItemOwnership.cs @@ -0,0 +1,43 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a single item ownership associated with an account. This structure is + /// returned as part of the structure. + /// + public struct ItemOwnership + { + /// + /// ID of the catalog item + /// + public Utf8String Id { get; set; } + + /// + /// Is this catalog item owned by the local user + /// + public OwnershipStatus OwnershipStatus { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ItemOwnershipInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_Id; + private OwnershipStatus m_OwnershipStatus; + + public void Get(out ItemOwnership other) + { + other = default; + + Utf8String IdPublic; + Helper.Get(m_Id, out IdPublic); + other.Id = IdPublic; + other.OwnershipStatus = m_OwnershipStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/KeyImageInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/KeyImageInfo.cs new file mode 100644 index 0000000..bdc22a6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/KeyImageInfo.cs @@ -0,0 +1,63 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains information about a key image used by the catalog. Instances of this structure are + /// created by . They must be passed to . + /// A Key Image is defined within Dev Portal and is associated with a Catalog Item. A Key Image is + /// intended to be used to provide imagery for an in-game store. + /// + /// + /// + public struct KeyImageInfo + { + /// + /// Describes the usage of the image (ex: home_thumbnail) + /// + public Utf8String Type { get; set; } + + /// + /// The URL of the image + /// + public Utf8String Url { get; set; } + + /// + /// The expected width in pixels of the image + /// + public uint Width { get; set; } + + /// + /// The expected height in pixels of the image + /// + public uint Height { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct KeyImageInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_Type; + private IntPtr m_Url; + private uint m_Width; + private uint m_Height; + + public void Get(out KeyImageInfo other) + { + other = default; + + Utf8String TypePublic; + Helper.Get(m_Type, out TypePublic); + other.Type = TypePublic; + Utf8String UrlPublic; + Helper.Get(m_Url, out UrlPublic); + other.Url = UrlPublic; + other.Width = m_Width; + other.Height = m_Height; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnCheckoutCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnCheckoutCallback.cs new file mode 100644 index 0000000..86589ed --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnCheckoutCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnCheckoutCallback(ref CheckoutCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCheckoutCallbackInternal(ref CheckoutCallbackInfoInternal data); + + internal static class OnCheckoutCallbackInternalImplementation + { + private static OnCheckoutCallbackInternal s_Delegate; + public static OnCheckoutCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCheckoutCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCheckoutCallbackInternal))] + public static void EntryPoint(ref CheckoutCallbackInfoInternal data) + { + OnCheckoutCallback callback; + CheckoutCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryEntitlementTokenCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryEntitlementTokenCallback.cs new file mode 100644 index 0000000..077cd62 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryEntitlementTokenCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to . + /// + /// + /// A containing the output information and result. + /// + public delegate void OnQueryEntitlementTokenCallback(ref QueryEntitlementTokenCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryEntitlementTokenCallbackInternal(ref QueryEntitlementTokenCallbackInfoInternal data); + + internal static class OnQueryEntitlementTokenCallbackInternalImplementation + { + private static OnQueryEntitlementTokenCallbackInternal s_Delegate; + public static OnQueryEntitlementTokenCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryEntitlementTokenCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryEntitlementTokenCallbackInternal))] + public static void EntryPoint(ref QueryEntitlementTokenCallbackInfoInternal data) + { + OnQueryEntitlementTokenCallback callback; + QueryEntitlementTokenCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryEntitlementsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryEntitlementsCallback.cs new file mode 100644 index 0000000..4d36fb1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryEntitlementsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryEntitlementsCallback(ref QueryEntitlementsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryEntitlementsCallbackInternal(ref QueryEntitlementsCallbackInfoInternal data); + + internal static class OnQueryEntitlementsCallbackInternalImplementation + { + private static OnQueryEntitlementsCallbackInternal s_Delegate; + public static OnQueryEntitlementsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryEntitlementsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryEntitlementsCallbackInternal))] + public static void EntryPoint(ref QueryEntitlementsCallbackInfoInternal data) + { + OnQueryEntitlementsCallback callback; + QueryEntitlementsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOffersCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOffersCallback.cs new file mode 100644 index 0000000..dec2d38 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOffersCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to . When one or more cached offers have an invalid price, the callback returns the result code . + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryOffersCallback(ref QueryOffersCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryOffersCallbackInternal(ref QueryOffersCallbackInfoInternal data); + + internal static class OnQueryOffersCallbackInternalImplementation + { + private static OnQueryOffersCallbackInternal s_Delegate; + public static OnQueryOffersCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryOffersCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryOffersCallbackInternal))] + public static void EntryPoint(ref QueryOffersCallbackInfoInternal data) + { + OnQueryOffersCallback callback; + QueryOffersCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipBySandboxIdsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipBySandboxIdsCallback.cs new file mode 100644 index 0000000..cc620ef --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipBySandboxIdsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryOwnershipBySandboxIdsCallback(ref QueryOwnershipBySandboxIdsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryOwnershipBySandboxIdsCallbackInternal(ref QueryOwnershipBySandboxIdsCallbackInfoInternal data); + + internal static class OnQueryOwnershipBySandboxIdsCallbackInternalImplementation + { + private static OnQueryOwnershipBySandboxIdsCallbackInternal s_Delegate; + public static OnQueryOwnershipBySandboxIdsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryOwnershipBySandboxIdsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryOwnershipBySandboxIdsCallbackInternal))] + public static void EntryPoint(ref QueryOwnershipBySandboxIdsCallbackInfoInternal data) + { + OnQueryOwnershipBySandboxIdsCallback callback; + QueryOwnershipBySandboxIdsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipCallback.cs new file mode 100644 index 0000000..36e8e5a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryOwnershipCallback(ref QueryOwnershipCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryOwnershipCallbackInternal(ref QueryOwnershipCallbackInfoInternal data); + + internal static class OnQueryOwnershipCallbackInternalImplementation + { + private static OnQueryOwnershipCallbackInternal s_Delegate; + public static OnQueryOwnershipCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryOwnershipCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryOwnershipCallbackInternal))] + public static void EntryPoint(ref QueryOwnershipCallbackInfoInternal data) + { + OnQueryOwnershipCallback callback; + QueryOwnershipCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipTokenCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipTokenCallback.cs new file mode 100644 index 0000000..1915671 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnQueryOwnershipTokenCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryOwnershipTokenCallback(ref QueryOwnershipTokenCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryOwnershipTokenCallbackInternal(ref QueryOwnershipTokenCallbackInfoInternal data); + + internal static class OnQueryOwnershipTokenCallbackInternalImplementation + { + private static OnQueryOwnershipTokenCallbackInternal s_Delegate; + public static OnQueryOwnershipTokenCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryOwnershipTokenCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryOwnershipTokenCallbackInternal))] + public static void EntryPoint(ref QueryOwnershipTokenCallbackInfoInternal data) + { + OnQueryOwnershipTokenCallback callback; + QueryOwnershipTokenCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnRedeemEntitlementsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnRedeemEntitlementsCallback.cs new file mode 100644 index 0000000..fc72555 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OnRedeemEntitlementsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnRedeemEntitlementsCallback(ref RedeemEntitlementsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRedeemEntitlementsCallbackInternal(ref RedeemEntitlementsCallbackInfoInternal data); + + internal static class OnRedeemEntitlementsCallbackInternalImplementation + { + private static OnRedeemEntitlementsCallbackInternal s_Delegate; + public static OnRedeemEntitlementsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRedeemEntitlementsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRedeemEntitlementsCallbackInternal))] + public static void EntryPoint(ref RedeemEntitlementsCallbackInfoInternal data) + { + OnRedeemEntitlementsCallback callback; + RedeemEntitlementsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OwnershipStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OwnershipStatus.cs new file mode 100644 index 0000000..830330a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/OwnershipStatus.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// An enumeration of the different ownership statuses. + /// + public enum OwnershipStatus : int + { + /// + /// The catalog item is not owned by the local user + /// + NotOwned = 0, + /// + /// The catalog item is owned by the local user + /// + Owned = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementTokenCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementTokenCallbackInfo.cs new file mode 100644 index 0000000..103f67a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementTokenCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct QueryEntitlementTokenCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose entitlement was queried + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Entitlements token containing details about the catalog items queried + /// + public Utf8String EntitlementToken { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryEntitlementTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_EntitlementToken; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryEntitlementTokenCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String EntitlementTokenPublic; + Helper.Get(m_EntitlementToken, out EntitlementTokenPublic); + other.EntitlementToken = EntitlementTokenPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementTokenOptions.cs new file mode 100644 index 0000000..9661c70 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementTokenOptions.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct QueryEntitlementTokenOptions + { + /// + /// The Epic Account ID of the local user whose Entitlements you want to retrieve + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// An array of Entitlement Names that you want to check + /// + public Utf8String[] EntitlementNames { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryEntitlementTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_EntitlementNames; + private uint m_EntitlementNameCount; + + public void Set(ref QueryEntitlementTokenOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.QUERYENTITLEMENTTOKEN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EntitlementNames, ref m_EntitlementNames, out m_EntitlementNameCount, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EntitlementNames); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementsCallbackInfo.cs new file mode 100644 index 0000000..e617119 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementsCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct QueryEntitlementsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose entitlement was queried + /// + public EpicAccountId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryEntitlementsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryEntitlementsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementsOptions.cs new file mode 100644 index 0000000..b22d7c4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryEntitlementsOptions.cs @@ -0,0 +1,63 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct QueryEntitlementsOptions + { + /// + /// The Epic Account ID of the local user whose Entitlements you want to retrieve + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// An array of Entitlement Names that you want to check + /// + public Utf8String[] EntitlementNames { get; set; } + + /// + /// If , Entitlements that have been redeemed will be included in the results. + /// + public bool IncludeRedeemed { get; set; } + + /// + /// If not provided then the SandboxId is used as the catalog namespace + /// + public Utf8String OverrideCatalogNamespace { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryEntitlementsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_EntitlementNames; + private uint m_EntitlementNameCount; + private int m_IncludeRedeemed; + private IntPtr m_OverrideCatalogNamespace; + + public void Set(ref QueryEntitlementsOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.QUERYENTITLEMENTS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EntitlementNames, ref m_EntitlementNames, out m_EntitlementNameCount, true); + Helper.Set(other.IncludeRedeemed, ref m_IncludeRedeemed); + Helper.Set(other.OverrideCatalogNamespace, ref m_OverrideCatalogNamespace); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EntitlementNames); + Helper.Dispose(ref m_OverrideCatalogNamespace); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOffersCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOffersCallbackInfo.cs new file mode 100644 index 0000000..5eb77cc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOffersCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct QueryOffersCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose offer was queried; needed for localization of Catalog Item (Item) description text and pricing information + /// + public EpicAccountId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOffersCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryOffersCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOffersOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOffersOptions.cs new file mode 100644 index 0000000..83d4623 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOffersOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct QueryOffersOptions + { + /// + /// The Epic Account ID of the local user whose offer to query + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// If not provided then the SandboxId is used as the catalog namespace + /// + public Utf8String OverrideCatalogNamespace { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOffersOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_OverrideCatalogNamespace; + + public void Set(ref QueryOffersOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.QUERYOFFERS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.OverrideCatalogNamespace, ref m_OverrideCatalogNamespace); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_OverrideCatalogNamespace); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipBySandboxIdsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipBySandboxIdsCallbackInfo.cs new file mode 100644 index 0000000..711e818 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipBySandboxIdsCallbackInfo.cs @@ -0,0 +1,78 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct QueryOwnershipBySandboxIdsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose ownership was queried + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// List of SandboxIds and their corresponding owned catalog item Ids. If there are no ownership items, the OwnedCatalogItemIdsCount is 0 and OwnedCatalogItemIds is . + /// + public SandboxIdItemOwnership[] SandboxIdItemOwnerships { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOwnershipBySandboxIdsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_SandboxIdItemOwnerships; + private uint m_SandboxIdItemOwnershipsCount; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryOwnershipBySandboxIdsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + SandboxIdItemOwnership[] SandboxIdItemOwnershipsPublic; + Helper.Get(m_SandboxIdItemOwnerships, out SandboxIdItemOwnershipsPublic, m_SandboxIdItemOwnershipsCount, false); + other.SandboxIdItemOwnerships = SandboxIdItemOwnershipsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipBySandboxIdsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipBySandboxIdsOptions.cs new file mode 100644 index 0000000..b470cd8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipBySandboxIdsOptions.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct QueryOwnershipBySandboxIdsOptions + { + /// + /// The Epic Account ID of the local user whose ownership to query. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The array of Sandbox IDs to check for ownership. + /// + public Utf8String[] SandboxIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOwnershipBySandboxIdsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SandboxIds; + private uint m_SandboxIdsCount; + + public void Set(ref QueryOwnershipBySandboxIdsOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.QUERYOWNERSHIPBYSANDBOXIDSOPTIONS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SandboxIds, ref m_SandboxIds, out m_SandboxIdsCount, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SandboxIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipCallbackInfo.cs new file mode 100644 index 0000000..4369bbc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipCallbackInfo.cs @@ -0,0 +1,78 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct QueryOwnershipCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose ownership was queried + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// List of catalog items and their ownership status + /// + public ItemOwnership[] ItemOwnership { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOwnershipCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_ItemOwnership; + private uint m_ItemOwnershipCount; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryOwnershipCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ItemOwnership[] ItemOwnershipPublic; + Helper.Get(m_ItemOwnership, out ItemOwnershipPublic, m_ItemOwnershipCount, false); + other.ItemOwnership = ItemOwnershipPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipOptions.cs new file mode 100644 index 0000000..5a4a88e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipOptions.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct QueryOwnershipOptions + { + /// + /// The Epic Account ID of the local user whose ownership to query + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The array of Catalog Item IDs to check for ownership + /// + public Utf8String[] CatalogItemIds { get; set; } + + /// + /// Optional product namespace, if not the one specified during initialization + /// + public Utf8String CatalogNamespace { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOwnershipOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_CatalogItemIds; + private uint m_CatalogItemIdCount; + private IntPtr m_CatalogNamespace; + + public void Set(ref QueryOwnershipOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.QUERYOWNERSHIP_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.CatalogItemIds, ref m_CatalogItemIds, out m_CatalogItemIdCount, true); + Helper.Set(other.CatalogNamespace, ref m_CatalogNamespace); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_CatalogItemIds); + Helper.Dispose(ref m_CatalogNamespace); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipTokenCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipTokenCallbackInfo.cs new file mode 100644 index 0000000..7fde3c7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipTokenCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct QueryOwnershipTokenCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user whose ownership token was queried + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Ownership token containing details about the catalog items queried + /// + public Utf8String OwnershipToken { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOwnershipTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_OwnershipToken; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryOwnershipTokenCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String OwnershipTokenPublic; + Helper.Get(m_OwnershipToken, out OwnershipTokenPublic); + other.OwnershipToken = OwnershipTokenPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipTokenOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipTokenOptions.cs new file mode 100644 index 0000000..f68095f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/QueryOwnershipTokenOptions.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct QueryOwnershipTokenOptions + { + /// + /// The Epic Account ID of the local user whose ownership token you want to query + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The array of Catalog Item IDs to check for ownership, matching in number to the CatalogItemIdCount + /// + public Utf8String[] CatalogItemIds { get; set; } + + /// + /// Optional product namespace, if not the one specified during initialization + /// + public Utf8String CatalogNamespace { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryOwnershipTokenOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_CatalogItemIds; + private uint m_CatalogItemIdCount; + private IntPtr m_CatalogNamespace; + + public void Set(ref QueryOwnershipTokenOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.QUERYOWNERSHIPTOKEN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.CatalogItemIds, ref m_CatalogItemIds, out m_CatalogItemIdCount, true); + Helper.Set(other.CatalogNamespace, ref m_CatalogNamespace); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_CatalogItemIds); + Helper.Dispose(ref m_CatalogNamespace); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsCallbackInfo.cs new file mode 100644 index 0000000..bb51283 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsCallbackInfo.cs @@ -0,0 +1,89 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Output parameters for the Function. + /// + public struct RedeemEntitlementsCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, otherwise one of the error codes is returned. See eos_common.h + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the user who has redeemed entitlements + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The number of redeemed Entitlements specified in the request. + /// + public uint RedeemedEntitlementIdsCount { get; set; } + + /// + /// The number of previously redeemed Entitlements specified in the request. + /// + public uint PreviouslyRedeemedEntitlementIdsCount { get; set; } + + /// + /// The number of invalid Entitlements specified in the request. + /// + public uint InvalidEntitlementIdsCount { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RedeemEntitlementsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private uint m_RedeemedEntitlementIdsCount; + private uint m_PreviouslyRedeemedEntitlementIdsCount; + private uint m_InvalidEntitlementIdsCount; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RedeemEntitlementsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + other.RedeemedEntitlementIdsCount = m_RedeemedEntitlementIdsCount; + other.PreviouslyRedeemedEntitlementIdsCount = m_PreviouslyRedeemedEntitlementIdsCount; + other.InvalidEntitlementIdsCount = m_InvalidEntitlementIdsCount; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsOptions.cs new file mode 100644 index 0000000..9309f04 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsOptions.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct RedeemEntitlementsOptions + { + /// + /// The Epic Account ID of the user who is redeeming Entitlements + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The array of Entitlements to redeem + /// + public Utf8String[] EntitlementIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RedeemEntitlementsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_EntitlementIdCount; + private IntPtr m_EntitlementIds; + + public void Set(ref RedeemEntitlementsOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.REDEEMENTITLEMENTS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.EntitlementIds, ref m_EntitlementIds, out m_EntitlementIdCount, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_EntitlementIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsResultListType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsResultListType.cs new file mode 100644 index 0000000..603d396 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/RedeemEntitlementsResultListType.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// An enumeration defining the different entitlement list types in the Redeem Entitlements result. + /// + public enum RedeemEntitlementsResultListType : int + { + /// + /// List of entitlements in the Redeem Entitlements result that were redeemed. + /// + Redeemed = 0, + /// + /// List of entitlements in the Redeem Entitlements result that were previously redeemed. + /// + PreviouslyRedeemed = 1, + /// + /// List of entitlements in the Redeem Entitlements result that are invalid. + /// + Invalid = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/SandboxIdItemOwnership.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/SandboxIdItemOwnership.cs new file mode 100644 index 0000000..bd4e90c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/SandboxIdItemOwnership.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Contains all owned catalog items for a sandbox ID. This structure is + /// returned as part of the structure. + /// Note: The SandboxID and CatalogItemId will not remain valid after , so a copy should be as needed. + /// + public struct SandboxIdItemOwnership + { + /// + /// SandboxId + /// + public Utf8String SandboxId { get; set; } + + /// + /// List of all owned catalog items for this SandboxId + /// + public Utf8String[] OwnedCatalogItemIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SandboxIdItemOwnershipInternal : IGettable + { + private IntPtr m_SandboxId; + private IntPtr m_OwnedCatalogItemIds; + private uint m_OwnedCatalogItemIdsCount; + + public void Get(out SandboxIdItemOwnership other) + { + other = default; + + Utf8String SandboxIdPublic; + Helper.Get(m_SandboxId, out SandboxIdPublic); + other.SandboxId = SandboxIdPublic; + Utf8String[] OwnedCatalogItemIdsPublic; + Helper.Get(m_OwnedCatalogItemIds, out OwnedCatalogItemIdsPublic, m_OwnedCatalogItemIdsCount, true); + other.OwnedCatalogItemIds = OwnedCatalogItemIdsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/Transaction.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/Transaction.cs new file mode 100644 index 0000000..ac149d1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/Transaction.cs @@ -0,0 +1,119 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Ecom +{ + public sealed partial class Transaction : Handle + { + public Transaction() + { + } + + public Transaction(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Fetches an entitlement from a given index. + /// + /// + /// + /// + /// + /// structure containing the index being accessed + /// + /// + /// the entitlement for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutEntitlement + /// - if the entitlement information is stale and passed out in OutEntitlement + /// - if you pass a for the out parameter + /// - if the entitlement is not found + /// + public Result CopyEntitlementByIndex(ref TransactionCopyEntitlementByIndexOptions options, out Entitlement? outEntitlement) + { + var optionsInternal = default(TransactionCopyEntitlementByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outEntitlementPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Ecom_Transaction_CopyEntitlementByIndex(InnerHandle, ref optionsInternal, out outEntitlementPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outEntitlementPointer, out outEntitlement); + if (outEntitlementPointer != IntPtr.Zero) + { + Bindings.EOS_Ecom_Entitlement_Release(outEntitlementPointer); + } + + return callResult; + } + + /// + /// Fetch the number of entitlements that are part of this transaction. + /// + /// + /// + /// + /// structure containing the Epic Account ID being accessed + /// + /// + /// the number of entitlements found. + /// + public uint GetEntitlementsCount(ref TransactionGetEntitlementsCountOptions options) + { + var optionsInternal = default(TransactionGetEntitlementsCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Ecom_Transaction_GetEntitlementsCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// The Ecom Transaction Interface exposes getters for accessing information about a completed transaction. + /// All Ecom Transaction Interface calls take a handle of type as the first parameter. + /// An handle is originally returned as part of the struct. + /// An handle can also be retrieved from an handle using . + /// It is expected that after a transaction that is called. + /// When is called any remaining transactions will also be released. + /// + /// + /// + /// + public Result GetTransactionId(out Utf8String outBuffer) + { + int inOutBufferLength = EcomInterface.TRANSACTIONID_MAXIMUM_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Ecom_Transaction_GetTransactionId(InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Release the memory associated with an . Is expected to be called after + /// being received from a . + /// + /// + /// + /// + /// + /// A handle to a transaction. + /// + public void Release() + { + Bindings.EOS_Ecom_Transaction_Release(InnerHandle); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/TransactionCopyEntitlementByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/TransactionCopyEntitlementByIndexOptions.cs new file mode 100644 index 0000000..9b8a942 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/TransactionCopyEntitlementByIndexOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct TransactionCopyEntitlementByIndexOptions + { + /// + /// The index of the entitlement to get + /// + public uint EntitlementIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct TransactionCopyEntitlementByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_EntitlementIndex; + + public void Set(ref TransactionCopyEntitlementByIndexOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.TRANSACTION_COPYENTITLEMENTBYINDEX_API_LATEST; + m_EntitlementIndex = other.EntitlementIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/TransactionGetEntitlementsCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/TransactionGetEntitlementsCountOptions.cs new file mode 100644 index 0000000..649ce37 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Ecom/TransactionGetEntitlementsCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Ecom +{ + /// + /// Input parameters for the function. + /// + public struct TransactionGetEntitlementsCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct TransactionGetEntitlementsCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref TransactionGetEntitlementsCountOptions other) + { + Dispose(); + + m_ApiVersion = EcomInterface.TRANSACTION_GETENTITLEMENTSCOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/EpicAccountId.cs b/FusionAPI/Dependencies/EOSSDK/Generated/EpicAccountId.cs new file mode 100644 index 0000000..b805dcb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/EpicAccountId.cs @@ -0,0 +1,127 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices +{ + public sealed partial class EpicAccountId : Handle + { + public EpicAccountId() + { + } + + public EpicAccountId(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Retrieve an from a raw representing an Epic Account ID. The input must be -terminated. + /// NOTE: There is no validation on the format, this should only be used with values serialized from legitimate sources such as + /// + /// + /// The stringified account ID for which to retrieve the Epic Account ID + /// + /// + /// The that corresponds to the AccountIdString + /// + public static EpicAccountId FromString(Utf8String accountIdString) + { + var accountIdStringPointer = IntPtr.Zero; + Helper.Set(accountIdString, ref accountIdStringPointer); + + var callResult = Bindings.EOS_EpicAccountId_FromString(accountIdStringPointer); + + Helper.Dispose(ref accountIdStringPointer); + + EpicAccountId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + public static explicit operator EpicAccountId(Utf8String accountIdString) + { + return FromString(accountIdString); + } + + /// + /// Check whether or not the given Epic Account ID is considered valid + /// NOTE: This will return for any created with as there is no validation + /// + /// + /// The Epic Account ID to check for validity + /// + /// + /// if the is valid, otherwise + /// + public bool IsValid() + { + var callResult = Bindings.EOS_EpicAccountId_IsValid(InnerHandle); + + bool callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Retrieve a -terminated stringified Epic Account ID from an . This is useful for replication of Epic Account IDs in multiplayer games. + /// This will be no larger than + 1 and will only contain UTF8-encoded printable characters as well as a -terminator. + /// + /// + /// The Epic Account ID for which to retrieve the stringified version. + /// + /// + /// The buffer into which the character data should be written + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer including the -termination character. + /// + /// + /// An that indicates whether the Epic Account ID was copied into the OutBuffer. + /// - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the -terminator. + /// - Either OutBuffer or InOutBufferLength were passed as parameters. + /// - The AccountId is invalid and cannot be stringified. + /// - The OutBuffer is not large enough to receive the Epic Account ID . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result ToString(out Utf8String outBuffer) + { + int inOutBufferLength = Common.EPICACCOUNTID_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_EpicAccountId_ToString(InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + public override string ToString() + { + Utf8String callResult; + ToString(out callResult); + return callResult; + } + + public override string ToString(string format, IFormatProvider formatProvider) + { + if (format != null) + { + return string.Format(format, ToString()); + } + + return ToString(); + } + + public static explicit operator Utf8String(EpicAccountId accountId) + { + Utf8String callResult = null; + + if (accountId != null) + { + accountId.ToString(out callResult); + } + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ExternalAccountType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ExternalAccountType.cs new file mode 100644 index 0000000..b58138b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ExternalAccountType.cs @@ -0,0 +1,80 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + /// + /// All supported external account providers + /// + /// + public enum ExternalAccountType : int + { + /// + /// External account is associated with Epic Games + /// + Epic = 0, + /// + /// External account is associated with Steam + /// + Steam = 1, + /// + /// External account is associated with PlayStation(TM)Network + /// + Psn = 2, + /// + /// External account is associated with Xbox Live + /// + Xbl = 3, + /// + /// External account is associated with Discord + /// + Discord = 4, + /// + /// External account is associated with GOG + /// + Gog = 5, + /// + /// External account is associated with Nintendo + /// + /// With both EOS Connect and EOS UserInfo APIs, the associated account type is Nintendo Service Account ID. + /// Local user authentication is possible using Nintendo Account ID, while the account type does not get exposed to the SDK in queries related to linked accounts information. + /// + Nintendo = 6, + /// + /// External account is associated with Uplay + /// + Uplay = 7, + /// + /// External account is associated with an OpenID Provider + /// + Openid = 8, + /// + /// External account is associated with Apple + /// + Apple = 9, + /// + /// External account is associated with Google + /// + Google = 10, + /// + /// External account is associated with Oculus + /// + Oculus = 11, + /// + /// External account is associated with itch.io + /// + Itchio = 12, + /// + /// External account is associated with Amazon + /// + Amazon = 13, + /// + /// External account is associated with Viveport + /// + Viveport = 14 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ExternalCredentialType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ExternalCredentialType.cs new file mode 100644 index 0000000..a939fdb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ExternalCredentialType.cs @@ -0,0 +1,238 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + /// + /// List of the supported identity providers to authenticate a user. + /// + /// The type of authentication token is specific to each provider. + /// Tokens in format should be passed as-is to the function. + /// Tokens retrieved as raw byte arrays should be converted into a hex-encoded (e.g. "FA87097A..") before being passed to the function. + /// can be used for this conversion. + /// + /// + /// + public enum ExternalCredentialType : int + { + /// + /// Epic Account Services Token + /// + /// Using ID Token is preferred, retrieved with that returns . + /// Using Auth Token is supported for backwards compatibility, retrieved with that returns . + /// + /// Supported with . + /// + /// + /// + Epic = 0, + /// + /// Steam Encrypted App Ticket + /// Note that is deprecated for use with . Use instead. + /// + /// Generated using the ISteamUser::RequestEncryptedAppTicket API of Steamworks SDK. + /// For ticket generation parameters, use pDataToInclude() and cbDataToInclude(0). + /// + /// The retrieved App Ticket byte buffer needs to be converted into a hex-encoded (e.g. "FA87097A..") before passing it to the API. + /// can be used for this conversion. + /// + /// Supported with . + /// + /// + SteamAppTicket = 1, + /// + /// PlayStation(TM)Network ID Token + /// + /// Retrieved from the PlayStation(R) SDK. Please see first-party documentation for additional information. + /// + /// Supported with , . + /// + PsnIdToken = 2, + /// + /// Xbox Live XSTS Token + /// + /// Retrieved from the GDK and XDK. Please see first-party documentation for additional information. + /// + /// Supported with , . + /// + XblXstsToken = 3, + /// + /// Discord Access Token + /// + /// Retrieved using the ApplicationManager::GetOAuth2Token API of Discord SDK. + /// + /// Supported with . + /// + DiscordAccessToken = 4, + /// + /// GOG Galaxy Encrypted App Ticket + /// + /// Generated using the IUser::RequestEncryptedAppTicket API of GOG Galaxy SDK. + /// For ticket generation parameters, use data() and dataSize(0). + /// + /// The retrieved App Ticket byte buffer needs to be converted into a hex-encoded (e.g. "FA87097A..") before passing it to the API. + /// For C/C++ API integration, use the API for the conversion. + /// For C# integration, you can use for the conversion. + /// + /// Supported with . + /// + GogSessionTicket = 5, + /// + /// Nintendo Account ID Token + /// + /// Identifies a Nintendo user account and is acquired through web flow authentication where the local user logs in using their email address/sign-in ID and password. + /// This is the common Nintendo account that users login with outside the Nintendo Switch device. + /// + /// Supported with , . + /// + /// Note: usage is restricted to Epic first party products only, attempting to use it will result in authentication failures. + /// + NintendoIdToken = 6, + /// + /// Nintendo Service Account ID Token (NSA ID) + /// + /// The NSA ID identifies uniquely the local Nintendo Switch device. The authentication token is acquired locally without explicit user credentials. + /// As such, it is the primary authentication method for seamless login on Nintendo Switch. + /// + /// The NSA ID is not exposed directly to the user and does not provide any means for login outside the local device. + /// Because of this, Nintendo Switch users will need to link their Nintendo Account or another external user account + /// to their Product User ID in order to share their game progression across other platforms. Otherwise, the user will + /// not be able to login to their existing Product User ID on another platform due to missing login credentials to use. + /// It is recommended that the game explicitly communicates this restriction to the user so that they will know to add + /// the first linked external account on the Nintendo Switch device and then proceed with login on another platform. + /// + /// In addition to sharing cross-platform game progression, linking the Nintendo Account or another external account + /// will allow preserving the game progression permanently. Otherwise, the game progression will be tied only to the + /// local device. In case the user loses access to their local device, they will not be able to recover the game + /// progression if it is only associated with this account type. + /// + /// Supported with , . + /// + /// Note: usage is restricted to Epic first party products only, attempting to use it will result in authentication failures. + /// + NintendoNsaIdToken = 7, + /// + /// Uplay Access Token + /// + /// Supported with . + /// + UplayAccessToken = 8, + /// + /// OpenID Provider Access Token + /// + /// Supported with . + /// + OpenidAccessToken = 9, + /// + /// Device ID access token that identifies the current locally logged in user profile on the local device. + /// The local user profile here refers to the operating system user login, for example the user's Windows Account + /// or on a mobile device the default active user profile. + /// + /// This credential type is used to automatically login the local user using the EOS Connect Device ID feature. + /// + /// The intended use of the Device ID feature is to allow automatically logging in the user on a mobile device + /// and to allow playing the game without requiring the user to necessarily login using a real user account at all. + /// This makes a seamless first-time experience possible and allows linking the local device with a real external + /// user account at a later time, sharing the same that is being used with the Device ID feature. + /// + /// Supported with . + /// + /// + DeviceidAccessToken = 10, + /// + /// Apple ID Token + /// + /// Supported with . + /// + AppleIdToken = 11, + /// + /// Google ID Token + /// + /// Supported with . + /// + GoogleIdToken = 12, + /// + /// Oculus User ID and Nonce + /// + /// Call ovr_User_GetUserProof(), or Platform.User.GetUserProof() if you are using Unity, to retrieve the nonce. + /// Then pass the local User ID and the Nonce as a "{UserID}|{Nonce}" formatted for the Token parameter. + /// + /// Note that in order to successfully retrieve a valid non-zero id for the local user using ovr_User_GetUser(), + /// your Oculus App needs to be configured in the Oculus Developer Dashboard to have the User ID feature enabled. + /// + /// Supported with . + /// + OculusUseridNonce = 13, + /// + /// itch.io JWT Access Token + /// + /// Use the itch.io app manifest to receive a JWT access token for the local user via the ITCHIO_API_KEY process environment variable. + /// The itch.io access token is valid for 7 days after which the game needs to be restarted by the user as otherwise EOS Connect + /// authentication session can no longer be refreshed. + /// + /// Supported with . + /// + ItchioJwt = 14, + /// + /// itch.io Key Access Token + /// + /// This access token type is retrieved through the OAuth 2.0 authentication flow for the itch.io application. + /// + /// Supported with . + /// + ItchioKey = 15, + /// + /// Epic Games ID Token + /// + /// Acquired using that returns . + /// + /// Supported with . + /// + EpicIdToken = 16, + /// + /// Amazon Access Token + /// + /// Supported with . + /// + AmazonAccessToken = 17, + /// + /// Steam Auth Session Ticket + /// + /// Generated using the ISteamUser::GetAuthTicketForWebApi API of Steamworks SDK. + /// + /// @attention + /// The pchIdentity input parameter of GetAuthTicketForWebApi API must be set to a valid non-empty value. + /// The value used by the game client must match identically to the backend-configured value in EOS Dev Portal. + /// The recommended value to use is "epiconlineservices" in lowercase, matching the default value for new Steam identity provider credentials in EOS Dev Portal. + /// This identifier is important for security reasons to prevent session hijacking. Applications must use a dedicated unique identity identifier for Session Tickets passed to the EOS SDK APIs. + /// Session Tickets using the EOS-assigned identifier must not be used with anything else than the EOS SDK APIs. You must use a different identifier when generating Session Tickets to authenticate with other parties. + /// + /// @warning + /// To update an already live game to use the new GetAuthTicketForWebApi API instead of the deprecated GetAuthSessionTicket API, follow these steps in this order to prevent breaking the live game for players: + /// 1. Update your game client code to use the new ISteamUser::GetAuthTicketForWebApi API. + /// 2. Publish the new game client update to end-users. + /// 3. Update the existing Steam identity provider credentials entry in EOS Dev Portal to use the same identity identifier as the game client. + /// + /// @example + /// SteamUser()->GetAuthTicketForWebApi("epiconlineservices"); + /// + /// The retrieved Auth Session Ticket byte buffer needs to be converted into a hex-encoded (e.g. "FA87097A..") before passing it to the or APIs. + /// can be used for this conversion. + /// + /// Supported with , . + /// + /// @version 1.15.1+ + /// + SteamSessionTicket = 18, + /// + /// VIVEPORT User Session Token + /// + /// Supported with . + /// + ViveportUserToken = 19 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AcceptInviteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AcceptInviteCallbackInfo.cs new file mode 100644 index 0000000..c78f165 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AcceptInviteCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Output parameters for the Function. + /// + public struct AcceptInviteCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if an invite was accepted, otherwise one of the error codes is returned. See eos_common.h + /// + public Result ResultCode { get; set; } + + /// + /// Context that is passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the user who is accepting the friends list invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who sent the local user a friends list invitation + /// + public EpicAccountId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AcceptInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out AcceptInviteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AcceptInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AcceptInviteOptions.cs new file mode 100644 index 0000000..d1c0905 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AcceptInviteOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct AcceptInviteOptions + { + /// + /// The Epic Account ID of the local, logged-in user who is accepting the friends list invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who sent the friends list invitation + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AcceptInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref AcceptInviteOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.ACCEPTINVITE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AddNotifyBlockedUsersUpdateOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AddNotifyBlockedUsersUpdateOptions.cs new file mode 100644 index 0000000..5974a96 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AddNotifyBlockedUsersUpdateOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyBlockedUsersUpdateOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyBlockedUsersUpdateOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyBlockedUsersUpdateOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.ADDNOTIFYBLOCKEDUSERSUPDATE_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AddNotifyFriendsUpdateOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AddNotifyFriendsUpdateOptions.cs new file mode 100644 index 0000000..7c7e387 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/AddNotifyFriendsUpdateOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyFriendsUpdateOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyFriendsUpdateOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyFriendsUpdateOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.ADDNOTIFYFRIENDSUPDATE_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/FriendsInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/FriendsInterface.cs new file mode 100644 index 0000000..4bad305 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/FriendsInterface.cs @@ -0,0 +1,430 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Friends +{ + public sealed partial class FriendsInterface : Handle + { + public FriendsInterface() + { + } + + public FriendsInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ACCEPTINVITE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYBLOCKEDUSERSUPDATE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYFRIENDSUPDATE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETBLOCKEDUSERATINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETBLOCKEDUSERSCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETFRIENDATINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETFRIENDSCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETSTATUS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYFRIENDS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int REJECTINVITE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SENDINVITE_API_LATEST = 1; + + /// + /// Starts an asynchronous task that accepts a friend invitation from another user. The completion delegate is executed after the backend response has been received. + /// + /// + /// + /// + /// structure containing the logged in account and the inviting account + /// + /// + /// 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 AcceptInvite(ref AcceptInviteOptions options, object clientData, OnAcceptInviteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(AcceptInviteOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Friends_AcceptInvite(InnerHandle, ref optionsInternal, clientDataPointer, OnAcceptInviteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Listen for changes to blocklist for a particular account. + /// + /// + /// + /// + /// Information about the API version which is being used. + /// + /// + /// This value is returned to the caller when BlockedUsersUpdateHandler is invoked. + /// + /// + /// The callback to be invoked when a blocklist changes. + /// + /// + /// A valid notification ID if successfully bound, or otherwise. + /// + public ulong AddNotifyBlockedUsersUpdate(ref AddNotifyBlockedUsersUpdateOptions options, object clientData, OnBlockedUsersUpdateCallback blockedUsersUpdateHandler) + { + if (blockedUsersUpdateHandler == null) + { + throw new ArgumentNullException("blockedUsersUpdateHandler"); + } + + var optionsInternal = default(AddNotifyBlockedUsersUpdateOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, blockedUsersUpdateHandler); + + var callResult = Bindings.EOS_Friends_AddNotifyBlockedUsersUpdate(InnerHandle, ref optionsInternal, clientDataPointer, OnBlockedUsersUpdateCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Listen for changes to friends for a particular account. + /// + /// + /// + /// + /// Information about who would like notifications. + /// + /// + /// This value is returned to the caller when FriendsUpdateHandler is invoked. + /// + /// + /// The callback to be invoked when a change to any friend status changes. + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyFriendsUpdate(ref AddNotifyFriendsUpdateOptions options, object clientData, OnFriendsUpdateCallback friendsUpdateHandler) + { + if (friendsUpdateHandler == null) + { + throw new ArgumentNullException("friendsUpdateHandler"); + } + + var optionsInternal = default(AddNotifyFriendsUpdateOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, friendsUpdateHandler); + + var callResult = Bindings.EOS_Friends_AddNotifyFriendsUpdate(InnerHandle, ref optionsInternal, clientDataPointer, OnFriendsUpdateCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Retrieves the Epic Account ID of an entry from the blocklist that has already been retrieved by the API. + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID of the owner of the blocklist and the index into the list. + /// + /// + /// the Epic Account ID of the blocked user. Note that if the index provided is out of bounds, the returned Epic Account ID will be a "null" account ID. + /// + public EpicAccountId GetBlockedUserAtIndex(ref GetBlockedUserAtIndexOptions options) + { + var optionsInternal = default(GetBlockedUserAtIndexOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Friends_GetBlockedUserAtIndex(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + EpicAccountId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Retrieves the number of blocked users on the blocklist that has already been retrieved by the API. + /// + /// + /// + /// + /// structure containing the Epic Account ID of user who owns the blocklist. + /// + /// + /// the number of users on the blocklist. + /// + public int GetBlockedUsersCount(ref GetBlockedUsersCountOptions options) + { + var optionsInternal = default(GetBlockedUsersCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Friends_GetBlockedUsersCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Retrieves the Epic Account ID of an entry from the friends list that has already been retrieved by the API. + /// The Epic Account ID returned by this function may belong to an account that has been invited to be a friend or that has invited the local user to be a friend. + /// To determine if the Epic Account ID returned by this function is a friend or a pending friend invitation, use the function. + /// + /// + /// + /// + /// + /// structure containing the Epic Account ID of the owner of the friends list and the index into the list + /// + /// + /// the Epic Account ID of the friend. Note that if the index provided is out of bounds, the returned Epic Account ID will be a "null" account ID. + /// + public EpicAccountId GetFriendAtIndex(ref GetFriendAtIndexOptions options) + { + var optionsInternal = default(GetFriendAtIndexOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Friends_GetFriendAtIndex(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + EpicAccountId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Retrieves the number of friends on the friends list that has already been retrieved by the API. + /// + /// + /// + /// + /// structure containing the Epic Account ID of user who owns the friends list + /// + /// + /// the number of friends on the list + /// + public int GetFriendsCount(ref GetFriendsCountOptions options) + { + var optionsInternal = default(GetFriendsCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Friends_GetFriendsCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Retrieve the friendship status between the local user and another user. + /// + /// + /// + /// + /// structure containing the Epic Account ID of the friend list to check and the account of the user to test friendship status + /// + /// + /// A value indicating whether the two accounts have a friendship, pending invites in either direction, or no relationship + /// - is returned for two users that have confirmed friendship + /// - is returned when the local user has sent a friend invitation but the other user has not accepted or rejected it + /// - is returned when the other user has sent a friend invitation to the local user + /// - is returned when there is no known relationship + /// + public FriendsStatus GetStatus(ref GetStatusOptions options) + { + var optionsInternal = default(GetStatusOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Friends_GetStatus(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Starts an asynchronous task that reads the user's friends list and blocklist from the backend service, caching it for future use. + /// When the Social Overlay is enabled then this will be called automatically. The Social Overlay is enabled by default (see ). + /// + /// + /// + /// + /// structure containing the account for which to retrieve the friends list + /// + /// + /// 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 QueryFriends(ref QueryFriendsOptions options, object clientData, OnQueryFriendsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryFriendsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Friends_QueryFriends(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryFriendsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Starts an asynchronous task that rejects a friend invitation from another user. The completion delegate is executed after the backend response has been received. + /// + /// + /// + /// + /// structure containing the logged in account and the inviting account + /// + /// + /// 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 RejectInvite(ref RejectInviteOptions options, object clientData, OnRejectInviteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(RejectInviteOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Friends_RejectInvite(InnerHandle, ref optionsInternal, clientDataPointer, OnRejectInviteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Stop listening for blocklist changes on a previously bound handler. + /// + /// + /// The previously bound notification ID. + /// + public void RemoveNotifyBlockedUsersUpdate(ulong notificationId) + { + Bindings.EOS_Friends_RemoveNotifyBlockedUsersUpdate(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Stop listening for friends changes on a previously bound handler. + /// + /// + /// The previously bound notification ID. + /// + public void RemoveNotifyFriendsUpdate(ulong notificationId) + { + Bindings.EOS_Friends_RemoveNotifyFriendsUpdate(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Starts an asynchronous task that sends a friend invitation to another user. The completion delegate is executed after the backend response has been received. + /// It does not indicate that the target user has responded to the friend invitation. + /// + /// + /// + /// + /// structure containing the account to send the invite from and the account to send the invite to + /// + /// + /// 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 SendInvite(ref SendInviteOptions options, object clientData, OnSendInviteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(SendInviteOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Friends_SendInvite(InnerHandle, ref optionsInternal, clientDataPointer, OnSendInviteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/FriendsStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/FriendsStatus.cs new file mode 100644 index 0000000..7814686 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/FriendsStatus.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// An enumeration of the different friendship statuses. + /// + public enum FriendsStatus : int + { + /// + /// The two accounts have no friendship status. + /// + NotFriends = 0, + /// + /// The local account has sent a friend invite to the other account. + /// + /// NOTE: is not returned by or in callbacks unless + /// the local account was logged in with the authentication scope. Friend invites are managed + /// automatically by the Social Overlay. + /// + InviteSent = 1, + /// + /// The other account has sent a friend invite to the local account. + /// + /// NOTE: is not returned by or in callbacks unless + /// the local account was logged in with the authentication scope. Friend invites are managed + /// automatically by the Social Overlay. + /// + InviteReceived = 2, + /// + /// The accounts have accepted friendship. + /// + Friends = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetBlockedUserAtIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetBlockedUserAtIndexOptions.cs new file mode 100644 index 0000000..eeaed55 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetBlockedUserAtIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct GetBlockedUserAtIndexOptions + { + /// + /// The Epic Account ID of the user whose blocked users list is being queried. + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Index into the blocked users list. This value must be between 0 and -1 inclusively. + /// + public int Index { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetBlockedUserAtIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private int m_Index; + + public void Set(ref GetBlockedUserAtIndexOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.GETBLOCKEDUSERATINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Index = other.Index; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetBlockedUsersCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetBlockedUsersCountOptions.cs new file mode 100644 index 0000000..53b3ae3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetBlockedUsersCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct GetBlockedUsersCountOptions + { + /// + /// The Epic Account ID of the user whose blocked users should be counted. + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetBlockedUsersCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetBlockedUsersCountOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.GETBLOCKEDUSERSCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetFriendAtIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetFriendAtIndexOptions.cs new file mode 100644 index 0000000..9f572c5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetFriendAtIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct GetFriendAtIndexOptions + { + /// + /// The Epic Account ID of the user whose friend list is being queried + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Index into the friend list. This value must be between 0 and -1 inclusively. + /// + public int Index { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetFriendAtIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private int m_Index; + + public void Set(ref GetFriendAtIndexOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.GETFRIENDATINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Index = other.Index; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetFriendsCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetFriendsCountOptions.cs new file mode 100644 index 0000000..a4329ec --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetFriendsCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct GetFriendsCountOptions + { + /// + /// The Epic Account ID of the user whose friends should be counted + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetFriendsCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetFriendsCountOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.GETFRIENDSCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetStatusOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetStatusOptions.cs new file mode 100644 index 0000000..ea538c1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/GetStatusOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct GetStatusOptions + { + /// + /// The Epic Account ID of the local, logged in user + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose friendship status with the local user is being queried + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetStatusOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref GetStatusOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.GETSTATUS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnAcceptInviteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnAcceptInviteCallback.cs new file mode 100644 index 0000000..7adf52e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnAcceptInviteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result. + /// + public delegate void OnAcceptInviteCallback(ref AcceptInviteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnAcceptInviteCallbackInternal(ref AcceptInviteCallbackInfoInternal data); + + internal static class OnAcceptInviteCallbackInternalImplementation + { + private static OnAcceptInviteCallbackInternal s_Delegate; + public static OnAcceptInviteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnAcceptInviteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnAcceptInviteCallbackInternal))] + public static void EntryPoint(ref AcceptInviteCallbackInfoInternal data) + { + OnAcceptInviteCallback callback; + AcceptInviteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnBlockedUsersUpdateCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnBlockedUsersUpdateCallback.cs new file mode 100644 index 0000000..ae20345 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnBlockedUsersUpdateCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + + /// + /// Callback for information related to a blocklist update. + /// + public delegate void OnBlockedUsersUpdateCallback(ref OnBlockedUsersUpdateInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnBlockedUsersUpdateCallbackInternal(ref OnBlockedUsersUpdateInfoInternal data); + + internal static class OnBlockedUsersUpdateCallbackInternalImplementation + { + private static OnBlockedUsersUpdateCallbackInternal s_Delegate; + public static OnBlockedUsersUpdateCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnBlockedUsersUpdateCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnBlockedUsersUpdateCallbackInternal))] + public static void EntryPoint(ref OnBlockedUsersUpdateInfoInternal data) + { + OnBlockedUsersUpdateCallback callback; + OnBlockedUsersUpdateInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnBlockedUsersUpdateInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnBlockedUsersUpdateInfo.cs new file mode 100644 index 0000000..7534d47 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnBlockedUsersUpdateInfo.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Structure containing information about a blocklist update. + /// + public struct OnBlockedUsersUpdateInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user who is receiving the update + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose blocked status is being updated. + /// + public EpicAccountId TargetUserId { get; set; } + + /// + /// TargetUserId block status (blocked or not). + /// + public bool Blocked { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnBlockedUsersUpdateInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + private int m_Blocked; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnBlockedUsersUpdateInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + bool BlockedPublic; + Helper.Get(m_Blocked, out BlockedPublic); + other.Blocked = BlockedPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnFriendsUpdateCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnFriendsUpdateCallback.cs new file mode 100644 index 0000000..1c60d56 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnFriendsUpdateCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + + /// + /// Callback for information related to a friend status update. + /// + public delegate void OnFriendsUpdateCallback(ref OnFriendsUpdateInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnFriendsUpdateCallbackInternal(ref OnFriendsUpdateInfoInternal data); + + internal static class OnFriendsUpdateCallbackInternalImplementation + { + private static OnFriendsUpdateCallbackInternal s_Delegate; + public static OnFriendsUpdateCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnFriendsUpdateCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnFriendsUpdateCallbackInternal))] + public static void EntryPoint(ref OnFriendsUpdateInfoInternal data) + { + OnFriendsUpdateCallback callback; + OnFriendsUpdateInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnFriendsUpdateInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnFriendsUpdateInfo.cs new file mode 100644 index 0000000..011580f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnFriendsUpdateInfo.cs @@ -0,0 +1,84 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Structure containing information about a friend status update. + /// + public struct OnFriendsUpdateInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user who is receiving the update + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose status is being updated. + /// + public EpicAccountId TargetUserId { get; set; } + + /// + /// The previous status of the user. + /// + public FriendsStatus PreviousStatus { get; set; } + + /// + /// The current status of the user. + /// + public FriendsStatus CurrentStatus { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnFriendsUpdateInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + private FriendsStatus m_PreviousStatus; + private FriendsStatus m_CurrentStatus; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnFriendsUpdateInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + other.PreviousStatus = m_PreviousStatus; + other.CurrentStatus = m_CurrentStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnQueryFriendsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnQueryFriendsCallback.cs new file mode 100644 index 0000000..67ca7a6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnQueryFriendsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryFriendsCallback(ref QueryFriendsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryFriendsCallbackInternal(ref QueryFriendsCallbackInfoInternal data); + + internal static class OnQueryFriendsCallbackInternalImplementation + { + private static OnQueryFriendsCallbackInternal s_Delegate; + public static OnQueryFriendsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryFriendsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryFriendsCallbackInternal))] + public static void EntryPoint(ref QueryFriendsCallbackInfoInternal data) + { + OnQueryFriendsCallback callback; + QueryFriendsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnRejectInviteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnRejectInviteCallback.cs new file mode 100644 index 0000000..8680907 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnRejectInviteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing output information and the result. + /// + public delegate void OnRejectInviteCallback(ref RejectInviteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRejectInviteCallbackInternal(ref RejectInviteCallbackInfoInternal data); + + internal static class OnRejectInviteCallbackInternalImplementation + { + private static OnRejectInviteCallbackInternal s_Delegate; + public static OnRejectInviteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRejectInviteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRejectInviteCallbackInternal))] + public static void EntryPoint(ref RejectInviteCallbackInfoInternal data) + { + OnRejectInviteCallback callback; + RejectInviteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnSendInviteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnSendInviteCallback.cs new file mode 100644 index 0000000..2895173 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/OnSendInviteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result. + /// + public delegate void OnSendInviteCallback(ref SendInviteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSendInviteCallbackInternal(ref SendInviteCallbackInfoInternal data); + + internal static class OnSendInviteCallbackInternalImplementation + { + private static OnSendInviteCallbackInternal s_Delegate; + public static OnSendInviteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSendInviteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSendInviteCallbackInternal))] + public static void EntryPoint(ref SendInviteCallbackInfoInternal data) + { + OnSendInviteCallback callback; + SendInviteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/QueryFriendsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/QueryFriendsCallbackInfo.cs new file mode 100644 index 0000000..0873ffe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/QueryFriendsCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct QueryFriendsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the user whose friends were queried + /// + public EpicAccountId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryFriendsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryFriendsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/QueryFriendsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/QueryFriendsOptions.cs new file mode 100644 index 0000000..912de67 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/QueryFriendsOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct QueryFriendsOptions + { + /// + /// The Epic Account ID of the local, logged-in user whose friends list you want to retrieve + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryFriendsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref QueryFriendsOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.QUERYFRIENDS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/RejectInviteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/RejectInviteCallbackInfo.cs new file mode 100644 index 0000000..c5be177 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/RejectInviteCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Output parameters for the Function. + /// + public struct RejectInviteCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if an invite was accepted, otherwise one of the error codes is returned. See eos_common.h + /// + public Result ResultCode { get; set; } + + /// + /// Context that is passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the user who is rejecting the friends list invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who sent the friends list invitation + /// + public EpicAccountId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RejectInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RejectInviteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/RejectInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/RejectInviteOptions.cs new file mode 100644 index 0000000..85239c7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/RejectInviteOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct RejectInviteOptions + { + /// + /// The Epic Account ID of the local, logged-in user who is rejecting a friends list invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who sent the friends list invitation + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RejectInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref RejectInviteOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.REJECTINVITE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/SendInviteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/SendInviteCallbackInfo.cs new file mode 100644 index 0000000..816d21c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/SendInviteCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Output parameters for the API. + /// + public struct SendInviteCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if the invitation was sent, otherwise one of the error codes is returned. See eos_common.h + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the user who sent the friends list invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user to whom the friends list invitation was sent + /// + public EpicAccountId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SendInviteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Friends/SendInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/SendInviteOptions.cs new file mode 100644 index 0000000..a68a0af --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Friends/SendInviteOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Friends +{ + /// + /// Input parameters for the function. + /// + public struct SendInviteOptions + { + /// + /// The Epic Account ID of the local, logged-in user who is sending the friends list invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who is receiving the friends list invitation + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref SendInviteOptions other) + { + Dispose(); + + m_ApiVersion = FriendsInterface.SENDINVITE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/AuthInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/AuthInterface.cs new file mode 100644 index 0000000..893a164 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/AuthInterface.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if EOS_PLATFORM_IOS +using System; + +namespace Epic.OnlineServices.Auth +{ + public sealed partial class AuthInterface : Handle + { + /// + /// The most recent version of the structure. + /// + public const int IOS_CREDENTIALSOPTIONS_API_LATEST = 2; + + /// + /// Login/Authenticate with user credentials. + /// + /// + /// + /// + /// structure containing the account credentials to use during the login operation + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// a callback that is fired when the login operation completes, either successfully or in error + /// + public void Login(ref IOSLoginOptions options, object clientData, OnLoginCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(IOSLoginOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Helper.AddStaticCallback("Auth.IOSCreateBackgroundSnapshotView", options.Credentials?.SystemAuthCredentialsOptions?.CreateBackgroundSnapshotView); + + IOSBindings.EOS_Auth_Login_IOS(InnerHandle, ref optionsInternal, clientDataPointer, OnLoginCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCreateBackgroundSnapshotView.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCreateBackgroundSnapshotView.cs new file mode 100644 index 0000000..b7b881f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCreateBackgroundSnapshotView.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if EOS_PLATFORM_IOS +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + + /// + /// A callback function used to create snapshot views when the application is backgrounded while Account Portal is visible. + /// + /// Each call should return a new instance. + /// must be retained using: CFBridgingRetain(viewInstance) + /// If the view requires a CGRect for initWithFrame, CGRectZero should work + /// Layout should be implemented in `layoutSubviews` or via constraints + /// SDK will resize the to match the UIWindow returned from ASWebAuthenticationPresentationContextProviding + /// SDK will set autoresizing mask for fullscreen on the (flexible width and height) + /// + public delegate IntPtr IOSCreateBackgroundSnapshotView(IntPtr context); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntPtr IOSCreateBackgroundSnapshotViewInternal(IntPtr context); + + internal static class IOSCreateBackgroundSnapshotViewInternalImplementation + { + private static IOSCreateBackgroundSnapshotViewInternal s_Delegate; + public static IOSCreateBackgroundSnapshotViewInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new IOSCreateBackgroundSnapshotViewInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(IOSCreateBackgroundSnapshotViewInternal))] + public static IntPtr EntryPoint(IntPtr context) + { + IOSCreateBackgroundSnapshotView callback; + if (Helper.TryGetStaticCallback("Auth.IOSCreateBackgroundSnapshotView", out callback)) + { + var callResult = callback(context); + + return callResult; + } + + return default; + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCredentials.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCredentials.cs new file mode 100644 index 0000000..fb052b4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCredentials.cs @@ -0,0 +1,95 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if EOS_PLATFORM_IOS +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Login credentials filled as part of the struct for API. + /// + /// Required input parameters to be set depend on the login credential type. + /// Any parameters not being used must be set to . Otherwise, error is returned. + /// + /// | ID is the email address, and Token is the password. + /// | Set ID to . Token is the exchange code. + /// | Set ID to . On console platforms, Token is the long-lived refresh token. Otherwise, set to . + /// | Set ID as the host (e.g. localhost:6547). Token is the credential name registered in the EOS Developer Authentication Tool. + /// | Set ID to . Token is the refresh token. + /// | Set ID and Token to . SystemAuthCredentialsOptions may be required on mobile platforms. + /// | Set ID to or the External Account ID that belongs to the external auth token. Token is the external auth token specified by ExternalType. External Account IDs set to the ID are expected as either base-10 numeric for integer-based external Account IDs, or the actual for everything else. If ID is provided, login will automatically be cancelled if the EOS SDK is able to and does detect the external account signing-out. If ID is provided, it must match the external account ID belonging to the auth-token, or login will fail. + /// + /// + /// + /// + public struct IOSCredentials + { + /// + /// Authentication ID value based on the used . + /// If not used, must be set to . + /// + public Utf8String Id { get; set; } + + /// + /// Authentication Token value based on the used . + /// If not used, must be set to . + /// + public Utf8String Token { get; set; } + + /// + /// Login credentials type based on the authentication method used. + /// + public LoginCredentialType Type { get; set; } + + /// + /// This field is for system specific options, if any. + /// + /// If provided, the structure will be located in (System)/eos_(system).h. + /// The structure will be named EOS_(System)_Auth_CredentialsOptions. + /// + public IOSCredentialsSystemAuthCredentialsOptions? SystemAuthCredentialsOptions { get; set; } + + /// + /// Type of external login. Needed to identify the external auth method to use. + /// Used when login type is set to , ignored for other methods. + /// + public ExternalCredentialType ExternalType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IOSCredentialsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Id; + private IntPtr m_Token; + private LoginCredentialType m_Type; + private IntPtr m_SystemAuthCredentialsOptions; + private ExternalCredentialType m_ExternalType; + + public void Set(ref IOSCredentials other) + { + Dispose(); + + m_ApiVersion = AuthInterface.CREDENTIALS_API_LATEST; + Helper.Set(other.Id, ref m_Id); + Helper.Set(other.Token, ref m_Token); + m_Type = other.Type; + Helper.Set(other.SystemAuthCredentialsOptions, ref m_SystemAuthCredentialsOptions); + m_ExternalType = other.ExternalType; + } + + public void Dispose() + { + Helper.Dispose(ref m_Id); + Helper.Dispose(ref m_Token); + Helper.Dispose(ref m_SystemAuthCredentialsOptions); + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCredentialsSystemAuthCredentialsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCredentialsSystemAuthCredentialsOptions.cs new file mode 100644 index 0000000..9f53dff --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSCredentialsSystemAuthCredentialsOptions.cs @@ -0,0 +1,72 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if EOS_PLATFORM_IOS +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Options for initializing login for IOS. + /// + public struct IOSCredentialsSystemAuthCredentialsOptions + { + /// + /// When calling + /// NSObject that implements the ASWebAuthenticationPresentationContextProviding protocol, + /// typically this is added to the applications UIViewController. + /// Required for iOS 13+ only, for earlier versions this value must be a . + /// Object must be retained and cast to a using: ()CFBridgingRetain(presentationContextProviding) + /// EOSSDK will release this bridged object when the value is consumed for iOS 13+. + /// + public IntPtr PresentationContextProviding { get; set; } + + /// + /// A callback function used to create snapshot views when the application is backgrounded while Account Portal is visible. + /// + /// Each call should return a new instance. + /// must be retained using: CFBridgingRetain(viewInstance) + /// If the view requires a CGRect for initWithFrame, CGRectZero should work + /// Layout should be implemented in `layoutSubviews` or via constraints + /// SDK will resize the to match the UIWindow returned from ASWebAuthenticationPresentationContextProviding + /// SDK will set autoresizing mask for fullscreen on the (flexible width and height) + /// + public IOSCreateBackgroundSnapshotView CreateBackgroundSnapshotView { get; set; } + + /// + /// Context data to pass back in the CreateBackgroundSnapshotView + /// + public IntPtr CreateBackgroundSnapshotViewContext { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IOSCredentialsSystemAuthCredentialsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PresentationContextProviding; + private IntPtr m_CreateBackgroundSnapshotView; + private IntPtr m_CreateBackgroundSnapshotViewContext; + + public void Set(ref IOSCredentialsSystemAuthCredentialsOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.IOS_CREDENTIALSOPTIONS_API_LATEST; + m_PresentationContextProviding = other.PresentationContextProviding; + m_CreateBackgroundSnapshotView = other.CreateBackgroundSnapshotView != null ? Marshal.GetFunctionPointerForDelegate(IOSCreateBackgroundSnapshotViewInternalImplementation.Delegate) : IntPtr.Zero; + m_CreateBackgroundSnapshotViewContext = other.CreateBackgroundSnapshotViewContext; + } + + public void Dispose() + { + Helper.Dispose(ref m_PresentationContextProviding); + Helper.Dispose(ref m_CreateBackgroundSnapshotViewContext); + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSLoginOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSLoginOptions.cs new file mode 100644 index 0000000..fad623a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/Auth/IOSLoginOptions.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if EOS_PLATFORM_IOS +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Auth +{ + /// + /// Input parameters for the function. + /// + public struct IOSLoginOptions + { + /// + /// Credentials specified for a given login method. + /// + public IOSCredentials? Credentials { get; set; } + + /// + /// Auth scope flags are permissions to request from the user while they are logging in. This is a bitwise-or union of flags defined above. + /// + public AuthScopeFlags ScopeFlags { get; set; } + + /// + /// Optional flags for the desired login behavior, e.g. . This is a bitwise-or union of the defined flags. + /// + public LoginFlags LoginFlags { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IOSLoginOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Credentials; + private AuthScopeFlags m_ScopeFlags; + private LoginFlags m_LoginFlags; + + public void Set(ref IOSLoginOptions other) + { + Dispose(); + + m_ApiVersion = AuthInterface.LOGIN_API_LATEST; + Helper.Set(other.Credentials, ref m_Credentials); + m_ScopeFlags = other.ScopeFlags; + m_LoginFlags = other.LoginFlags; + } + + public void Dispose() + { + Helper.Dispose(ref m_Credentials); + } + } +} +#endif diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IOS/IOSBindings.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/IOSBindings.cs new file mode 100644 index 0000000..5b71000 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IOS/IOSBindings.cs @@ -0,0 +1,74 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if UNITY_EDITOR + #define EOS_EDITOR +#endif + +#if EOS_EDITOR + #define EOS_DYNAMIC_BINDINGS +#endif + +#if EOS_DYNAMIC_BINDINGS + #if EOS_PLATFORM_WINDOWS_32 + #define EOS_DYNAMIC_BINDINGS_MANGLING_WINDOWS_32 + #elif EOS_PLATFORM_OSX || EOS_PLATFORM_IOS + #define EOS_DYNAMIC_BINDINGS_MANGLING_APPLE + #else + #define EOS_DYNAMIC_BINDINGS_MANGLING_STANDARD + #endif +#endif + +#if UNITY_IOS || __IOS__ + #define EOS_PLATFORM_IOS +#endif + +#if EOS_PLATFORM_IOS +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + public static partial class IOSBindings + { +#if EOS_DYNAMIC_BINDINGS_MANGLING_APPLE + private const string EOS_Auth_Login_IOSName = "_EOS_Auth_Login_IOS"; +#endif + +#if EOS_DYNAMIC_BINDINGS + /// + /// Hooks dynamic bindings. + /// + /// A handle to the library to find functions in. The type is platform dependent, but would typically be an . + /// A delegate that takes a library handle and function name, and returns an which is a pointer to the function within the library. + public static void Hook(TLibraryHandle libraryHandle, Func getFunctionPointer) + { + IntPtr functionPointer; + + functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_Login_IOSName); + if (functionPointer == IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_Login_IOSName); + EOS_Auth_Login_IOS = (EOS_Auth_Login_IOSDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_Login_IOSDelegate)); + } + + /// + /// Unhooks dynamic bindings. + /// + public static void Unhook() + { + EOS_Auth_Login_IOS = null; + } + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void EOS_Auth_Login_IOSDelegate(IntPtr handle, ref Auth.IOSLoginOptionsInternal options, IntPtr clientData, Auth.OnLoginCallbackInternal completionDelegate); + internal static EOS_Auth_Login_IOSDelegate EOS_Auth_Login_IOS; +#else + [DllImport(Common.LIBRARY_NAME, EntryPoint="EOS_Auth_Login", CallingConvention=Common.LIBRARY_CALLING_CONVENTION)] + internal static extern void EOS_Auth_Login_IOS(IntPtr handle, ref Auth.IOSLoginOptionsInternal options, IntPtr clientData, Auth.OnLoginCallbackInternal completionDelegate); +#endif + } +} +#endif \ No newline at end of file diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/AddNotifyUserLoginStatusChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/AddNotifyUserLoginStatusChangedOptions.cs new file mode 100644 index 0000000..abae525 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/AddNotifyUserLoginStatusChangedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyUserLoginStatusChangedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyUserLoginStatusChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyUserLoginStatusChangedOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.ADDNOTIFYUSERLOGINSTATUSCHANGED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/ClearUserPreLogoutCallbackOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/ClearUserPreLogoutCallbackOptions.cs new file mode 100644 index 0000000..84b9dc0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/ClearUserPreLogoutCallbackOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Input parameters for the function. + /// + public struct ClearUserPreLogoutCallbackOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ClearUserPreLogoutCallbackOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref ClearUserPreLogoutCallbackOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.CLEARUSERPRELOGOUTCALLBACK_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/CreateIntegratedPlatformOptionsContainerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/CreateIntegratedPlatformOptionsContainerOptions.cs new file mode 100644 index 0000000..0a1588f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/CreateIntegratedPlatformOptionsContainerOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Data for the function. + /// + public struct CreateIntegratedPlatformOptionsContainerOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateIntegratedPlatformOptionsContainerOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref CreateIntegratedPlatformOptionsContainerOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.CREATEINTEGRATEDPLATFORMOPTIONSCONTAINER_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/FinalizeDeferredUserLogoutOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/FinalizeDeferredUserLogoutOptions.cs new file mode 100644 index 0000000..bbebf8b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/FinalizeDeferredUserLogoutOptions.cs @@ -0,0 +1,58 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Input parameters for the function. + /// + public struct FinalizeDeferredUserLogoutOptions + { + /// + /// The integrated platform this user belongs to. + /// + public Utf8String PlatformType { get; set; } + + /// + /// version of the integrated platform-dependent user id. + /// + public Utf8String LocalPlatformUserId { get; set; } + + /// + /// The logged-in state the user is expected to be ( or ). If the provided + /// state does not match internal EOS state, this function will return in failure. If the state is incorrect, + /// the application should wait and attempt to call the function again next tick, after both updating its own + /// state from the system and calling , allowing the SDK to update its state from the system + /// as well. + /// + public LoginStatus ExpectedLoginStatus { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct FinalizeDeferredUserLogoutOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PlatformType; + private IntPtr m_LocalPlatformUserId; + private LoginStatus m_ExpectedLoginStatus; + + public void Set(ref FinalizeDeferredUserLogoutOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.FINALIZEDEFERREDUSERLOGOUT_API_LATEST; + Helper.Set(other.PlatformType, ref m_PlatformType); + Helper.Set(other.LocalPlatformUserId, ref m_LocalPlatformUserId); + m_ExpectedLoginStatus = other.ExpectedLoginStatus; + } + + public void Dispose() + { + Helper.Dispose(ref m_PlatformType); + Helper.Dispose(ref m_LocalPlatformUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformInterface.cs new file mode 100644 index 0000000..268b903 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformInterface.cs @@ -0,0 +1,288 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + public sealed partial class IntegratedPlatformInterface : Handle + { + public IntegratedPlatformInterface() + { + } + + public IntegratedPlatformInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYUSERLOGINSTATUSCHANGED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CLEARUSERPRELOGOUTCALLBACK_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CREATEINTEGRATEDPLATFORMOPTIONSCONTAINER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int FINALIZEDEFERREDUSERLOGOUT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int INTEGRATEDPLATFORMOPTIONSCONTAINER_ADD_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int OPTIONS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SETUSERLOGINSTATUS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SETUSERPRELOGOUTCALLBACK_API_LATEST = 1; + + /// + /// Register to receive notifications when the login state of Integrated Platform users change. + /// + /// This notification will trigger any time the EOS SDK's internal login state changes for a user, including for manual login state + /// changes (when the flag is set), or automatically detected ones (when not disabled by the + /// flag). + /// + /// + /// + /// + /// + /// Data associated with what version of the notification to receive. + /// + /// + /// A context that is returned in the callback function. + /// + /// + /// The function that is called when Integrated Platform user logins happen + /// + /// + /// A valid notification that can be used to unregister for notifications, or if input was invalid. + /// + public ulong AddNotifyUserLoginStatusChanged(ref AddNotifyUserLoginStatusChangedOptions options, object clientData, OnUserLoginStatusChangedCallback callbackFunction) + { + if (callbackFunction == null) + { + throw new ArgumentNullException("callbackFunction"); + } + + var optionsInternal = default(AddNotifyUserLoginStatusChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, callbackFunction); + + var callResult = Bindings.EOS_IntegratedPlatform_AddNotifyUserLoginStatusChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnUserLoginStatusChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Clears a previously set integrated platform user logout handler for the specified integrated platform. If none is set for the specified platform, this does nothing. + /// + /// If there are any pending deferred user-logouts when a handler is cleared, those users will internally be logged-out and cached data about those users cleared before this function returns. + /// Any applicable callbacks about those users being logged-out will occur in a future call to (). + /// + /// + /// + /// Data for which integrated platform to no longer call a previously-registered callback for. + /// + public void ClearUserPreLogoutCallback(ref ClearUserPreLogoutCallbackOptions options) + { + var optionsInternal = default(ClearUserPreLogoutCallbackOptionsInternal); + optionsInternal.Set(ref options); + + Bindings.EOS_IntegratedPlatform_ClearUserPreLogoutCallback(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Creates an integrated platform options container handle. This handle can used to add multiple options to your container which will then be applied with . + /// The resulting handle must be released by calling once it has been passed to . + /// + /// + /// + /// + /// + /// structure containing operation input parameters. + /// + /// + /// to an integrated platform options container handle to be set if successful. + /// + /// + /// Success if we successfully created the integrated platform options container handle pointed at in OutIntegratedPlatformOptionsContainerHandle, or an error result if the input data was invalid. + /// + public static Result CreateIntegratedPlatformOptionsContainer(ref CreateIntegratedPlatformOptionsContainerOptions options, out IntegratedPlatformOptionsContainer outIntegratedPlatformOptionsContainerHandle) + { + var optionsInternal = default(CreateIntegratedPlatformOptionsContainerOptionsInternal); + optionsInternal.Set(ref options); + + var outIntegratedPlatformOptionsContainerHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_IntegratedPlatform_CreateIntegratedPlatformOptionsContainer(ref optionsInternal, out outIntegratedPlatformOptionsContainerHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outIntegratedPlatformOptionsContainerHandleInnerHandle, out outIntegratedPlatformOptionsContainerHandle); + + return callResult; + } + + /// + /// Complete a Logout/Login for a previously deferred Integrated Platform User Logout. + /// + /// This function allows applications to control whether an integrated-platform user actually logs out when an integrated platform's system tells the SDK a user has been logged-out. + /// This allows applications to prevent accidental logouts from destroying application user state. If a user did not mean to logout, the application should prompt and confirm whether + /// the user meant to logout, and either wait for them to confirm they meant to, or wait for them to login again, before calling this function. + /// + /// If the sign-out is intended and your application believes the user is still logged-out, the UserExpectedLoginState in Options should be . + /// If the sign-out was NOT intended and your application believes the user has logged-in again, the UserExpectedLoginState in Options should be . + /// + /// + /// + /// + /// + /// + /// Data for which integrated platform and user is now in the expected logged-in/logged-out state. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the platform user state matches the UserExpectedLoginState internally. + /// - if the Integrated Platform was not initialized on platform creation + /// - if the LocalPlatformUserId is not a valid user id for the provided Integrated Platform, or if there is no deferred logout waiting to be completed for this specified user + /// - if any other input was invalid + /// + public Result FinalizeDeferredUserLogout(ref FinalizeDeferredUserLogoutOptions options) + { + var optionsInternal = default(FinalizeDeferredUserLogoutOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_IntegratedPlatform_FinalizeDeferredUserLogout(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Unregister from Integrated Platform user login and logout notifications. + /// + /// + /// + /// The NotificationId that was returned from registering for Integrated Platform user login and logout notifications. + /// + public void RemoveNotifyUserLoginStatusChanged(ulong notificationId) + { + Bindings.EOS_IntegratedPlatform_RemoveNotifyUserLoginStatusChanged(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Sets the current login status of a specific local platform user to a new value. + /// + /// This function may only be used with an Integrated Platform initialized with the flag, otherwise + /// calls will return and a platform user's login status will be controlled by OS events. + /// + /// If the login status of a user changes, a Integrated Platform User Login Status Changed notification will fire, and depending on the state + /// of the user's login and the platform, the EOS SDK might start fetching data for the user, it may clear cached data, or it may do nothing. + /// + /// If the login status of a user is not different from a previous call to this function, the function will do nothing and return . + /// This will not trigger a call to the Integrated Platform User Login Status Changed. + /// + /// + /// + /// + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the call was successful + /// - if the Integrated Platform was not initialized on platform creation + /// - if the Integrated Platform was not initialized with the flag + /// - if the LocalPlatformUserId is not a valid user id for the provided Integrated Platform + /// - if any other input was invalid + /// + public Result SetUserLoginStatus(ref SetUserLoginStatusOptions options) + { + var optionsInternal = default(SetUserLoginStatusOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_IntegratedPlatform_SetUserLoginStatus(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Sets the integrated platform user logout handler for all integrated platforms. + /// + /// There can only be one handler set at once, attempting to set a handler when one is already set will result in a error. + /// + /// This callback handler allows applications to decide if a user is logged-out immediately when the SDK receives a system user logout event, + /// or if the application would like to give the user a chance to correct themselves and log back in if they are in a state that might be + /// disruptive if an accidental logout happens (unsaved user data, in a multiplayer match, etc). This is not supported on all integrated + /// platforms, such as those where applications automatically close when a user logs out, or those where a user is always logged-in. + /// + /// If a logout is deferred, applications are expected to eventually call when they + /// have decided a user meant to logout, or if they have logged in again. + /// + /// + /// + /// + /// + /// Data that specifies the API version. + /// + /// + /// An optional context that is returned in the callback data. + /// + /// + /// The function that will handle the callback. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the platform user logout handler was bound successfully. + /// - if there is already a platform user logout handler bound. + /// + public Result SetUserPreLogoutCallback(ref SetUserPreLogoutCallbackOptions options, object clientData, OnUserPreLogoutCallback callbackFunction) + { + if (callbackFunction == null) + { + throw new ArgumentNullException("callbackFunction"); + } + + var optionsInternal = default(SetUserPreLogoutCallbackOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, callbackFunction); + + var callResult = Bindings.EOS_IntegratedPlatform_SetUserPreLogoutCallback(InnerHandle, ref optionsInternal, clientDataPointer, OnUserPreLogoutCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformManagementFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformManagementFlags.cs new file mode 100644 index 0000000..c1d372a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformManagementFlags.cs @@ -0,0 +1,78 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// These flags are used to determine how a specific Integrated Platform will be managed. + /// + [Flags] + public enum IntegratedPlatformManagementFlags : int + { + /// + /// The integrated platform library should be disabled. This is equivalent to providing no flags. + /// + Disabled = 0x0001, + /// + /// The integrated platform library is managed by the calling application. EOS SDK should only hook into an existing instance of the integrated platform library. + /// + LibraryManagedByApplication = 0x0002, + /// + /// EOS SDK should fully manage the integrated platform library. It will do this by performing the load, initialize, tick and unload operations as necessary. + /// + LibraryManagedBySDK = 0x0004, + /// + /// The EOS SDK should not mirror the EOS rich presence with the Integrated Platform. + /// The default behavior is for EOS SDK to share local presence with the Integrated Platform. + /// + DisablePresenceMirroring = 0x0008, + /// + /// EOS SDK should not perform any sessions management through the Integrated Platform. + /// The default behavior is for EOS SDK to perform sessions management through the Integrated Platform. + /// Sessions management includes: + /// - sharing the lobby and session presence enabled games with the Integrated Platform. + /// - handling Social Overlay join button events which cannot be handled by normal processing of Epic Services. + /// - handling Social Overlay invite button events which cannot be handled by normal processing of Epic Services. + /// - handling startup requests from the Integrated Platform to immediately join a game due to in invite while offline. + /// + /// + DisableSDKManagedSessions = 0x0010, + /// + /// Some features within the EOS SDK may wish to know a preference of Integrated Platform versus EOS. + /// When determining an absolute platform preference those with this flag will be skipped. + /// The IntegratedPlatforms list is provided via the during . + /// + /// The primary usage of the and flags is with game invites + /// from the Social Overlay. + /// + /// For game invites from the Social Overlay the EOS SDK will follow these rules: + /// - If the only account ID we can determine for the target player is an EAS ID then the EOS system will be used. + /// - If the only account ID we can determine for the target player is an integrated platform ID then the integrated platform system will be used. + /// - If both are available then the EOS SDK will operate in 1 of 3 modes: + /// - no preference identified: use both the EOS and integrated platform systems. + /// - PreferEOS: Use EOS if the target is an EAS friend and is either online in EAS or not online for the integrated platform. + /// - PreferIntegrated: Use integrated platform if the target is an integrated platform friend and is either online in the integrated platform or not online for EAS. + /// - If the integrated platform fails to send then try EAS if was not already used. + /// + PreferEOSIdentity = 0x0020, + /// + /// Some features within the EOS SDK may wish to know a preference of Integrated Platform versus EOS. + /// For further explanation see . + /// + /// + PreferIntegratedIdentity = 0x0040, + /// + /// By default the EOS SDK will attempt to detect the login/logout events of local users and update local states accordingly. Setting this flag will disable this functionality, + /// relying on the application to process login/logout events and notify EOS SDK. It is not possible for the EOS SDK to do this on all platforms, making this flag not always + /// optional. + /// + /// This flag must be set to use the manual platform user login/logout functions, even on platforms where it is not possible for the EOS SDK to detect login/logout events, + /// making this a required flag for correct Integrated Platform behavior on those platforms. + /// + ApplicationManagedIdentityLogin = 0x0080 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformOptionsContainer.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformOptionsContainer.cs new file mode 100644 index 0000000..b8bfa5f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformOptionsContainer.cs @@ -0,0 +1,51 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + public sealed partial class IntegratedPlatformOptionsContainer : Handle + { + public IntegratedPlatformOptionsContainer() + { + } + + public IntegratedPlatformOptionsContainer(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Adds an integrated platform options to the container. + /// + /// + /// Object containing properties related to setting a user's Status + /// + /// + /// Success if modification was added successfully, otherwise an error code related to the problem + /// + public Result Add(ref IntegratedPlatformOptionsContainerAddOptions inOptions) + { + var inOptionsInternal = default(IntegratedPlatformOptionsContainerAddOptionsInternal); + inOptionsInternal.Set(ref inOptions); + + var callResult = Bindings.EOS_IntegratedPlatformOptionsContainer_Add(InnerHandle, ref inOptionsInternal); + + Helper.Dispose(ref inOptionsInternal); + + return callResult; + } + + /// + /// Release the memory associated with an handle. This must be called on Handles retrieved from . + /// This can be safely called on a integrated platform options container handle. + /// + /// + /// + /// The integrated platform options container handle to release. + /// + public void Release() + { + Bindings.EOS_IntegratedPlatformOptionsContainer_Release(InnerHandle); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformOptionsContainerAddOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformOptionsContainerAddOptions.cs new file mode 100644 index 0000000..27c2050 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformOptionsContainerAddOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Data for the function. + /// + public struct IntegratedPlatformOptionsContainerAddOptions + { + /// + /// The integrated platform options to add. + /// + public Options? Options { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IntegratedPlatformOptionsContainerAddOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Options; + + public void Set(ref IntegratedPlatformOptionsContainerAddOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.INTEGRATEDPLATFORMOPTIONSCONTAINER_ADD_API_LATEST; + Helper.Set(other.Options, ref m_Options); + } + + public void Dispose() + { + Helper.Dispose(ref m_Options); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformPreLogoutAction.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformPreLogoutAction.cs new file mode 100644 index 0000000..495de42 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/IntegratedPlatformPreLogoutAction.cs @@ -0,0 +1,31 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// The return value for the callback function. This signifies what the application wants to do for + /// the provided user of the integrated platform. + /// + public enum IntegratedPlatformPreLogoutAction : int + { + /// + /// The application accepts the user being logged-out. all cached data for the user will be cleared immediately and any pending + /// actions canceled. + /// + ProcessLogoutImmediately = 0, + /// + /// Instead of the user being logged-out, the SDK will wait for a call to with the + /// expected login state of the user. If the expected state matches the current state, the user will continue to be logged-in or they + /// will be logged-out, depending on the value of the expected state. This lets the application choose to ask the user if they meant + /// to logout if it wishes, possibly preventing losing any unsaved changes, such as game progress, leaving a multiplayer match, or + /// similar. + /// + /// + DeferLogout = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/OnUserLoginStatusChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/OnUserLoginStatusChangedCallback.cs new file mode 100644 index 0000000..ddbe43a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/OnUserLoginStatusChangedCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + + /// + /// The callback function for when a local integrated platform user's login status has changed. + /// + public delegate void OnUserLoginStatusChangedCallback(ref UserLoginStatusChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUserLoginStatusChangedCallbackInternal(ref UserLoginStatusChangedCallbackInfoInternal data); + + internal static class OnUserLoginStatusChangedCallbackInternalImplementation + { + private static OnUserLoginStatusChangedCallbackInternal s_Delegate; + public static OnUserLoginStatusChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUserLoginStatusChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUserLoginStatusChangedCallbackInternal))] + public static void EntryPoint(ref UserLoginStatusChangedCallbackInfoInternal data) + { + OnUserLoginStatusChangedCallback callback; + UserLoginStatusChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/OnUserPreLogoutCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/OnUserPreLogoutCallback.cs new file mode 100644 index 0000000..65e8ff5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/OnUserPreLogoutCallback.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + + /// + /// The callback function for when an integrated platform user is detected to have logged-out. + /// + public delegate IntegratedPlatformPreLogoutAction OnUserPreLogoutCallback(ref UserPreLogoutCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate IntegratedPlatformPreLogoutAction OnUserPreLogoutCallbackInternal(ref UserPreLogoutCallbackInfoInternal data); + + internal static class OnUserPreLogoutCallbackInternalImplementation + { + private static OnUserPreLogoutCallbackInternal s_Delegate; + public static OnUserPreLogoutCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUserPreLogoutCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUserPreLogoutCallbackInternal))] + public static IntegratedPlatformPreLogoutAction EntryPoint(ref UserPreLogoutCallbackInfoInternal data) + { + OnUserPreLogoutCallback callback; + UserPreLogoutCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + var callResult = callback(ref callbackInfo); + + return callResult; + } + + return default; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/Options.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/Options.cs new file mode 100644 index 0000000..1365b53 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/Options.cs @@ -0,0 +1,57 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Initialization options to use with for integrated platforms. + /// + /// + public struct Options + { + /// + /// The type to be initialized. + /// + public Utf8String Type { get; set; } + + /// + /// Identifies how to initialize the IntegratedPlatform. + /// + public IntegratedPlatformManagementFlags Flags { get; set; } + + /// + /// Options specific to this integrated platform type. + /// This parameter is either required or set to based on the platform type. + /// + /// + public IntPtr InitOptions { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Type; + private IntegratedPlatformManagementFlags m_Flags; + private IntPtr m_InitOptions; + + public void Set(ref Options other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.OPTIONS_API_LATEST; + Helper.Set(other.Type, ref m_Type); + m_Flags = other.Flags; + m_InitOptions = other.InitOptions; + } + + public void Dispose() + { + Helper.Dispose(ref m_Type); + Helper.Dispose(ref m_InitOptions); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/SetUserLoginStatusOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/SetUserLoginStatusOptions.cs new file mode 100644 index 0000000..7b085fd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/SetUserLoginStatusOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Input parameters for the function. + /// + public struct SetUserLoginStatusOptions + { + /// + /// The integrated platform this user belongs to. + /// + public Utf8String PlatformType { get; set; } + + /// + /// version of the integrated platform-dependent user id. + /// + public Utf8String LocalPlatformUserId { get; set; } + + /// + /// The login status of the provided user + /// + public LoginStatus CurrentLoginStatus { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetUserLoginStatusOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PlatformType; + private IntPtr m_LocalPlatformUserId; + private LoginStatus m_CurrentLoginStatus; + + public void Set(ref SetUserLoginStatusOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.SETUSERLOGINSTATUS_API_LATEST; + Helper.Set(other.PlatformType, ref m_PlatformType); + Helper.Set(other.LocalPlatformUserId, ref m_LocalPlatformUserId); + m_CurrentLoginStatus = other.CurrentLoginStatus; + } + + public void Dispose() + { + Helper.Dispose(ref m_PlatformType); + Helper.Dispose(ref m_LocalPlatformUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/SetUserPreLogoutCallbackOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/SetUserPreLogoutCallbackOptions.cs new file mode 100644 index 0000000..49ad5df --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/SetUserPreLogoutCallbackOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Input parameters for the function. + /// + public struct SetUserPreLogoutCallbackOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetUserPreLogoutCallbackOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref SetUserPreLogoutCallbackOptions other) + { + Dispose(); + + m_ApiVersion = IntegratedPlatformInterface.SETUSERPRELOGOUTCALLBACK_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/UserLoginStatusChangedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/UserLoginStatusChangedCallbackInfo.cs new file mode 100644 index 0000000..80395a0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/UserLoginStatusChangedCallbackInfo.cs @@ -0,0 +1,102 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Data about which integrated platform and which user that had a login status change and what the login status changed to. + /// + public struct UserLoginStatusChangedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The integrated platform of the local platform user. + /// + public Utf8String PlatformType { get; set; } + + /// + /// version of platform's user id. + /// + public Utf8String LocalPlatformUserId { get; set; } + + /// + /// The Epic Games Account ID associated with this Integrated Platform's User (if there is one) + /// + public EpicAccountId AccountId { get; set; } + + /// + /// The EOS Product User ID associated with this Integrated Platform's User (if there is one) + /// + public ProductUserId ProductUserId { get; set; } + + /// + /// The login status prior to this change. + /// + public LoginStatus PreviousLoginStatus { get; set; } + + /// + /// The login status at the time of this notification. + /// + public LoginStatus CurrentLoginStatus { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UserLoginStatusChangedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_PlatformType; + private IntPtr m_LocalPlatformUserId; + private IntPtr m_AccountId; + private IntPtr m_ProductUserId; + private LoginStatus m_PreviousLoginStatus; + private LoginStatus m_CurrentLoginStatus; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UserLoginStatusChangedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String PlatformTypePublic; + Helper.Get(m_PlatformType, out PlatformTypePublic); + other.PlatformType = PlatformTypePublic; + Utf8String LocalPlatformUserIdPublic; + Helper.Get(m_LocalPlatformUserId, out LocalPlatformUserIdPublic); + other.LocalPlatformUserId = LocalPlatformUserIdPublic; + EpicAccountId AccountIdPublic; + Helper.Get(m_AccountId, out AccountIdPublic); + other.AccountId = AccountIdPublic; + ProductUserId ProductUserIdPublic; + Helper.Get(m_ProductUserId, out ProductUserIdPublic); + other.ProductUserId = ProductUserIdPublic; + other.PreviousLoginStatus = m_PreviousLoginStatus; + other.CurrentLoginStatus = m_CurrentLoginStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/UserPreLogoutCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/UserPreLogoutCallbackInfo.cs new file mode 100644 index 0000000..1d07a29 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/IntegratedPlatform/UserPreLogoutCallbackInfo.cs @@ -0,0 +1,89 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.IntegratedPlatform +{ + /// + /// Data passed to the application in the function. This contains which user and associated + /// Integrated Platform that was detected as logged-out. + /// + public struct UserPreLogoutCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The integrated platform the local user logged-out of. + /// + public Utf8String PlatformType { get; set; } + + /// + /// version of platform-dependent user id. + /// + public Utf8String LocalPlatformUserId { get; set; } + + /// + /// The Epic Games Account ID associated with this Integrated Platform's User (if there is one) + /// + public EpicAccountId AccountId { get; set; } + + /// + /// The EOS Product User ID associated with this Integrated Platform's User (if there is one) + /// + public ProductUserId ProductUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UserPreLogoutCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_PlatformType; + private IntPtr m_LocalPlatformUserId; + private IntPtr m_AccountId; + private IntPtr m_ProductUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UserPreLogoutCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String PlatformTypePublic; + Helper.Get(m_PlatformType, out PlatformTypePublic); + other.PlatformType = PlatformTypePublic; + Utf8String LocalPlatformUserIdPublic; + Helper.Get(m_LocalPlatformUserId, out LocalPlatformUserIdPublic); + other.LocalPlatformUserId = LocalPlatformUserIdPublic; + EpicAccountId AccountIdPublic; + Helper.Get(m_AccountId, out AccountIdPublic); + other.AccountId = AccountIdPublic; + ProductUserId ProductUserIdPublic; + Helper.Get(m_ProductUserId, out ProductUserIdPublic); + other.ProductUserId = ProductUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/AddNotifyPermissionsUpdateReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/AddNotifyPermissionsUpdateReceivedOptions.cs new file mode 100644 index 0000000..87ebe80 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/AddNotifyPermissionsUpdateReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyPermissionsUpdateReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPermissionsUpdateReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyPermissionsUpdateReceivedOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.ADDNOTIFYPERMISSIONSUPDATERECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CopyPermissionByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CopyPermissionByIndexOptions.cs new file mode 100644 index 0000000..e6260dc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CopyPermissionByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct CopyPermissionByIndexOptions + { + /// + /// The Product User ID of the local user whose permissions are being accessed + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The index of the permission to get. + /// + public uint Index { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyPermissionByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_Index; + + public void Set(ref CopyPermissionByIndexOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.COPYPERMISSIONBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Index = other.Index; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CreateUserCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CreateUserCallbackInfo.cs new file mode 100644 index 0000000..0b29844 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CreateUserCallbackInfo.cs @@ -0,0 +1,86 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct CreateUserCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user that created a KWS entry + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// KWS UserId created + /// + public Utf8String KWSUserId { get; set; } + + /// + /// Is this user a minor + /// + public bool IsMinor { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateUserCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_KWSUserId; + private int m_IsMinor; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out CreateUserCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String KWSUserIdPublic; + Helper.Get(m_KWSUserId, out KWSUserIdPublic); + other.KWSUserId = KWSUserIdPublic; + bool IsMinorPublic; + Helper.Get(m_IsMinor, out IsMinorPublic); + other.IsMinor = IsMinorPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CreateUserOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CreateUserOptions.cs new file mode 100644 index 0000000..32a82fa --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/CreateUserOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct CreateUserOptions + { + /// + /// Local user creating a KWS entry + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Date of birth in ISO8601 form (YYYY-MM-DD) + /// + public Utf8String DateOfBirth { get; set; } + + /// + /// Parent email + /// + public Utf8String ParentEmail { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateUserOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_DateOfBirth; + private IntPtr m_ParentEmail; + + public void Set(ref CreateUserOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.CREATEUSER_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.DateOfBirth, ref m_DateOfBirth); + Helper.Set(other.ParentEmail, ref m_ParentEmail); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_DateOfBirth); + Helper.Dispose(ref m_ParentEmail); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/GetPermissionByKeyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/GetPermissionByKeyOptions.cs new file mode 100644 index 0000000..4564a8d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/GetPermissionByKeyOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct GetPermissionByKeyOptions + { + /// + /// The Product User ID of the local user getting permissions + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Permission name to query + /// + public Utf8String Key { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetPermissionByKeyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Key; + + public void Set(ref GetPermissionByKeyOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.GETPERMISSIONBYKEY_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Key, ref m_Key); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Key); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/GetPermissionsCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/GetPermissionsCountOptions.cs new file mode 100644 index 0000000..a6c2c46 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/GetPermissionsCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct GetPermissionsCountOptions + { + /// + /// The Product User ID of the local user whose permissions are being accessed + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetPermissionsCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetPermissionsCountOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.GETPERMISSIONSCOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/KWSInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/KWSInterface.cs new file mode 100644 index 0000000..bd9497e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/KWSInterface.cs @@ -0,0 +1,401 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.KWS +{ + public sealed partial class KWSInterface : Handle + { + public KWSInterface() + { + } + + public KWSInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPERMISSIONSUPDATERECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYPERMISSIONBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CREATEUSER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPERMISSIONBYKEY_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPERMISSIONSCOUNT_API_LATEST = 1; + /// + /// Maximum number of permissions that may be requested + /// + public const int MAX_PERMISSIONS = 16; + /// + /// Maximum size of the name for the permission + /// + public const int MAX_PERMISSION_LENGTH = 32; + /// + /// The most recent version of the API. + /// + public const int PERMISSIONSTATUS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYAGEGATE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYPERMISSIONS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int REQUESTPERMISSIONS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UPDATEPARENTEMAIL_API_LATEST = 1; + + /// + /// This interface is not available for general access at this time. + /// + /// Register to receive notifications about KWS permissions changes for any logged in local users + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyPermissionsUpdateReceived(ref AddNotifyPermissionsUpdateReceivedOptions options, object clientData, OnPermissionsUpdateReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyPermissionsUpdateReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_KWS_AddNotifyPermissionsUpdateReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnPermissionsUpdateReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// This interface is not available for general access at this time. + /// + /// Fetch a permission for a given by index for a given local user + /// + /// + /// + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// the permission for the given index, if it exists and is valid, use when finished + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the permission state is known for the given user and index + /// - if the user is not found or the index is invalid + /// + public Result CopyPermissionByIndex(ref CopyPermissionByIndexOptions options, out PermissionStatus? outPermission) + { + var optionsInternal = default(CopyPermissionByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outPermissionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_KWS_CopyPermissionByIndex(InnerHandle, ref optionsInternal, out outPermissionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outPermissionPointer, out outPermission); + if (outPermissionPointer != IntPtr.Zero) + { + Bindings.EOS_KWS_PermissionStatus_Release(outPermissionPointer); + } + + return callResult; + } + + /// + /// This interface is not available for general access at this time. + /// + /// Create an account with Kids Web Services and associate it with the local Product User ID + /// + /// + /// + /// + /// options required for creating an account such as the local users Product User ID, their data of birth, and parental contact information + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + public void CreateUser(ref CreateUserOptions options, object clientData, OnCreateUserCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(CreateUserOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_KWS_CreateUser(InnerHandle, ref optionsInternal, clientDataPointer, OnCreateUserCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// This interface is not available for general access at this time. + /// + /// Fetch the state of a given permission that are cached for a given local user. + /// + /// + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// the permission for the given key, if it exists and is valid + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the permission state is known for the given user and key + /// - if the user or the permission is not found + /// + public Result GetPermissionByKey(ref GetPermissionByKeyOptions options, out KWSPermissionStatus outPermission) + { + var optionsInternal = default(GetPermissionByKeyOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_KWS_GetPermissionByKey(InnerHandle, ref optionsInternal, out outPermission); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// This interface is not available for general access at this time. + /// + /// Fetch the number of permissions found for a given local user + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// the number of permissions associated with the given user + /// + public int GetPermissionsCount(ref GetPermissionsCountOptions options) + { + var optionsInternal = default(GetPermissionsCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_KWS_GetPermissionsCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// This interface is not available for general access at this time. + /// + /// Query the client's country and age permissions for client side reasoning about the possible need enforce age based restrictions + /// + /// + /// + /// + /// options required for interacting with the age gate system + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + public void QueryAgeGate(ref QueryAgeGateOptions options, object clientData, OnQueryAgeGateCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryAgeGateOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_KWS_QueryAgeGate(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryAgeGateCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// This interface is not available for general access at this time. + /// + /// Query the current state of permissions for a given local Product User ID + /// + /// + /// + /// + /// options required for querying permissions such as the local users Product User ID + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + public void QueryPermissions(ref QueryPermissionsOptions options, object clientData, OnQueryPermissionsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryPermissionsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_KWS_QueryPermissions(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryPermissionsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// This interface is not available for general access at this time. + /// + /// Unregister from receiving notifications about KWS permissions related to logged in users + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyPermissionsUpdateReceived(ulong inId) + { + Bindings.EOS_KWS_RemoveNotifyPermissionsUpdateReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// This interface is not available for general access at this time. + /// + /// Request new permissions for a given local Product User ID + /// + /// + /// + /// + /// options required for updating permissions such as the new list of permissions + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + public void RequestPermissions(ref RequestPermissionsOptions options, object clientData, OnRequestPermissionsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(RequestPermissionsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_KWS_RequestPermissions(InnerHandle, ref optionsInternal, clientDataPointer, OnRequestPermissionsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// This interface is not available for general access at this time. + /// + /// Update the parent contact information for a given local Product User ID + /// + /// + /// + /// + /// options required for updating the contact information such as the new email address + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the operation completes, either successfully or in error + /// + public void UpdateParentEmail(ref UpdateParentEmailOptions options, object clientData, OnUpdateParentEmailCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(UpdateParentEmailOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_KWS_UpdateParentEmail(InnerHandle, ref optionsInternal, clientDataPointer, OnUpdateParentEmailCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/KWSPermissionStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/KWSPermissionStatus.cs new file mode 100644 index 0000000..c8bcba1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/KWSPermissionStatus.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// An enumeration of the different permission statuses. + /// + public enum KWSPermissionStatus : int + { + /// + /// Permission has been granted + /// + Granted = 0, + /// + /// Permission has been rejected + /// + Rejected = 1, + /// + /// Permission is still pending approval + /// + Pending = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnCreateUserCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnCreateUserCallback.cs new file mode 100644 index 0000000..2a1e87f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnCreateUserCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnCreateUserCallback(ref CreateUserCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCreateUserCallbackInternal(ref CreateUserCallbackInfoInternal data); + + internal static class OnCreateUserCallbackInternalImplementation + { + private static OnCreateUserCallbackInternal s_Delegate; + public static OnCreateUserCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCreateUserCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCreateUserCallbackInternal))] + public static void EntryPoint(ref CreateUserCallbackInfoInternal data) + { + OnCreateUserCallback callback; + CreateUserCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnPermissionsUpdateReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnPermissionsUpdateReceivedCallback.cs new file mode 100644 index 0000000..22c42b4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnPermissionsUpdateReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnPermissionsUpdateReceivedCallback(ref PermissionsUpdateReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPermissionsUpdateReceivedCallbackInternal(ref PermissionsUpdateReceivedCallbackInfoInternal data); + + internal static class OnPermissionsUpdateReceivedCallbackInternalImplementation + { + private static OnPermissionsUpdateReceivedCallbackInternal s_Delegate; + public static OnPermissionsUpdateReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPermissionsUpdateReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPermissionsUpdateReceivedCallbackInternal))] + public static void EntryPoint(ref PermissionsUpdateReceivedCallbackInfoInternal data) + { + OnPermissionsUpdateReceivedCallback callback; + PermissionsUpdateReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnQueryAgeGateCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnQueryAgeGateCallback.cs new file mode 100644 index 0000000..6f0fcc4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnQueryAgeGateCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryAgeGateCallback(ref QueryAgeGateCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryAgeGateCallbackInternal(ref QueryAgeGateCallbackInfoInternal data); + + internal static class OnQueryAgeGateCallbackInternalImplementation + { + private static OnQueryAgeGateCallbackInternal s_Delegate; + public static OnQueryAgeGateCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryAgeGateCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryAgeGateCallbackInternal))] + public static void EntryPoint(ref QueryAgeGateCallbackInfoInternal data) + { + OnQueryAgeGateCallback callback; + QueryAgeGateCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnQueryPermissionsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnQueryPermissionsCallback.cs new file mode 100644 index 0000000..cc1a4bc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnQueryPermissionsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryPermissionsCallback(ref QueryPermissionsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryPermissionsCallbackInternal(ref QueryPermissionsCallbackInfoInternal data); + + internal static class OnQueryPermissionsCallbackInternalImplementation + { + private static OnQueryPermissionsCallbackInternal s_Delegate; + public static OnQueryPermissionsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryPermissionsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryPermissionsCallbackInternal))] + public static void EntryPoint(ref QueryPermissionsCallbackInfoInternal data) + { + OnQueryPermissionsCallback callback; + QueryPermissionsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnRequestPermissionsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnRequestPermissionsCallback.cs new file mode 100644 index 0000000..5960fb1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnRequestPermissionsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnRequestPermissionsCallback(ref RequestPermissionsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRequestPermissionsCallbackInternal(ref RequestPermissionsCallbackInfoInternal data); + + internal static class OnRequestPermissionsCallbackInternalImplementation + { + private static OnRequestPermissionsCallbackInternal s_Delegate; + public static OnRequestPermissionsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRequestPermissionsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRequestPermissionsCallbackInternal))] + public static void EntryPoint(ref RequestPermissionsCallbackInfoInternal data) + { + OnRequestPermissionsCallback callback; + RequestPermissionsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnUpdateParentEmailCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnUpdateParentEmailCallback.cs new file mode 100644 index 0000000..ce60a70 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/OnUpdateParentEmailCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnUpdateParentEmailCallback(ref UpdateParentEmailCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUpdateParentEmailCallbackInternal(ref UpdateParentEmailCallbackInfoInternal data); + + internal static class OnUpdateParentEmailCallbackInternalImplementation + { + private static OnUpdateParentEmailCallbackInternal s_Delegate; + public static OnUpdateParentEmailCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUpdateParentEmailCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUpdateParentEmailCallbackInternal))] + public static void EntryPoint(ref UpdateParentEmailCallbackInfoInternal data) + { + OnUpdateParentEmailCallback callback; + UpdateParentEmailCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/PermissionStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/PermissionStatus.cs new file mode 100644 index 0000000..0cd758c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/PermissionStatus.cs @@ -0,0 +1,42 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Contains information about a KWS permission status. + /// + public struct PermissionStatus + { + /// + /// Name of the permission + /// + public Utf8String Name { get; set; } + + /// + /// Status of the permission + /// + public KWSPermissionStatus Status { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PermissionStatusInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_Name; + private KWSPermissionStatus m_Status; + + public void Get(out PermissionStatus other) + { + other = default; + + Utf8String NamePublic; + Helper.Get(m_Name, out NamePublic); + other.Name = NamePublic; + other.Status = m_Status; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/PermissionsUpdateReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/PermissionsUpdateReceivedCallbackInfo.cs new file mode 100644 index 0000000..bd0ee16 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/PermissionsUpdateReceivedCallbackInfo.cs @@ -0,0 +1,97 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Output parameters for the Function. + /// + public struct PermissionsUpdateReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Recipient Local user id + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Recipient's associated KWS UserId + /// + public Utf8String KWSUserId { get; set; } + + /// + /// Date of birth in ISO8601 form (YYYY-MM-DD) + /// + public Utf8String DateOfBirth { get; set; } + + /// + /// Is this user a minor + /// + public bool IsMinor { get; set; } + + /// + /// Parent email. This value may be set to an empty if the originally registered email recipient declined to be the right person to give consent. + /// + public Utf8String ParentEmail { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PermissionsUpdateReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_KWSUserId; + private IntPtr m_DateOfBirth; + private int m_IsMinor; + private IntPtr m_ParentEmail; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out PermissionsUpdateReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String KWSUserIdPublic; + Helper.Get(m_KWSUserId, out KWSUserIdPublic); + other.KWSUserId = KWSUserIdPublic; + Utf8String DateOfBirthPublic; + Helper.Get(m_DateOfBirth, out DateOfBirthPublic); + other.DateOfBirth = DateOfBirthPublic; + bool IsMinorPublic; + Helper.Get(m_IsMinor, out IsMinorPublic); + other.IsMinor = IsMinorPublic; + Utf8String ParentEmailPublic; + Helper.Get(m_ParentEmail, out ParentEmailPublic); + other.ParentEmail = ParentEmailPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryAgeGateCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryAgeGateCallbackInfo.cs new file mode 100644 index 0000000..b542fa7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryAgeGateCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct QueryAgeGateCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Country code determined for this request based on the local client's ip address that the backend resolves + /// + public Utf8String CountryCode { get; set; } + + /// + /// Age of consent in the given country + /// + public uint AgeOfConsent { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryAgeGateCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_CountryCode; + private uint m_AgeOfConsent; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryAgeGateCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String CountryCodePublic; + Helper.Get(m_CountryCode, out CountryCodePublic); + other.CountryCode = CountryCodePublic; + other.AgeOfConsent = m_AgeOfConsent; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryAgeGateOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryAgeGateOptions.cs new file mode 100644 index 0000000..c5818e5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryAgeGateOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct QueryAgeGateOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryAgeGateOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref QueryAgeGateOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.QUERYAGEGATE_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryPermissionsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryPermissionsCallbackInfo.cs new file mode 100644 index 0000000..cbffe82 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryPermissionsCallbackInfo.cs @@ -0,0 +1,104 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct QueryPermissionsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user querying their permissions + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// KWS UserId created + /// + public Utf8String KWSUserId { get; set; } + + /// + /// Date of birth in ISO8601 form (YYYY-MM-DD) + /// + public Utf8String DateOfBirth { get; set; } + + /// + /// Is this user a minor + /// + public bool IsMinor { get; set; } + + /// + /// Parent email. This value may be set to an empty if the originally registered email recipient declined to be the right person to give consent. + /// + public Utf8String ParentEmail { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryPermissionsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_KWSUserId; + private IntPtr m_DateOfBirth; + private int m_IsMinor; + private IntPtr m_ParentEmail; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryPermissionsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String KWSUserIdPublic; + Helper.Get(m_KWSUserId, out KWSUserIdPublic); + other.KWSUserId = KWSUserIdPublic; + Utf8String DateOfBirthPublic; + Helper.Get(m_DateOfBirth, out DateOfBirthPublic); + other.DateOfBirth = DateOfBirthPublic; + bool IsMinorPublic; + Helper.Get(m_IsMinor, out IsMinorPublic); + other.IsMinor = IsMinorPublic; + Utf8String ParentEmailPublic; + Helper.Get(m_ParentEmail, out ParentEmailPublic); + other.ParentEmail = ParentEmailPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryPermissionsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryPermissionsOptions.cs new file mode 100644 index 0000000..0a51435 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/QueryPermissionsOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct QueryPermissionsOptions + { + /// + /// Local user querying their permissions + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryPermissionsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref QueryPermissionsOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.QUERYPERMISSIONS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/RequestPermissionsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/RequestPermissionsCallbackInfo.cs new file mode 100644 index 0000000..cf1d411 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/RequestPermissionsCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct RequestPermissionsCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user requesting new permissions + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RequestPermissionsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RequestPermissionsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/RequestPermissionsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/RequestPermissionsOptions.cs new file mode 100644 index 0000000..047c0d9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/RequestPermissionsOptions.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct RequestPermissionsOptions + { + /// + /// Local user requesting new permissions + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Names of the permissions to request (Setup with KWS) + /// + public Utf8String[] PermissionKeys { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RequestPermissionsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_PermissionKeyCount; + private IntPtr m_PermissionKeys; + + public void Set(ref RequestPermissionsOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.REQUESTPERMISSIONS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.PermissionKeys, ref m_PermissionKeys, out m_PermissionKeyCount, true); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_PermissionKeys); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/UpdateParentEmailCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/UpdateParentEmailCallbackInfo.cs new file mode 100644 index 0000000..e314b37 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/UpdateParentEmailCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct UpdateParentEmailCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Local user updating their parental email + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateParentEmailCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UpdateParentEmailCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/KWS/UpdateParentEmailOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/UpdateParentEmailOptions.cs new file mode 100644 index 0000000..6d5b4ce --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/KWS/UpdateParentEmailOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.KWS +{ + /// + /// Input parameters for the function. + /// + public struct UpdateParentEmailOptions + { + /// + /// Local user updating parental information + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// New parent email + /// + public Utf8String ParentEmail { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateParentEmailOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_ParentEmail; + + public void Set(ref UpdateParentEmailOptions other) + { + Dispose(); + + m_ApiVersion = KWSInterface.UPDATEPARENTEMAIL_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.ParentEmail, ref m_ParentEmail); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_ParentEmail); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardDefinitionByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardDefinitionByIndexOptions.cs new file mode 100644 index 0000000..70f38b7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardDefinitionByIndexOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct CopyLeaderboardDefinitionByIndexOptions + { + /// + /// Index of the leaderboard definition to retrieve from the cache + /// + public uint LeaderboardIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLeaderboardDefinitionByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_LeaderboardIndex; + + public void Set(ref CopyLeaderboardDefinitionByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.COPYLEADERBOARDDEFINITIONBYINDEX_API_LATEST; + m_LeaderboardIndex = other.LeaderboardIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardDefinitionByLeaderboardIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardDefinitionByLeaderboardIdOptions.cs new file mode 100644 index 0000000..93456e2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardDefinitionByLeaderboardIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct CopyLeaderboardDefinitionByLeaderboardIdOptions + { + /// + /// The ID of the leaderboard whose definition you want to copy from the cache + /// + public Utf8String LeaderboardId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLeaderboardDefinitionByLeaderboardIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LeaderboardId; + + public void Set(ref CopyLeaderboardDefinitionByLeaderboardIdOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.COPYLEADERBOARDDEFINITIONBYLEADERBOARDID_API_LATEST; + Helper.Set(other.LeaderboardId, ref m_LeaderboardId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LeaderboardId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardRecordByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardRecordByIndexOptions.cs new file mode 100644 index 0000000..14d67f5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardRecordByIndexOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct CopyLeaderboardRecordByIndexOptions + { + /// + /// Index of the leaderboard record to retrieve from the cache + /// + public uint LeaderboardRecordIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLeaderboardRecordByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_LeaderboardRecordIndex; + + public void Set(ref CopyLeaderboardRecordByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.COPYLEADERBOARDRECORDBYINDEX_API_LATEST; + m_LeaderboardRecordIndex = other.LeaderboardRecordIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardRecordByUserIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardRecordByUserIdOptions.cs new file mode 100644 index 0000000..ae543df --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardRecordByUserIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct CopyLeaderboardRecordByUserIdOptions + { + /// + /// Leaderboard data will be copied from the cache if it relates to the user matching this Product User ID + /// + public ProductUserId UserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLeaderboardRecordByUserIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + + public void Set(ref CopyLeaderboardRecordByUserIdOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.COPYLEADERBOARDRECORDBYUSERID_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardUserScoreByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardUserScoreByIndexOptions.cs new file mode 100644 index 0000000..6df7481 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardUserScoreByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct CopyLeaderboardUserScoreByIndexOptions + { + /// + /// Index of the sorted leaderboard user score to retrieve from the cache. + /// + public uint LeaderboardUserScoreIndex { get; set; } + + /// + /// Name of the stat used to rank the leaderboard. + /// + public Utf8String StatName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLeaderboardUserScoreByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_LeaderboardUserScoreIndex; + private IntPtr m_StatName; + + public void Set(ref CopyLeaderboardUserScoreByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.COPYLEADERBOARDUSERSCOREBYINDEX_API_LATEST; + m_LeaderboardUserScoreIndex = other.LeaderboardUserScoreIndex; + Helper.Set(other.StatName, ref m_StatName); + } + + public void Dispose() + { + Helper.Dispose(ref m_StatName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardUserScoreByUserIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardUserScoreByUserIdOptions.cs new file mode 100644 index 0000000..2fff013 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/CopyLeaderboardUserScoreByUserIdOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct CopyLeaderboardUserScoreByUserIdOptions + { + /// + /// The Product User ID to look for when copying leaderboard score data from the cache + /// + public ProductUserId UserId { get; set; } + + /// + /// The name of the stat that is used to rank this leaderboard + /// + public Utf8String StatName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLeaderboardUserScoreByUserIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private IntPtr m_StatName; + + public void Set(ref CopyLeaderboardUserScoreByUserIdOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.COPYLEADERBOARDUSERSCOREBYUSERID_API_LATEST; + Helper.Set(other.UserId, ref m_UserId); + Helper.Set(other.StatName, ref m_StatName); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserId); + Helper.Dispose(ref m_StatName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/Definition.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/Definition.cs new file mode 100644 index 0000000..620edea --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/Definition.cs @@ -0,0 +1,69 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Contains information about a single leaderboard definition + /// + public struct Definition + { + /// + /// Unique ID to identify leaderboard. + /// + public Utf8String LeaderboardId { get; set; } + + /// + /// Name of stat used to rank leaderboard. + /// + public Utf8String StatName { get; set; } + + /// + /// Aggregation used to sort leaderboard. + /// + public LeaderboardAggregation Aggregation { get; set; } + + /// + /// The POSIX timestamp for the start time, or . + /// + public DateTimeOffset? StartTime { get; set; } + + /// + /// The POSIX timestamp for the end time, or . + /// + public DateTimeOffset? EndTime { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DefinitionInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_LeaderboardId; + private IntPtr m_StatName; + private LeaderboardAggregation m_Aggregation; + private long m_StartTime; + private long m_EndTime; + + public void Get(out Definition other) + { + other = default; + + Utf8String LeaderboardIdPublic; + Helper.Get(m_LeaderboardId, out LeaderboardIdPublic); + other.LeaderboardId = LeaderboardIdPublic; + Utf8String StatNamePublic; + Helper.Get(m_StatName, out StatNamePublic); + other.StatName = StatNamePublic; + other.Aggregation = m_Aggregation; + DateTimeOffset? StartTimePublic; + Helper.Get(m_StartTime, out StartTimePublic); + other.StartTime = StartTimePublic; + DateTimeOffset? EndTimePublic; + Helper.Get(m_EndTime, out EndTimePublic); + other.EndTime = EndTimePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardDefinitionCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardDefinitionCountOptions.cs new file mode 100644 index 0000000..0f7aa11 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardDefinitionCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct GetLeaderboardDefinitionCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetLeaderboardDefinitionCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetLeaderboardDefinitionCountOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.GETLEADERBOARDDEFINITIONCOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardRecordCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardRecordCountOptions.cs new file mode 100644 index 0000000..dff8113 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardRecordCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct GetLeaderboardRecordCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetLeaderboardRecordCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetLeaderboardRecordCountOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.GETLEADERBOARDRECORDCOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardUserScoreCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardUserScoreCountOptions.cs new file mode 100644 index 0000000..8cff4c3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/GetLeaderboardUserScoreCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct GetLeaderboardUserScoreCountOptions + { + /// + /// Name of stat used to rank leaderboard. + /// + public Utf8String StatName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetLeaderboardUserScoreCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_StatName; + + public void Set(ref GetLeaderboardUserScoreCountOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.GETLEADERBOARDUSERSCORECOUNT_API_LATEST; + Helper.Set(other.StatName, ref m_StatName); + } + + public void Dispose() + { + Helper.Dispose(ref m_StatName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardAggregation.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardAggregation.cs new file mode 100644 index 0000000..5574db2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardAggregation.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// An enumeration of the different leaderboard aggregation types. + /// + public enum LeaderboardAggregation : int + { + /// + /// Minimum + /// + Min = 0, + /// + /// Maximum + /// + Max = 1, + /// + /// Sum + /// + Sum = 2, + /// + /// Latest + /// + Latest = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardRecord.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardRecord.cs new file mode 100644 index 0000000..32be62b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardRecord.cs @@ -0,0 +1,58 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Contains information about a single leaderboard record + /// + public struct LeaderboardRecord + { + /// + /// The Product User ID associated with this record + /// + public ProductUserId UserId { get; set; } + + /// + /// Sorted position on leaderboard + /// + public uint Rank { get; set; } + + /// + /// Leaderboard score + /// + public int Score { get; set; } + + /// + /// The latest display name seen for the user since they last time logged in. This is empty if the user does not have a display name set. + /// + public Utf8String UserDisplayName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaderboardRecordInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private uint m_Rank; + private int m_Score; + private IntPtr m_UserDisplayName; + + public void Get(out LeaderboardRecord other) + { + other = default; + + ProductUserId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + other.Rank = m_Rank; + other.Score = m_Score; + Utf8String UserDisplayNamePublic; + Helper.Get(m_UserDisplayName, out UserDisplayNamePublic); + other.UserDisplayName = UserDisplayNamePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardUserScore.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardUserScore.cs new file mode 100644 index 0000000..1c76f93 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardUserScore.cs @@ -0,0 +1,42 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Contains information about a single leaderboard user score + /// + public struct LeaderboardUserScore + { + /// + /// The Product User ID of the user who got this score + /// + public ProductUserId UserId { get; set; } + + /// + /// Leaderboard score + /// + public int Score { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaderboardUserScoreInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private int m_Score; + + public void Get(out LeaderboardUserScore other) + { + other = default; + + ProductUserId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + other.Score = m_Score; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardsInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardsInterface.cs new file mode 100644 index 0000000..1ca1c06 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/LeaderboardsInterface.cs @@ -0,0 +1,492 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Leaderboards +{ + public sealed partial class LeaderboardsInterface : Handle + { + public LeaderboardsInterface() + { + } + + public LeaderboardsInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the struct. + /// + public const int COPYLEADERBOARDDEFINITIONBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int COPYLEADERBOARDDEFINITIONBYLEADERBOARDID_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int COPYLEADERBOARDRECORDBYINDEX_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int COPYLEADERBOARDRECORDBYUSERID_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int COPYLEADERBOARDUSERSCOREBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int COPYLEADERBOARDUSERSCOREBYUSERID_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int DEFINITION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETLEADERBOARDDEFINITIONCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETLEADERBOARDRECORDCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETLEADERBOARDUSERSCORECOUNT_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int LEADERBOARDRECORD_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int LEADERBOARDUSERSCORE_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int QUERYLEADERBOARDDEFINITIONS_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int QUERYLEADERBOARDRANKS_API_LATEST = 2; + /// + /// The most recent version of the struct. + /// + public const int QUERYLEADERBOARDUSERSCORES_API_LATEST = 2; + /// + /// Timestamp value representing an undefined time for . + /// + public const int TIME_UNDEFINED = -1; + /// + /// The most recent version of the struct. + /// + public const int USERSCORESQUERYSTATINFO_API_LATEST = 1; + + /// + /// Fetches a leaderboard definition from the cache using an index. + /// + /// + /// + /// + /// + /// Structure containing the index being accessed. + /// + /// + /// The leaderboard data for the given index, if it exists and is valid, use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLeaderboardDefinition + /// - if you pass a for the out parameter + /// - if the leaderboard is not found + /// + public Result CopyLeaderboardDefinitionByIndex(ref CopyLeaderboardDefinitionByIndexOptions options, out Definition? outLeaderboardDefinition) + { + var optionsInternal = default(CopyLeaderboardDefinitionByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outLeaderboardDefinitionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Leaderboards_CopyLeaderboardDefinitionByIndex(InnerHandle, ref optionsInternal, out outLeaderboardDefinitionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLeaderboardDefinitionPointer, out outLeaderboardDefinition); + if (outLeaderboardDefinitionPointer != IntPtr.Zero) + { + Bindings.EOS_Leaderboards_Definition_Release(outLeaderboardDefinitionPointer); + } + + return callResult; + } + + /// + /// Fetches a leaderboard definition from the cache using a leaderboard ID. + /// + /// + /// + /// + /// + /// Structure containing the leaderboard ID being accessed. + /// + /// + /// The leaderboard definition for the given leaderboard ID, if it exists and is valid, use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLeaderboardDefinition + /// - if you pass a for the out parameter + /// - if the leaderboard data is not found + /// + public Result CopyLeaderboardDefinitionByLeaderboardId(ref CopyLeaderboardDefinitionByLeaderboardIdOptions options, out Definition? outLeaderboardDefinition) + { + var optionsInternal = default(CopyLeaderboardDefinitionByLeaderboardIdOptionsInternal); + optionsInternal.Set(ref options); + + var outLeaderboardDefinitionPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Leaderboards_CopyLeaderboardDefinitionByLeaderboardId(InnerHandle, ref optionsInternal, out outLeaderboardDefinitionPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLeaderboardDefinitionPointer, out outLeaderboardDefinition); + if (outLeaderboardDefinitionPointer != IntPtr.Zero) + { + Bindings.EOS_Leaderboards_Definition_Release(outLeaderboardDefinitionPointer); + } + + return callResult; + } + + /// + /// Fetches a leaderboard record from a given index. + /// + /// + /// + /// + /// + /// Structure containing the index being accessed. + /// + /// + /// The leaderboard record for the given index, if it exists and is valid, use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the leaderboard record is available and passed out in OutLeaderboardRecord + /// - if you pass a for the out parameter + /// - if the leaderboard is not found + /// + public Result CopyLeaderboardRecordByIndex(ref CopyLeaderboardRecordByIndexOptions options, out LeaderboardRecord? outLeaderboardRecord) + { + var optionsInternal = default(CopyLeaderboardRecordByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outLeaderboardRecordPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Leaderboards_CopyLeaderboardRecordByIndex(InnerHandle, ref optionsInternal, out outLeaderboardRecordPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLeaderboardRecordPointer, out outLeaderboardRecord); + if (outLeaderboardRecordPointer != IntPtr.Zero) + { + Bindings.EOS_Leaderboards_LeaderboardRecord_Release(outLeaderboardRecordPointer); + } + + return callResult; + } + + /// + /// Fetches a leaderboard record from a given user ID. + /// + /// + /// + /// + /// + /// Structure containing the user ID being accessed. + /// + /// + /// The leaderboard record for the given user ID, if it exists and is valid, use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the leaderboard record is available and passed out in OutLeaderboardRecord + /// - if you pass a for the out parameter + /// - if the leaderboard data is not found + /// + public Result CopyLeaderboardRecordByUserId(ref CopyLeaderboardRecordByUserIdOptions options, out LeaderboardRecord? outLeaderboardRecord) + { + var optionsInternal = default(CopyLeaderboardRecordByUserIdOptionsInternal); + optionsInternal.Set(ref options); + + var outLeaderboardRecordPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Leaderboards_CopyLeaderboardRecordByUserId(InnerHandle, ref optionsInternal, out outLeaderboardRecordPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLeaderboardRecordPointer, out outLeaderboardRecord); + if (outLeaderboardRecordPointer != IntPtr.Zero) + { + Bindings.EOS_Leaderboards_LeaderboardRecord_Release(outLeaderboardRecordPointer); + } + + return callResult; + } + + /// + /// Fetches leaderboard user score from a given index. + /// + /// + /// + /// + /// + /// Structure containing the index being accessed. + /// + /// + /// The leaderboard user score for the given index, if it exists and is valid, use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the leaderboard scores are available and passed out in OutLeaderboardUserScore + /// - if you pass a for the out parameter + /// - if the leaderboard user scores are not found + /// + public Result CopyLeaderboardUserScoreByIndex(ref CopyLeaderboardUserScoreByIndexOptions options, out LeaderboardUserScore? outLeaderboardUserScore) + { + var optionsInternal = default(CopyLeaderboardUserScoreByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outLeaderboardUserScorePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Leaderboards_CopyLeaderboardUserScoreByIndex(InnerHandle, ref optionsInternal, out outLeaderboardUserScorePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLeaderboardUserScorePointer, out outLeaderboardUserScore); + if (outLeaderboardUserScorePointer != IntPtr.Zero) + { + Bindings.EOS_Leaderboards_LeaderboardUserScore_Release(outLeaderboardUserScorePointer); + } + + return callResult; + } + + /// + /// Fetches leaderboard user score from a given user ID. + /// + /// + /// + /// + /// + /// Structure containing the user ID being accessed. + /// + /// + /// The leaderboard user score for the given user ID, if it exists and is valid, use when finished. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the leaderboard scores are available and passed out in OutLeaderboardUserScore + /// - if you pass a for the out parameter + /// - if the leaderboard user scores are not found + /// + public Result CopyLeaderboardUserScoreByUserId(ref CopyLeaderboardUserScoreByUserIdOptions options, out LeaderboardUserScore? outLeaderboardUserScore) + { + var optionsInternal = default(CopyLeaderboardUserScoreByUserIdOptionsInternal); + optionsInternal.Set(ref options); + + var outLeaderboardUserScorePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Leaderboards_CopyLeaderboardUserScoreByUserId(InnerHandle, ref optionsInternal, out outLeaderboardUserScorePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLeaderboardUserScorePointer, out outLeaderboardUserScore); + if (outLeaderboardUserScorePointer != IntPtr.Zero) + { + Bindings.EOS_Leaderboards_LeaderboardUserScore_Release(outLeaderboardUserScorePointer); + } + + return callResult; + } + + /// + /// Fetch the number of leaderboards definitions that are cached locally. + /// + /// + /// + /// + /// + /// The Options associated with retrieving the leaderboard count. + /// + /// + /// Number of leaderboards or 0 if there is an error + /// + public uint GetLeaderboardDefinitionCount(ref GetLeaderboardDefinitionCountOptions options) + { + var optionsInternal = default(GetLeaderboardDefinitionCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Leaderboards_GetLeaderboardDefinitionCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of leaderboard records that are cached locally. + /// + /// + /// + /// + /// + /// The Options associated with retrieving the leaderboard record count. + /// + /// + /// Number of leaderboard records or 0 if there is an error + /// + public uint GetLeaderboardRecordCount(ref GetLeaderboardRecordCountOptions options) + { + var optionsInternal = default(GetLeaderboardRecordCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Leaderboards_GetLeaderboardRecordCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Fetch the number of leaderboard user scores that are cached locally. + /// + /// + /// + /// + /// + /// The Options associated with retrieving the leaderboard user scores count. + /// + /// + /// Number of leaderboard records or 0 if there is an error + /// + public uint GetLeaderboardUserScoreCount(ref GetLeaderboardUserScoreCountOptions options) + { + var optionsInternal = default(GetLeaderboardUserScoreCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Leaderboards_GetLeaderboardUserScoreCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Query for a list of existing leaderboards definitions including their attributes. + /// + /// + /// + /// + /// Structure containing information about the application whose leaderboard definitions we're retrieving. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// This function is called when the query operation completes. + /// + public void QueryLeaderboardDefinitions(ref QueryLeaderboardDefinitionsOptions options, object clientData, OnQueryLeaderboardDefinitionsCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryLeaderboardDefinitionsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Leaderboards_QueryLeaderboardDefinitions(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryLeaderboardDefinitionsCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Retrieves top leaderboard records by rank in the leaderboard matching the given leaderboard ID. + /// + /// + /// + /// + /// Structure containing information about the leaderboard records we're retrieving. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// This function is called when the query operation completes. + /// + public void QueryLeaderboardRanks(ref QueryLeaderboardRanksOptions options, object clientData, OnQueryLeaderboardRanksCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryLeaderboardRanksOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Leaderboards_QueryLeaderboardRanks(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryLeaderboardRanksCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Query for a list of scores for a given list of users. + /// + /// + /// + /// + /// Structure containing information about the users whose scores we're retrieving. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// This function is called when the query operation completes. + /// + public void QueryLeaderboardUserScores(ref QueryLeaderboardUserScoresOptions options, object clientData, OnQueryLeaderboardUserScoresCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryLeaderboardUserScoresOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Leaderboards_QueryLeaderboardUserScores(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryLeaderboardUserScoresCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardDefinitionsCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardDefinitionsCompleteCallback.cs new file mode 100644 index 0000000..cfa7bb0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardDefinitionsCompleteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryLeaderboardDefinitionsCompleteCallback(ref OnQueryLeaderboardDefinitionsCompleteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryLeaderboardDefinitionsCompleteCallbackInternal(ref OnQueryLeaderboardDefinitionsCompleteCallbackInfoInternal data); + + internal static class OnQueryLeaderboardDefinitionsCompleteCallbackInternalImplementation + { + private static OnQueryLeaderboardDefinitionsCompleteCallbackInternal s_Delegate; + public static OnQueryLeaderboardDefinitionsCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryLeaderboardDefinitionsCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryLeaderboardDefinitionsCompleteCallbackInternal))] + public static void EntryPoint(ref OnQueryLeaderboardDefinitionsCompleteCallbackInfoInternal data) + { + OnQueryLeaderboardDefinitionsCompleteCallback callback; + OnQueryLeaderboardDefinitionsCompleteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardDefinitionsCompleteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardDefinitionsCompleteCallbackInfo.cs new file mode 100644 index 0000000..f98774b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardDefinitionsCompleteCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Data containing the result information for a query leaderboard definitions request. + /// + public struct OnQueryLeaderboardDefinitionsCompleteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnQueryLeaderboardDefinitionsCompleteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnQueryLeaderboardDefinitionsCompleteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardRanksCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardRanksCompleteCallback.cs new file mode 100644 index 0000000..fae90f8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardRanksCompleteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryLeaderboardRanksCompleteCallback(ref OnQueryLeaderboardRanksCompleteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryLeaderboardRanksCompleteCallbackInternal(ref OnQueryLeaderboardRanksCompleteCallbackInfoInternal data); + + internal static class OnQueryLeaderboardRanksCompleteCallbackInternalImplementation + { + private static OnQueryLeaderboardRanksCompleteCallbackInternal s_Delegate; + public static OnQueryLeaderboardRanksCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryLeaderboardRanksCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryLeaderboardRanksCompleteCallbackInternal))] + public static void EntryPoint(ref OnQueryLeaderboardRanksCompleteCallbackInfoInternal data) + { + OnQueryLeaderboardRanksCompleteCallback callback; + OnQueryLeaderboardRanksCompleteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardRanksCompleteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardRanksCompleteCallbackInfo.cs new file mode 100644 index 0000000..e2bae87 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardRanksCompleteCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Data containing the result information for a query leaderboard ranks request. + /// + public struct OnQueryLeaderboardRanksCompleteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + /// + /// The Leaderboard ID for the leaderboard that was queried. + /// + public Utf8String LeaderboardId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnQueryLeaderboardRanksCompleteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LeaderboardId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnQueryLeaderboardRanksCompleteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LeaderboardIdPublic; + Helper.Get(m_LeaderboardId, out LeaderboardIdPublic); + other.LeaderboardId = LeaderboardIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardUserScoresCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardUserScoresCompleteCallback.cs new file mode 100644 index 0000000..b2a80e9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardUserScoresCompleteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnQueryLeaderboardUserScoresCompleteCallback(ref OnQueryLeaderboardUserScoresCompleteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryLeaderboardUserScoresCompleteCallbackInternal(ref OnQueryLeaderboardUserScoresCompleteCallbackInfoInternal data); + + internal static class OnQueryLeaderboardUserScoresCompleteCallbackInternalImplementation + { + private static OnQueryLeaderboardUserScoresCompleteCallbackInternal s_Delegate; + public static OnQueryLeaderboardUserScoresCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryLeaderboardUserScoresCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryLeaderboardUserScoresCompleteCallbackInternal))] + public static void EntryPoint(ref OnQueryLeaderboardUserScoresCompleteCallbackInfoInternal data) + { + OnQueryLeaderboardUserScoresCompleteCallback callback; + OnQueryLeaderboardUserScoresCompleteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardUserScoresCompleteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardUserScoresCompleteCallbackInfo.cs new file mode 100644 index 0000000..f604e1c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/OnQueryLeaderboardUserScoresCompleteCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Data containing the result information for a query leaderboard user scores request. + /// + public struct OnQueryLeaderboardUserScoresCompleteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnQueryLeaderboardUserScoresCompleteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnQueryLeaderboardUserScoresCompleteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardDefinitionsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardDefinitionsOptions.cs new file mode 100644 index 0000000..df5c406 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardDefinitionsOptions.cs @@ -0,0 +1,57 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// StartTime and EndTime are optional parameters, they can be used to limit the list of definitions + /// to overlap the time window specified. + /// + public struct QueryLeaderboardDefinitionsOptions + { + /// + /// An optional POSIX timestamp for the leaderboard's start time, or + /// + public DateTimeOffset? StartTime { get; set; } + + /// + /// An optional POSIX timestamp for the leaderboard's end time, or + /// + public DateTimeOffset? EndTime { get; set; } + + /// + /// Product User ID for user who is querying definitions. + /// Must be set when using a client policy that requires a valid logged in user. + /// Not used for Dedicated Server where no user is available. + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryLeaderboardDefinitionsOptionsInternal : ISettable + { + private int m_ApiVersion; + private long m_StartTime; + private long m_EndTime; + private IntPtr m_LocalUserId; + + public void Set(ref QueryLeaderboardDefinitionsOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.QUERYLEADERBOARDDEFINITIONS_API_LATEST; + Helper.Set(other.StartTime, ref m_StartTime); + Helper.Set(other.EndTime, ref m_EndTime); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardRanksOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardRanksOptions.cs new file mode 100644 index 0000000..7dfa728 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardRanksOptions.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + /// + public struct QueryLeaderboardRanksOptions + { + /// + /// The ID of the leaderboard whose information you want to retrieve. + /// + public Utf8String LeaderboardId { get; set; } + + /// + /// Product User ID for user who is querying ranks. + /// Must be set when using a client policy that requires a valid logged in user. + /// Not used for Dedicated Server where no user is available. + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryLeaderboardRanksOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LeaderboardId; + private IntPtr m_LocalUserId; + + public void Set(ref QueryLeaderboardRanksOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.QUERYLEADERBOARDRANKS_API_LATEST; + Helper.Set(other.LeaderboardId, ref m_LeaderboardId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LeaderboardId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardUserScoresOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardUserScoresOptions.cs new file mode 100644 index 0000000..200cb42 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/QueryLeaderboardUserScoresOptions.cs @@ -0,0 +1,73 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Input parameters for the function. + /// + public struct QueryLeaderboardUserScoresOptions + { + /// + /// An array of Product User IDs indicating the users whose scores you want to retrieve + /// + public ProductUserId[] UserIds { get; set; } + + /// + /// The stats to be collected, along with the sorting method to use when determining rank order for each stat + /// + public UserScoresQueryStatInfo[] StatInfo { get; set; } + + /// + /// An optional POSIX timestamp, or ; results will only include scores made after this time + /// + public DateTimeOffset? StartTime { get; set; } + + /// + /// An optional POSIX timestamp, or ; results will only include scores made before this time + /// + public DateTimeOffset? EndTime { get; set; } + + /// + /// Product User ID for user who is querying user scores. + /// Must be set when using a client policy that requires a valid logged in user. + /// Not used for Dedicated Server where no user is available. + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryLeaderboardUserScoresOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_UserIds; + private uint m_UserIdsCount; + private IntPtr m_StatInfo; + private uint m_StatInfoCount; + private long m_StartTime; + private long m_EndTime; + private IntPtr m_LocalUserId; + + public void Set(ref QueryLeaderboardUserScoresOptions other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.QUERYLEADERBOARDUSERSCORES_API_LATEST; + Helper.Set(other.UserIds, ref m_UserIds, out m_UserIdsCount, false); + Helper.Set(other.StatInfo, ref m_StatInfo, out m_StatInfoCount, false); + Helper.Set(other.StartTime, ref m_StartTime); + Helper.Set(other.EndTime, ref m_EndTime); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_UserIds); + Helper.Dispose(ref m_StatInfo); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/UserScoresQueryStatInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/UserScoresQueryStatInfo.cs new file mode 100644 index 0000000..4873f64 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Leaderboards/UserScoresQueryStatInfo.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Leaderboards +{ + /// + /// Contains information about a single stat to query with user scores. + /// + public struct UserScoresQueryStatInfo + { + /// + /// The name of the stat to query. + /// + public Utf8String StatName { get; set; } + + /// + /// Aggregation used to sort the cached user scores. + /// + public LeaderboardAggregation Aggregation { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UserScoresQueryStatInfoInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_StatName; + private LeaderboardAggregation m_Aggregation; + + public void Set(ref UserScoresQueryStatInfo other) + { + Dispose(); + + m_ApiVersion = LeaderboardsInterface.USERSCORESQUERYSTATINFO_API_LATEST; + Helper.Set(other.StatName, ref m_StatName); + m_Aggregation = other.Aggregation; + } + + public void Dispose() + { + Helper.Dispose(ref m_StatName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyJoinLobbyAcceptedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyJoinLobbyAcceptedOptions.cs new file mode 100644 index 0000000..14b8e15 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyJoinLobbyAcceptedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyJoinLobbyAcceptedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyJoinLobbyAcceptedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyJoinLobbyAcceptedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYJOINLOBBYACCEPTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLeaveLobbyRequestedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLeaveLobbyRequestedOptions.cs new file mode 100644 index 0000000..354174d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLeaveLobbyRequestedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLeaveLobbyRequestedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLeaveLobbyRequestedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLeaveLobbyRequestedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLEAVELOBBYREQUESTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteAcceptedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteAcceptedOptions.cs new file mode 100644 index 0000000..81ca91d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteAcceptedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLobbyInviteAcceptedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLobbyInviteAcceptedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLobbyInviteAcceptedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLOBBYINVITEACCEPTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteReceivedOptions.cs new file mode 100644 index 0000000..2092234 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLobbyInviteReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLobbyInviteReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLobbyInviteReceivedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLOBBYINVITERECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteRejectedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteRejectedOptions.cs new file mode 100644 index 0000000..5dd4aec --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyInviteRejectedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLobbyInviteRejectedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLobbyInviteRejectedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLobbyInviteRejectedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLOBBYINVITEREJECTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyMemberStatusReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyMemberStatusReceivedOptions.cs new file mode 100644 index 0000000..b6d8159 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyMemberStatusReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLobbyMemberStatusReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLobbyMemberStatusReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLobbyMemberStatusReceivedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLOBBYMEMBERSTATUSRECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyMemberUpdateReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyMemberUpdateReceivedOptions.cs new file mode 100644 index 0000000..758abfa --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyMemberUpdateReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLobbyMemberUpdateReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLobbyMemberUpdateReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLobbyMemberUpdateReceivedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLOBBYMEMBERUPDATERECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyUpdateReceivedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyUpdateReceivedOptions.cs new file mode 100644 index 0000000..b3aa113 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyLobbyUpdateReceivedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyLobbyUpdateReceivedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyLobbyUpdateReceivedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyLobbyUpdateReceivedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYLOBBYUPDATERECEIVED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyRTCRoomConnectionChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyRTCRoomConnectionChangedOptions.cs new file mode 100644 index 0000000..d3b0061 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifyRTCRoomConnectionChangedOptions.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyRTCRoomConnectionChangedOptions + { + /// + /// The ID of the lobby to receive RTC Room connection change notifications for + /// This is deprecated and no longer needed. The notification is raised for any LobbyId or LocalUserId. If any filtering is required, the callback struct () has both a LobbyId and LocalUserId field. + /// + public Utf8String LobbyId_DEPRECATED { get; set; } + + /// + /// The Product User ID of the local user in the lobby + /// This is deprecated and no longer needed. The notification is raised for any LobbyId or LocalUserId. If any filtering is required, the callback struct () has both a LobbyId and LocalUserId field. + /// + public ProductUserId LocalUserId_DEPRECATED { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRTCRoomConnectionChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId_DEPRECATED; + private IntPtr m_LocalUserId_DEPRECATED; + + public void Set(ref AddNotifyRTCRoomConnectionChangedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYRTCROOMCONNECTIONCHANGED_API_LATEST; + Helper.Set(other.LobbyId_DEPRECATED, ref m_LobbyId_DEPRECATED); + Helper.Set(other.LocalUserId_DEPRECATED, ref m_LocalUserId_DEPRECATED); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId_DEPRECATED); + Helper.Dispose(ref m_LocalUserId_DEPRECATED); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifySendLobbyNativeInviteRequestedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifySendLobbyNativeInviteRequestedOptions.cs new file mode 100644 index 0000000..05b7d15 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AddNotifySendLobbyNativeInviteRequestedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifySendLobbyNativeInviteRequestedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifySendLobbyNativeInviteRequestedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifySendLobbyNativeInviteRequestedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ADDNOTIFYSENDLOBBYNATIVEINVITEREQUESTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/Attribute.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/Attribute.cs new file mode 100644 index 0000000..6a30711 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/Attribute.cs @@ -0,0 +1,43 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// An attribute and its visibility setting stored with a lobby. + /// Used to store both lobby and lobby member data + /// + public struct Attribute + { + /// + /// Key/Value pair describing the attribute + /// + public AttributeData? Data { get; set; } + + /// + /// Is this attribute public or private to the lobby and its members + /// + public LobbyAttributeVisibility Visibility { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AttributeInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_Data; + private LobbyAttributeVisibility m_Visibility; + + public void Get(out Attribute other) + { + other = default; + + AttributeData? DataPublic; + Helper.Get(m_Data, out DataPublic); + other.Data = DataPublic; + other.Visibility = m_Visibility; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AttributeData.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AttributeData.cs new file mode 100644 index 0000000..7e660ea --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AttributeData.cs @@ -0,0 +1,62 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Contains information about lobby and lobby member data + /// + public struct AttributeData + { + /// + /// Name of the lobby attribute + /// + public Utf8String Key { get; set; } + + /// + /// Value of the lobby attribute + /// + public AttributeDataValue Value { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AttributeDataInternal : IGettable, ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + private AttributeDataValueInternal m_Value; + private AttributeType m_ValueType; + + public void Get(out AttributeData other) + { + other = default; + + Utf8String KeyPublic; + Helper.Get(m_Key, out KeyPublic); + other.Key = KeyPublic; + AttributeDataValue ValuePublic; + m_Value.Get(out ValuePublic, m_ValueType, null); + other.Value = ValuePublic; + } + + public void Set(ref AttributeData other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ATTRIBUTEDATA_API_LATEST; + Helper.Set(other.Key, ref m_Key); + Helper.Set(other.Value, ref m_Value); + + m_ValueType = other.Value.ValueType; + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + Helper.Dispose(ref m_Value); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AttributeDataValue.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AttributeDataValue.cs new file mode 100644 index 0000000..e43e598 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/AttributeDataValue.cs @@ -0,0 +1,212 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Value of the lobby attribute + /// + public struct AttributeDataValue + { + private long? m_AsInt64; + private double? m_AsDouble; + private bool? m_AsBool; + private Utf8String m_AsUtf8; + private AttributeType m_ValueType; + + /// + /// Stored as an 8 byte integer + /// + public long? AsInt64 + { + get + { + if (m_ValueType == AttributeType.Int64) + { + return m_AsInt64; + } + + return default; + } + set + { + m_AsInt64 = value; + m_ValueType = AttributeType.Int64; + } + } + + /// + /// Stored as a precision floating point + /// + public double? AsDouble + { + get + { + if (m_ValueType == AttributeType.Double) + { + return m_AsDouble; + } + + return default; + } + set + { + m_AsDouble = value; + m_ValueType = AttributeType.Double; + } + } + + /// + /// Stored as a boolean + /// + public bool? AsBool + { + get + { + if (m_ValueType == AttributeType.Boolean) + { + return m_AsBool; + } + + return default; + } + set + { + m_AsBool = value; + m_ValueType = AttributeType.Boolean; + } + } + + /// + /// Stored as a . Should not be + /// + public Utf8String AsUtf8 + { + get + { + if (m_ValueType == AttributeType.String) + { + return m_AsUtf8; + } + + return default; + } + set + { + m_AsUtf8 = value; + m_ValueType = AttributeType.String; + } + } + public AttributeType ValueType + { + get + { + return m_ValueType; + } + } + + public static implicit operator AttributeDataValue(long? value) + { + return new AttributeDataValue() { AsInt64 = value }; + } + + public static implicit operator AttributeDataValue(double? value) + { + return new AttributeDataValue() { AsDouble = value }; + } + + public static implicit operator AttributeDataValue(bool? value) + { + return new AttributeDataValue() { AsBool = value }; + } + + public static implicit operator AttributeDataValue(Utf8String value) + { + return new AttributeDataValue() { AsUtf8 = value }; + } + + public static implicit operator AttributeDataValue(string value) + { + return new AttributeDataValue() { AsUtf8 = value }; + } + } + + [StructLayout(LayoutKind.Explicit)] + internal struct AttributeDataValueInternal : IGettable, ISettable + { + [FieldOffset(0)] + private long m_AsInt64; + [FieldOffset(0)] + private double m_AsDouble; + [FieldOffset(0)] + private int m_AsBool; + [FieldOffset(0)] + private IntPtr m_AsUtf8; + + public void Get(out AttributeDataValue other, AttributeType enumValue, int? arrayLength) + { + other = default; + + if (enumValue == AttributeType.Int64) + { + long? AsInt64Public; + Helper.Get(m_AsInt64, out AsInt64Public); + other.AsInt64 = AsInt64Public; + } + + if (enumValue == AttributeType.Double) + { + double? AsDoublePublic; + Helper.Get(m_AsDouble, out AsDoublePublic); + other.AsDouble = AsDoublePublic; + } + + if (enumValue == AttributeType.Boolean) + { + bool? AsBoolPublic; + Helper.Get(m_AsBool, out AsBoolPublic); + other.AsBool = AsBoolPublic; + } + + if (enumValue == AttributeType.String) + { + Utf8String AsUtf8Public; + Helper.Get(m_AsUtf8, out AsUtf8Public); + other.AsUtf8 = AsUtf8Public; + } + } + + public void Set(ref AttributeDataValue other) + { + Dispose(); + + if (other.ValueType == AttributeType.Int64) + { + Helper.Set(other.AsInt64, ref m_AsInt64); + } + + if (other.ValueType == AttributeType.Double) + { + Helper.Set(other.AsDouble, ref m_AsDouble); + } + + if (other.ValueType == AttributeType.Boolean) + { + Helper.Set(other.AsBool, ref m_AsBool); + } + + if (other.ValueType == AttributeType.String) + { + Helper.Set(other.AsUtf8, ref m_AsUtf8); + } + } + + public void Dispose() + { + Helper.Dispose(ref m_AsUtf8); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleByInviteIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleByInviteIdOptions.cs new file mode 100644 index 0000000..d9f564f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleByInviteIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct CopyLobbyDetailsHandleByInviteIdOptions + { + /// + /// The ID of an invitation to join the lobby + /// + public Utf8String InviteId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLobbyDetailsHandleByInviteIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_InviteId; + + public void Set(ref CopyLobbyDetailsHandleByInviteIdOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.COPYLOBBYDETAILSHANDLEBYINVITEID_API_LATEST; + Helper.Set(other.InviteId, ref m_InviteId); + } + + public void Dispose() + { + Helper.Dispose(ref m_InviteId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleByUiEventIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleByUiEventIdOptions.cs new file mode 100644 index 0000000..a17b865 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleByUiEventIdOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct CopyLobbyDetailsHandleByUiEventIdOptions + { + /// + /// UI Event associated with the lobby + /// + public ulong UiEventId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLobbyDetailsHandleByUiEventIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private ulong m_UiEventId; + + public void Set(ref CopyLobbyDetailsHandleByUiEventIdOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.COPYLOBBYDETAILSHANDLEBYUIEVENTID_API_LATEST; + m_UiEventId = other.UiEventId; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleOptions.cs new file mode 100644 index 0000000..205e4ab --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CopyLobbyDetailsHandleOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct CopyLobbyDetailsHandleOptions + { + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user making the request + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyLobbyDetailsHandleOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + + public void Set(ref CopyLobbyDetailsHandleOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.COPYLOBBYDETAILSHANDLE_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbyCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbyCallbackInfo.cs new file mode 100644 index 0000000..657b0c9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbyCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct CreateLobbyCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The new lobby's ID + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateLobbyCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out CreateLobbyCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbyOptions.cs new file mode 100644 index 0000000..c046dd3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbyOptions.cs @@ -0,0 +1,172 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct CreateLobbyOptions + { + /// + /// The Product User ID of the local user creating the lobby; this user will automatically join the lobby as its owner + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The maximum number of users who can be in the lobby at a time + /// + public uint MaxLobbyMembers { get; set; } + + /// + /// The initial permission level of the lobby + /// + public LobbyPermissionLevel PermissionLevel { get; set; } + + /// + /// If , this lobby will be associated with the local user's presence information. A user's presence can only be associated with one lobby at a time. + /// This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. + /// The Social Overlay can handle only one of the following three options at a time: + /// * using the bPresenceEnabled flags within the Sessions interface + /// * using the bPresenceEnabled flags within the Lobby interface + /// * using + /// + /// + /// + /// + /// + /// + public bool PresenceEnabled { get; set; } + + /// + /// Are members of the lobby allowed to invite others + /// + public bool AllowInvites { get; set; } + + /// + /// Bucket ID associated with the lobby + /// + public Utf8String BucketId { get; set; } + + /// + /// Is host migration allowed (will the lobby stay open if the original host leaves?) + /// NOTE: is still allowed regardless of this setting + /// + public bool DisableHostMigration { get; set; } + + /// + /// Creates a real-time communication (RTC) room for all members of this lobby. All members of the lobby will automatically join the RTC + /// room when they connect to the lobby and they will automatically leave the RTC room when they leave or are removed from the lobby. + /// While the joining and leaving of the RTC room is automatic, applications will still need to use the EOS RTC interfaces to handle all + /// other functionality for the room. + /// + /// + /// + public bool EnableRTCRoom { get; set; } + + /// + /// (Optional) Allows the local application to set local audio options for the RTC Room if it is enabled. Set this to if the RTC + /// RTC room is disabled or you would like to use the defaults. + /// + public LocalRTCOptions? LocalRTCOptions { get; set; } + + /// + /// (Optional) Set to a globally unique value to override the backend assignment + /// If not specified the backend service will assign one to the lobby. Do not mix and match override and non override settings. + /// This value can be of size [, ] + /// + public Utf8String LobbyId { get; set; } + + /// + /// Is allowed. + /// This is provided to support cases where an integrated platform's invite system is used. + /// In these cases the game should provide the lobby ID securely to the invited player. Such as by attaching the + /// lobby ID to the integrated platform's session data or sending the lobby ID within the invite data. + /// + public bool EnableJoinById { get; set; } + + /// + /// Does rejoining after being kicked require an invite? + /// When this is set, a kicked player cannot return to the session even if the session was set with + /// . When this is set, a player with invite privileges must use to + /// allow the kicked player to return to the session. + /// + public bool RejoinAfterKickRequiresInvite { get; set; } + + /// + /// Array of platform IDs indicating the player platforms allowed to register with the session. Platform IDs are + /// found in the EOS header file, e.g. . For some platforms, the value will be in the EOS Platform specific + /// header file. If , the lobby will be unrestricted. + /// + public uint[] AllowedPlatformIds { get; set; } + + /// + /// This value indicates whether or not the lobby owner allows crossplay interactions. If , the lobby owner + /// will be treated as allowing crossplay. If it is set to , AllowedPlatformIds must have a single entry that matches + /// the platform of the lobby owner. + /// + public bool CrossplayOptOut { get; set; } + + /// + /// If bEnableRTCRoom is , this value indicates the action to take against the RTC Room when joining the lobby. This may be used + /// to indicate the RTCRoom should be joined immediately or manually at a later time. + /// + public LobbyRTCRoomJoinActionType RTCRoomJoinActionType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateLobbyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_MaxLobbyMembers; + private LobbyPermissionLevel m_PermissionLevel; + private int m_PresenceEnabled; + private int m_AllowInvites; + private IntPtr m_BucketId; + private int m_DisableHostMigration; + private int m_EnableRTCRoom; + private IntPtr m_LocalRTCOptions; + private IntPtr m_LobbyId; + private int m_EnableJoinById; + private int m_RejoinAfterKickRequiresInvite; + private IntPtr m_AllowedPlatformIds; + private uint m_AllowedPlatformIdsCount; + private int m_CrossplayOptOut; + private LobbyRTCRoomJoinActionType m_RTCRoomJoinActionType; + + public void Set(ref CreateLobbyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.CREATELOBBY_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_MaxLobbyMembers = other.MaxLobbyMembers; + m_PermissionLevel = other.PermissionLevel; + Helper.Set(other.PresenceEnabled, ref m_PresenceEnabled); + Helper.Set(other.AllowInvites, ref m_AllowInvites); + Helper.Set(other.BucketId, ref m_BucketId); + Helper.Set(other.DisableHostMigration, ref m_DisableHostMigration); + Helper.Set(other.EnableRTCRoom, ref m_EnableRTCRoom); + Helper.Set(other.LocalRTCOptions, ref m_LocalRTCOptions); + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.EnableJoinById, ref m_EnableJoinById); + Helper.Set(other.RejoinAfterKickRequiresInvite, ref m_RejoinAfterKickRequiresInvite); + Helper.Set(other.AllowedPlatformIds, ref m_AllowedPlatformIds, out m_AllowedPlatformIdsCount, false); + Helper.Set(other.CrossplayOptOut, ref m_CrossplayOptOut); + m_RTCRoomJoinActionType = other.RTCRoomJoinActionType; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_BucketId); + Helper.Dispose(ref m_LocalRTCOptions); + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_AllowedPlatformIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbySearchOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbySearchOptions.cs new file mode 100644 index 0000000..cccfdcc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/CreateLobbySearchOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct CreateLobbySearchOptions + { + /// + /// Maximum number of results allowed from the search + /// + public uint MaxResults { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreateLobbySearchOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_MaxResults; + + public void Set(ref CreateLobbySearchOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.CREATELOBBYSEARCH_API_LATEST; + m_MaxResults = other.MaxResults; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/DestroyLobbyCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/DestroyLobbyCallbackInfo.cs new file mode 100644 index 0000000..6cab61d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/DestroyLobbyCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct DestroyLobbyCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The destroyed lobby's ID + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DestroyLobbyCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DestroyLobbyCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/DestroyLobbyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/DestroyLobbyOptions.cs new file mode 100644 index 0000000..b355a1f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/DestroyLobbyOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct DestroyLobbyOptions + { + /// + /// The Product User ID of the local user requesting destruction of the lobby; this user must currently own the lobby + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The ID of the lobby to destroy + /// + public Utf8String LobbyId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DestroyLobbyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_LobbyId; + + public void Set(ref DestroyLobbyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.DESTROYLOBBY_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.LobbyId, ref m_LobbyId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LobbyId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetConnectStringOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetConnectStringOptions.cs new file mode 100644 index 0000000..ec80ca3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetConnectStringOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct GetConnectStringOptions + { + /// + /// The Product User ID of the local user requesting the connection generated from the lobby; this user must currently own the lobby + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The ID of the lobby to generate a connection for + /// + public Utf8String LobbyId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetConnectStringOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_LobbyId; + + public void Set(ref GetConnectStringOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.GETCONNECTSTRING_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.LobbyId, ref m_LobbyId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LobbyId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetInviteCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetInviteCountOptions.cs new file mode 100644 index 0000000..f30cf5f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetInviteCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct GetInviteCountOptions + { + /// + /// The Product User ID of the local user whose cached lobby invitations you want to count + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetInviteCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetInviteCountOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.GETINVITECOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetInviteIdByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetInviteIdByIndexOptions.cs new file mode 100644 index 0000000..88d6cc6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetInviteIdByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct GetInviteIdByIndexOptions + { + /// + /// The Product User ID of the local user who received the cached invitation + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The index of the invitation ID to retrieve + /// + public uint Index { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetInviteIdByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_Index; + + public void Set(ref GetInviteIdByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.GETINVITEIDBYINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Index = other.Index; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetRTCRoomNameOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetRTCRoomNameOptions.cs new file mode 100644 index 0000000..641d9fa --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/GetRTCRoomNameOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct GetRTCRoomNameOptions + { + /// + /// The ID of the lobby to get the RTC Room name for + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user in the lobby + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetRTCRoomNameOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + + public void Set(ref GetRTCRoomNameOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.GETRTCROOMNAME_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/HardMuteMemberCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/HardMuteMemberCallbackInfo.cs new file mode 100644 index 0000000..4509250 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/HardMuteMemberCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct HardMuteMemberCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the lobby member whose mute status has been updated + /// + public ProductUserId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct HardMuteMemberCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out HardMuteMemberCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/HardMuteMemberOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/HardMuteMemberOptions.cs new file mode 100644 index 0000000..3499027 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/HardMuteMemberOptions.cs @@ -0,0 +1,62 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct HardMuteMemberOptions + { + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user requesting the hard mute; this user must be the lobby owner + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the lobby member to hard mute + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// TargetUserId hard mute status (mute on or off) + /// + public bool HardMute { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct HardMuteMemberOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + private int m_HardMute; + + public void Set(ref HardMuteMemberOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.HARDMUTEMEMBER_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + Helper.Set(other.HardMute, ref m_HardMute); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/IsRTCRoomConnectedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/IsRTCRoomConnectedOptions.cs new file mode 100644 index 0000000..01c1e09 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/IsRTCRoomConnectedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct IsRTCRoomConnectedOptions + { + /// + /// The ID of the lobby to get the RTC Room name for + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user in the lobby + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct IsRTCRoomConnectedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + + public void Set(ref IsRTCRoomConnectedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.ISRTCROOMCONNECTED_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyAcceptedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyAcceptedCallbackInfo.cs new file mode 100644 index 0000000..e16dfd0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyAcceptedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct JoinLobbyAcceptedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who is joining + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The UI Event associated with this Join Game event. + /// This should be used with to get a handle to be used + /// when calling . + /// + public ulong UiEventId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinLobbyAcceptedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private ulong m_UiEventId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out JoinLobbyAcceptedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + other.UiEventId = m_UiEventId; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyByIdCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyByIdCallbackInfo.cs new file mode 100644 index 0000000..b971263 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyByIdCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct JoinLobbyByIdCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinLobbyByIdCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out JoinLobbyByIdCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyByIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyByIdOptions.cs new file mode 100644 index 0000000..b785367 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyByIdOptions.cs @@ -0,0 +1,91 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct JoinLobbyByIdOptions + { + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user joining the lobby + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// If , this lobby will be associated with the user's presence information. A user can only associate one lobby at a time with their presence information. + /// This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. + /// The Social Overlay can handle only one of the following three options at a time: + /// * using the bPresenceEnabled flags within the Sessions interface + /// * using the bPresenceEnabled flags within the Lobby interface + /// * using + /// + /// + /// + /// + /// + /// + /// + public bool PresenceEnabled { get; set; } + + /// + /// (Optional) Set this value to override the default local options for the RTC Room, if it is enabled for this lobby. Set this to if + /// your application does not use the Lobby RTC Rooms feature, or if you would like to use the default settings. This option is ignored if + /// the specified lobby does not have an RTC Room enabled and will not cause errors. + /// + public LocalRTCOptions? LocalRTCOptions { get; set; } + + /// + /// This value indicates whether or not the local user allows crossplay interactions. If it is , the local user + /// will be treated as allowing crossplay. + /// + public bool CrossplayOptOut { get; set; } + + /// + /// For lobbies with the RTC Room feature enabled, this value indicates the action to take against the RTC Room when joining the lobby. This may be used + /// to indicate the RTCRoom should be joined immediately or manually at a later time. + /// + public LobbyRTCRoomJoinActionType RTCRoomJoinActionType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinLobbyByIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private int m_PresenceEnabled; + private IntPtr m_LocalRTCOptions; + private int m_CrossplayOptOut; + private LobbyRTCRoomJoinActionType m_RTCRoomJoinActionType; + + public void Set(ref JoinLobbyByIdOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.JOINLOBBYBYID_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.PresenceEnabled, ref m_PresenceEnabled); + Helper.Set(other.LocalRTCOptions, ref m_LocalRTCOptions); + Helper.Set(other.CrossplayOptOut, ref m_CrossplayOptOut); + m_RTCRoomJoinActionType = other.RTCRoomJoinActionType; + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LocalRTCOptions); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyCallbackInfo.cs new file mode 100644 index 0000000..71ed0ed --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct JoinLobbyCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinLobbyCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out JoinLobbyCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyOptions.cs new file mode 100644 index 0000000..649af9b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinLobbyOptions.cs @@ -0,0 +1,90 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct JoinLobbyOptions + { + /// + /// The handle of the lobby to join + /// + public LobbyDetails LobbyDetailsHandle { get; set; } + + /// + /// The Product User ID of the local user joining the lobby + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// If , this lobby will be associated with the local user's presence information. A user can only associate one lobby at a time with their presence information. + /// This affects the ability of the Social Overlay to show game related actions to take in the user's social graph. + /// The Social Overlay can handle only one of the following three options at a time: + /// * using the bPresenceEnabled flags within the Sessions interface + /// * using the bPresenceEnabled flags within the Lobby interface + /// * using + /// + /// + /// + /// + /// + /// + public bool PresenceEnabled { get; set; } + + /// + /// (Optional) Set this value to override the default local options for the RTC Room, if it is enabled for this lobby. Set this to if + /// your application does not use the Lobby RTC Rooms feature, or if you would like to use the default settings. This option is ignored if + /// the specified lobby does not have an RTC Room enabled and will not cause errors. + /// + public LocalRTCOptions? LocalRTCOptions { get; set; } + + /// + /// This value indicates whether or not the local user allows crossplay interactions. If it is , the local user + /// will be treated as allowing crossplay. + /// + public bool CrossplayOptOut { get; set; } + + /// + /// For lobbies with the RTC Room feature enabled, this value indicates the action to take against the RTC Room when joining the lobby. This may be used + /// to indicate the RTCRoom should be joined immediately or manually at a later time. + /// + public LobbyRTCRoomJoinActionType RTCRoomJoinActionType { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinLobbyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyDetailsHandle; + private IntPtr m_LocalUserId; + private int m_PresenceEnabled; + private IntPtr m_LocalRTCOptions; + private int m_CrossplayOptOut; + private LobbyRTCRoomJoinActionType m_RTCRoomJoinActionType; + + public void Set(ref JoinLobbyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.JOINLOBBY_API_LATEST; + Helper.Set(other.LobbyDetailsHandle, ref m_LobbyDetailsHandle); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.PresenceEnabled, ref m_PresenceEnabled); + Helper.Set(other.LocalRTCOptions, ref m_LocalRTCOptions); + Helper.Set(other.CrossplayOptOut, ref m_CrossplayOptOut); + m_RTCRoomJoinActionType = other.RTCRoomJoinActionType; + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyDetailsHandle); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LocalRTCOptions); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinRTCRoomCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinRTCRoomCallbackInfo.cs new file mode 100644 index 0000000..62caf43 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinRTCRoomCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct JoinRTCRoomCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinRTCRoomCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out JoinRTCRoomCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinRTCRoomOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinRTCRoomOptions.cs new file mode 100644 index 0000000..b6318d7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/JoinRTCRoomOptions.cs @@ -0,0 +1,56 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct JoinRTCRoomOptions + { + /// + /// The ID of the lobby to join the RTC Room of + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user in the lobby + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Allows the local application to set local audio options for the RTC Room if it is enabled. + /// Only updates audio options when explicitly set; does not provide defaults. + /// + public LocalRTCOptions? LocalRTCOptions { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinRTCRoomOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private IntPtr m_LocalRTCOptions; + + public void Set(ref JoinRTCRoomOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.JOINRTCROOM_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.LocalRTCOptions, ref m_LocalRTCOptions); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LocalRTCOptions); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/KickMemberCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/KickMemberCallbackInfo.cs new file mode 100644 index 0000000..6d121b8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/KickMemberCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct KickMemberCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct KickMemberCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out KickMemberCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/KickMemberOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/KickMemberOptions.cs new file mode 100644 index 0000000..c364550 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/KickMemberOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct KickMemberOptions + { + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user requesting the removal; this user must be the lobby owner + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the lobby member to remove + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct KickMemberOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref KickMemberOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.KICKMEMBER_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyCallbackInfo.cs new file mode 100644 index 0000000..9075620 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct LeaveLobbyCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveLobbyCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LeaveLobbyCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyOptions.cs new file mode 100644 index 0000000..67bfc44 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LeaveLobbyOptions + { + /// + /// The Product User ID of the local user leaving the lobby + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveLobbyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_LobbyId; + + public void Set(ref LeaveLobbyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LEAVELOBBY_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.LobbyId, ref m_LobbyId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LobbyId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyRequestedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyRequestedCallbackInfo.cs new file mode 100644 index 0000000..c374bf6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveLobbyRequestedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct LeaveLobbyRequestedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who received the leave lobby notification. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Lobby ID associated with the leave lobby request. + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveLobbyRequestedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LeaveLobbyRequestedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveRTCRoomCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveRTCRoomCallbackInfo.cs new file mode 100644 index 0000000..eaea52b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveRTCRoomCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct LeaveRTCRoomCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveRTCRoomCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LeaveRTCRoomCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveRTCRoomOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveRTCRoomOptions.cs new file mode 100644 index 0000000..9d3da80 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LeaveRTCRoomOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LeaveRTCRoomOptions + { + /// + /// The ID of the lobby owning the RTC Room to leave + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user in the lobby + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveRTCRoomOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + + public void Set(ref LeaveRTCRoomOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LEAVERTCROOM_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyAttributeVisibility.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyAttributeVisibility.cs new file mode 100644 index 0000000..5014804 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyAttributeVisibility.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Advertisement properties for a single attribute associated with a lobby + /// + public enum LobbyAttributeVisibility : int + { + /// + /// Data is visible to lobby members, searchable and visible in search results. + /// + Public = 0, + /// + /// Data is only visible to the user setting the data. Data is not visible to lobby members, not searchable, and not visible in search results. + /// + Private = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetails.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetails.cs new file mode 100644 index 0000000..0d4f9c4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetails.cs @@ -0,0 +1,391 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Lobby +{ + public sealed partial class LobbyDetails : Handle + { + public LobbyDetails() + { + } + + public LobbyDetails(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// 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. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAttribute + /// - if you pass a for the out parameter + /// - if the API version passed in is incorrect + /// + public Result CopyAttributeByIndex(ref LobbyDetailsCopyAttributeByIndexOptions options, out Attribute? outAttribute) + { + var optionsInternal = default(LobbyDetailsCopyAttributeByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outAttributePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbyDetails_CopyAttributeByIndex(InnerHandle, ref optionsInternal, out outAttributePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAttributePointer, out outAttribute); + if (outAttributePointer != IntPtr.Zero) + { + Bindings.EOS_Lobby_Attribute_Release(outAttributePointer); + } + + return callResult; + } + + /// + /// 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. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAttribute + /// - if you pass a for the out parameter + /// - if the API version passed in is incorrect + /// + public Result CopyAttributeByKey(ref LobbyDetailsCopyAttributeByKeyOptions options, out Attribute? outAttribute) + { + var optionsInternal = default(LobbyDetailsCopyAttributeByKeyOptionsInternal); + optionsInternal.Set(ref options); + + var outAttributePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbyDetails_CopyAttributeByKey(InnerHandle, ref optionsInternal, out outAttributePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAttributePointer, out outAttribute); + if (outAttributePointer != IntPtr.Zero) + { + Bindings.EOS_Lobby_Attribute_Release(outAttributePointer); + } + + return callResult; + } + + /// + /// 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. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLobbyDetailsInfo + /// - if you pass a for the out parameter + /// - if the API version passed in is incorrect + /// + public Result CopyInfo(ref LobbyDetailsCopyInfoOptions options, out LobbyDetailsInfo? outLobbyDetailsInfo) + { + var optionsInternal = default(LobbyDetailsCopyInfoOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyDetailsInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbyDetails_CopyInfo(InnerHandle, ref optionsInternal, out outLobbyDetailsInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyDetailsInfoPointer, out outLobbyDetailsInfo); + if (outLobbyDetailsInfoPointer != IntPtr.Zero) + { + Bindings.EOS_LobbyDetails_Info_Release(outLobbyDetailsInfoPointer); + } + + return callResult; + } + + /// + /// 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. + /// Note: this information is only available if you are actively in the lobby. It is not available for search results. + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// Out parameter used to receive the structure. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAttribute + /// - if you pass a for the out parameter + /// - if the API version passed in is incorrect + /// + public Result CopyMemberAttributeByIndex(ref LobbyDetailsCopyMemberAttributeByIndexOptions options, out Attribute? outAttribute) + { + var optionsInternal = default(LobbyDetailsCopyMemberAttributeByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outAttributePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbyDetails_CopyMemberAttributeByIndex(InnerHandle, ref optionsInternal, out outAttributePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAttributePointer, out outAttribute); + if (outAttributePointer != IntPtr.Zero) + { + Bindings.EOS_Lobby_Attribute_Release(outAttributePointer); + } + + return callResult; + } + + /// + /// 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. + /// Note: this information is only available if you are actively in the lobby. It is not available for search results. + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// Out parameter used to receive the structure. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutAttribute + /// - if you pass a for the out parameter + /// - if the API version passed in is incorrect + /// + public Result CopyMemberAttributeByKey(ref LobbyDetailsCopyMemberAttributeByKeyOptions options, out Attribute? outAttribute) + { + var optionsInternal = default(LobbyDetailsCopyMemberAttributeByKeyOptionsInternal); + optionsInternal.Set(ref options); + + var outAttributePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbyDetails_CopyMemberAttributeByKey(InnerHandle, ref optionsInternal, out outAttributePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outAttributePointer, out outAttribute); + if (outAttributePointer != IntPtr.Zero) + { + Bindings.EOS_Lobby_Attribute_Release(outAttributePointer); + } + + return callResult; + } + + /// + /// is used to immediately retrieve a copy of lobby member information from an existing lobby. + /// If the call returns an result, the out parameter, OutLobbyDetailsMemberInfo, must be passed to to release the memory associated with it. + /// Note: this information is only available if you are actively in the lobby. It is not available for search results. + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// Out parameter used to receive the structure. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLobbyMemberDetailsInfo + /// - if you pass a for the out parameter + /// - if the API version passed in is incorrect + /// - if searching for a target user ID returns no results + /// + public Result CopyMemberInfo(ref LobbyDetailsCopyMemberInfoOptions options, out LobbyDetailsMemberInfo? outLobbyDetailsMemberInfo) + { + var optionsInternal = default(LobbyDetailsCopyMemberInfoOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyDetailsMemberInfoPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbyDetails_CopyMemberInfo(InnerHandle, ref optionsInternal, out outLobbyDetailsMemberInfoPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyDetailsMemberInfoPointer, out outLobbyDetailsMemberInfo); + if (outLobbyDetailsMemberInfoPointer != IntPtr.Zero) + { + Bindings.EOS_LobbyDetails_MemberInfo_Release(outLobbyDetailsMemberInfoPointer); + } + + return callResult; + } + + /// + /// 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(ref LobbyDetailsGetAttributeCountOptions options) + { + var optionsInternal = default(LobbyDetailsGetAttributeCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyDetails_GetAttributeCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// 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 if the input parameters are invalid + /// + public ProductUserId GetLobbyOwner(ref LobbyDetailsGetLobbyOwnerOptions options) + { + var optionsInternal = default(LobbyDetailsGetLobbyOwnerOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyDetails_GetLobbyOwner(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + ProductUserId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// is used to immediately retrieve the attribute count for members in a lobby. + /// Note: this information is only available if you are actively in the lobby. It is not available for search results. + /// + /// + /// + /// + /// 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(ref LobbyDetailsGetMemberAttributeCountOptions options) + { + var optionsInternal = default(LobbyDetailsGetMemberAttributeCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyDetails_GetMemberAttributeCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// is used to immediately retrieve individual members registered with a lobby. + /// Note: this information is only available if you are actively in the lobby. It is not available for search results. + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// the product user ID for the registered member at a given index or if that index is invalid + /// + public ProductUserId GetMemberByIndex(ref LobbyDetailsGetMemberByIndexOptions options) + { + var optionsInternal = default(LobbyDetailsGetMemberByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyDetails_GetMemberByIndex(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + ProductUserId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// 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(ref LobbyDetailsGetMemberCountOptions options) + { + var optionsInternal = default(LobbyDetailsGetMemberCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyDetails_GetMemberCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// 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); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyAttributeByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyAttributeByIndexOptions.cs new file mode 100644 index 0000000..9625d04 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyAttributeByIndexOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsCopyAttributeByIndexOptions + { + /// + /// The index of the attribute to retrieve + /// + /// + public uint AttrIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsCopyAttributeByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_AttrIndex; + + public void Set(ref LobbyDetailsCopyAttributeByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_COPYATTRIBUTEBYINDEX_API_LATEST; + m_AttrIndex = other.AttrIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyAttributeByKeyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyAttributeByKeyOptions.cs new file mode 100644 index 0000000..cfdb388 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyAttributeByKeyOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsCopyAttributeByKeyOptions + { + /// + /// Name of the attribute + /// + public Utf8String AttrKey { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsCopyAttributeByKeyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AttrKey; + + public void Set(ref LobbyDetailsCopyAttributeByKeyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_COPYATTRIBUTEBYKEY_API_LATEST; + Helper.Set(other.AttrKey, ref m_AttrKey); + } + + public void Dispose() + { + Helper.Dispose(ref m_AttrKey); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyInfoOptions.cs new file mode 100644 index 0000000..135f107 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyInfoOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsCopyInfoOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsCopyInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref LobbyDetailsCopyInfoOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_COPYINFO_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberAttributeByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberAttributeByIndexOptions.cs new file mode 100644 index 0000000..bfe405b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberAttributeByIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsCopyMemberAttributeByIndexOptions + { + /// + /// The Product User ID of the lobby member + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// The index of the attribute to copy + /// + public uint AttrIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsCopyMemberAttributeByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private uint m_AttrIndex; + + public void Set(ref LobbyDetailsCopyMemberAttributeByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_COPYMEMBERATTRIBUTEBYINDEX_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + m_AttrIndex = other.AttrIndex; + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberAttributeByKeyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberAttributeByKeyOptions.cs new file mode 100644 index 0000000..541c85a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberAttributeByKeyOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsCopyMemberAttributeByKeyOptions + { + /// + /// The Product User ID of the lobby member + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Name of the attribute to copy + /// + public Utf8String AttrKey { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsCopyMemberAttributeByKeyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + private IntPtr m_AttrKey; + + public void Set(ref LobbyDetailsCopyMemberAttributeByKeyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_COPYMEMBERATTRIBUTEBYKEY_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + Helper.Set(other.AttrKey, ref m_AttrKey); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + Helper.Dispose(ref m_AttrKey); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberInfoOptions.cs new file mode 100644 index 0000000..3e957dc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsCopyMemberInfoOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsCopyMemberInfoOptions + { + /// + /// The Product User ID of the lobby member to copy. + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsCopyMemberInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + + public void Set(ref LobbyDetailsCopyMemberInfoOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_COPYMEMBERINFO_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetAttributeCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetAttributeCountOptions.cs new file mode 100644 index 0000000..1f95add --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetAttributeCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsGetAttributeCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsGetAttributeCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref LobbyDetailsGetAttributeCountOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_GETATTRIBUTECOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetLobbyOwnerOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetLobbyOwnerOptions.cs new file mode 100644 index 0000000..8a75c7f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetLobbyOwnerOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsGetLobbyOwnerOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsGetLobbyOwnerOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref LobbyDetailsGetLobbyOwnerOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_GETLOBBYOWNER_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberAttributeCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberAttributeCountOptions.cs new file mode 100644 index 0000000..13e7aa2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberAttributeCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsGetMemberAttributeCountOptions + { + /// + /// The Product User ID of the lobby member + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsGetMemberAttributeCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + + public void Set(ref LobbyDetailsGetMemberAttributeCountOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_GETMEMBERATTRIBUTECOUNT_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberByIndexOptions.cs new file mode 100644 index 0000000..76b53dc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberByIndexOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsGetMemberByIndexOptions + { + /// + /// Index of the member to retrieve + /// + public uint MemberIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsGetMemberByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_MemberIndex; + + public void Set(ref LobbyDetailsGetMemberByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_GETMEMBERBYINDEX_API_LATEST; + m_MemberIndex = other.MemberIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberCountOptions.cs new file mode 100644 index 0000000..ddbd576 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsGetMemberCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyDetailsGetMemberCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsGetMemberCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref LobbyDetailsGetMemberCountOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYDETAILS_GETMEMBERCOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsInfo.cs new file mode 100644 index 0000000..7b7b5d7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsInfo.cs @@ -0,0 +1,140 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Contains information about a single lobby. + /// + public struct LobbyDetailsInfo + { + /// + /// Lobby ID + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the current owner of the lobby + /// + public ProductUserId LobbyOwnerUserId { get; set; } + + /// + /// Permission level of the lobby + /// + public LobbyPermissionLevel PermissionLevel { get; set; } + + /// + /// Current available space + /// + public uint AvailableSlots { get; set; } + + /// + /// Max allowed members in the lobby + /// + public uint MaxMembers { get; set; } + + /// + /// If , users can invite others to this lobby + /// + public bool AllowInvites { get; set; } + + /// + /// The main indexed parameter for this lobby, can be any (i.e. "Region:GameMode") + /// + public Utf8String BucketId { get; set; } + + /// + /// Is host migration allowed + /// + public bool AllowHostMigration { get; set; } + + /// + /// Was a Real-Time Communication (RTC) room enabled at lobby creation? + /// + public bool RTCRoomEnabled { get; set; } + + /// + /// Is allowed + /// + public bool AllowJoinById { get; set; } + + /// + /// Does rejoining after being kicked require an invite + /// + public bool RejoinAfterKickRequiresInvite { get; set; } + + /// + /// If , this lobby will be associated with the local user's presence information. + /// + public bool PresenceEnabled { get; set; } + + /// + /// Array of platform IDs indicating the player platforms allowed to register with the lobby. Platform IDs are + /// found in the EOS header file (eos_common.h), for example . For some platforms the value will be + /// in the EOS Platform specific header file. If , the lobby will be unrestricted. + /// + public uint[] AllowedPlatformIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LobbyOwnerUserId; + private LobbyPermissionLevel m_PermissionLevel; + private uint m_AvailableSlots; + private uint m_MaxMembers; + private int m_AllowInvites; + private IntPtr m_BucketId; + private int m_AllowHostMigration; + private int m_RTCRoomEnabled; + private int m_AllowJoinById; + private int m_RejoinAfterKickRequiresInvite; + private int m_PresenceEnabled; + private IntPtr m_AllowedPlatformIds; + private uint m_AllowedPlatformIdsCount; + + public void Get(out LobbyDetailsInfo other) + { + other = default; + + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + ProductUserId LobbyOwnerUserIdPublic; + Helper.Get(m_LobbyOwnerUserId, out LobbyOwnerUserIdPublic); + other.LobbyOwnerUserId = LobbyOwnerUserIdPublic; + other.PermissionLevel = m_PermissionLevel; + other.AvailableSlots = m_AvailableSlots; + other.MaxMembers = m_MaxMembers; + bool AllowInvitesPublic; + Helper.Get(m_AllowInvites, out AllowInvitesPublic); + other.AllowInvites = AllowInvitesPublic; + Utf8String BucketIdPublic; + Helper.Get(m_BucketId, out BucketIdPublic); + other.BucketId = BucketIdPublic; + bool AllowHostMigrationPublic; + Helper.Get(m_AllowHostMigration, out AllowHostMigrationPublic); + other.AllowHostMigration = AllowHostMigrationPublic; + bool RTCRoomEnabledPublic; + Helper.Get(m_RTCRoomEnabled, out RTCRoomEnabledPublic); + other.RTCRoomEnabled = RTCRoomEnabledPublic; + bool AllowJoinByIdPublic; + Helper.Get(m_AllowJoinById, out AllowJoinByIdPublic); + other.AllowJoinById = AllowJoinByIdPublic; + bool RejoinAfterKickRequiresInvitePublic; + Helper.Get(m_RejoinAfterKickRequiresInvite, out RejoinAfterKickRequiresInvitePublic); + other.RejoinAfterKickRequiresInvite = RejoinAfterKickRequiresInvitePublic; + bool PresenceEnabledPublic; + Helper.Get(m_PresenceEnabled, out PresenceEnabledPublic); + other.PresenceEnabled = PresenceEnabledPublic; + uint[] AllowedPlatformIdsPublic; + Helper.Get(m_AllowedPlatformIds, out AllowedPlatformIdsPublic, m_AllowedPlatformIdsCount, false); + other.AllowedPlatformIds = AllowedPlatformIdsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsMemberInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsMemberInfo.cs new file mode 100644 index 0000000..399ac0a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyDetailsMemberInfo.cs @@ -0,0 +1,51 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Contains information about a member of a lobby. + /// + public struct LobbyDetailsMemberInfo + { + /// + /// The Product User ID of the lobby member. + /// + public ProductUserId UserId { get; set; } + + /// + /// The platform of the lobby member. + /// + public uint Platform { get; set; } + + /// + /// Does this member allow crossplay + /// + public bool AllowsCrossplay { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyDetailsMemberInfoInternal : IGettable + { + private int m_ApiVersion; + private IntPtr m_UserId; + private uint m_Platform; + private int m_AllowsCrossplay; + + public void Get(out LobbyDetailsMemberInfo other) + { + other = default; + + ProductUserId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + other.Platform = m_Platform; + bool AllowsCrossplayPublic; + Helper.Get(m_AllowsCrossplay, out AllowsCrossplayPublic); + other.AllowsCrossplay = AllowsCrossplayPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInterface.cs new file mode 100644 index 0000000..b4e81d2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInterface.cs @@ -0,0 +1,1795 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Lobby +{ + public sealed partial class LobbyInterface : Handle + { + public LobbyInterface() + { + } + + public LobbyInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYJOINLOBBYACCEPTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLEAVELOBBYREQUESTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOBBYINVITEACCEPTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOBBYINVITERECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOBBYINVITEREJECTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOBBYMEMBERSTATUSRECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOBBYMEMBERUPDATERECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYLOBBYUPDATERECEIVED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYRTCROOMCONNECTIONCHANGED_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYSENDLOBBYNATIVEINVITEREQUESTED_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int ATTRIBUTEDATA_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int ATTRIBUTE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYLOBBYDETAILSHANDLEBYINVITEID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYLOBBYDETAILSHANDLEBYUIEVENTID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYLOBBYDETAILSHANDLE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CREATELOBBYSEARCH_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CREATELOBBY_API_LATEST = 10; + /// + /// The most recent version of the API. + /// + public const int DESTROYLOBBY_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETCONNECTSTRING_API_LATEST = 1; + /// + /// The buffer size to provide to the API. + /// + public const int GETCONNECTSTRING_BUFFER_SIZE = 256; + /// + /// The most recent version of the API. + /// + public const int GETINVITECOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETINVITEIDBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETRTCROOMNAME_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int HARDMUTEMEMBER_API_LATEST = 1; + /// + /// Max length of an invite ID + /// + public const int INVITEID_MAX_LENGTH = 64; + /// + /// The most recent version of the API. + /// + public const int ISRTCROOMCONNECTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int JOINLOBBYBYID_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int JOINLOBBY_API_LATEST = 5; + /// + /// The most recent version of the API. + /// + public const int JOINRTCROOM_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int KICKMEMBER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LEAVELOBBY_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LEAVERTCROOM_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_COPYATTRIBUTEBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_COPYATTRIBUTEBYKEY_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_COPYINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_COPYMEMBERATTRIBUTEBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_COPYMEMBERATTRIBUTEBYKEY_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_COPYMEMBERINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_GETATTRIBUTECOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_GETLOBBYOWNER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_GETMEMBERATTRIBUTECOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_GETMEMBERBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_GETMEMBERCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_INFO_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int LOBBYDETAILS_MEMBERINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_ADDATTRIBUTE_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_ADDMEMBERATTRIBUTE_API_LATEST = 2; + /// + /// Maximum number of attributes allowed on the lobby + /// + public const int LOBBYMODIFICATION_MAX_ATTRIBUTES = 64; + /// + /// Maximum length of the name of the attribute associated with the lobby + /// + public const int LOBBYMODIFICATION_MAX_ATTRIBUTE_LENGTH = 64; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_REMOVEATTRIBUTE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_REMOVEMEMBERATTRIBUTE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_SETALLOWEDPLATFORMIDS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_SETBUCKETID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_SETINVITESALLOWED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_SETMAXMEMBERS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYMODIFICATION_SETPERMISSIONLEVEL_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_COPYSEARCHRESULTBYINDEX_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_FIND_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_GETSEARCHRESULTCOUNT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_REMOVEPARAMETER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_SETLOBBYID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_SETMAXRESULTS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_SETPARAMETER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int LOBBYSEARCH_SETTARGETUSERID_API_LATEST = 1; + /// + /// The most recent version of the structure. + /// + public const int LOCALRTCOPTIONS_API_LATEST = 2; + /// + /// The maximum number of lobbies a single user can join at once + /// + public const int MAX_LOBBIES = 16; + /// + /// Maximum number of characters allowed in the lobby id override + /// + public const int MAX_LOBBYIDOVERRIDE_LENGTH = 60; + /// + /// The maximum number of players in a lobby + /// + public const int MAX_LOBBY_MEMBERS = 64; + /// + /// The maximum number of search results for a query + /// + public const int MAX_SEARCH_RESULTS = 200; + /// + /// Minimum number of characters allowed in the lobby id override + /// + public const int MIN_LOBBYIDOVERRIDE_LENGTH = 4; + /// + /// The most recent version of the API. + /// + public const int PARSECONNECTSTRING_API_LATEST = 1; + /// + /// The buffer size to provide to the API. + /// + public const int PARSECONNECTSTRING_BUFFER_SIZE = 256; + /// + /// The most recent version of the API. + /// + public const int PROMOTEMEMBER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYINVITES_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int REJECTINVITE_API_LATEST = 1; + /// + /// Search for a matching bucket ID (value is ) + /// + public static readonly Utf8String SEARCH_BUCKET_ID = "bucket"; + /// + /// Search for lobbies that contain at least this number of members (value is int) + /// + public static readonly Utf8String SEARCH_MINCURRENTMEMBERS = "mincurrentmembers"; + /// + /// Search for a match with min free space (value is int) + /// + public static readonly Utf8String SEARCH_MINSLOTSAVAILABLE = "minslotsavailable"; + /// + /// The most recent version of the API. + /// + public const int SENDINVITE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UPDATELOBBYMODIFICATION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UPDATELOBBY_API_LATEST = 1; + + /// + /// Register to receive notifications about lobby "JOIN" performed by local user (when no invite) via the overlay. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyJoinLobbyAccepted(ref AddNotifyJoinLobbyAcceptedOptions options, object clientData, OnJoinLobbyAcceptedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyJoinLobbyAcceptedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyJoinLobbyAccepted(InnerHandle, ref optionsInternal, clientDataPointer, OnJoinLobbyAcceptedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about leave lobby requests performed by the local user via the overlay. + /// When user requests to leave the lobby in the social overlay, the SDK does not automatically leave the lobby, it is up to the game to perform any necessary cleanup and call the method using the lobbyId sent in the notification function. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLeaveLobbyRequested(ref AddNotifyLeaveLobbyRequestedOptions options, object clientData, OnLeaveLobbyRequestedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLeaveLobbyRequestedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLeaveLobbyRequested(InnerHandle, ref optionsInternal, clientDataPointer, OnLeaveLobbyRequestedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about lobby invites accepted by local user via the overlay. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLobbyInviteAccepted(ref AddNotifyLobbyInviteAcceptedOptions options, object clientData, OnLobbyInviteAcceptedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLobbyInviteAcceptedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLobbyInviteAccepted(InnerHandle, ref optionsInternal, clientDataPointer, OnLobbyInviteAcceptedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about lobby invites sent to local users. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLobbyInviteReceived(ref AddNotifyLobbyInviteReceivedOptions options, object clientData, OnLobbyInviteReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLobbyInviteReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLobbyInviteReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnLobbyInviteReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about lobby invites rejected by local user. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLobbyInviteRejected(ref AddNotifyLobbyInviteRejectedOptions options, object clientData, OnLobbyInviteRejectedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLobbyInviteRejectedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLobbyInviteRejected(InnerHandle, ref optionsInternal, clientDataPointer, OnLobbyInviteRejectedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about the changing status of lobby members. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLobbyMemberStatusReceived(ref AddNotifyLobbyMemberStatusReceivedOptions options, object clientData, OnLobbyMemberStatusReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLobbyMemberStatusReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLobbyMemberStatusReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnLobbyMemberStatusReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a lobby member updates the attributes associated with themselves inside the lobby. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLobbyMemberUpdateReceived(ref AddNotifyLobbyMemberUpdateReceivedOptions options, object clientData, OnLobbyMemberUpdateReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLobbyMemberUpdateReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLobbyMemberUpdateReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnLobbyMemberUpdateReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when a lobby owner updates the attributes associated with the lobby. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyLobbyUpdateReceived(ref AddNotifyLobbyUpdateReceivedOptions options, object clientData, OnLobbyUpdateReceivedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyLobbyUpdateReceivedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyLobbyUpdateReceived(InnerHandle, ref optionsInternal, clientDataPointer, OnLobbyUpdateReceivedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications of when the RTC Room for a particular lobby has a connection status change. + /// + /// The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep + /// them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting + /// from the RTC room when a lobby is left or disconnected. + /// + /// This notification is entirely informational and requires no action in response by the application. If the connected status is offline + /// (bIsConnected is ), the connection will automatically attempt to reconnect. The purpose of this notification is to allow + /// applications to show the current connection status of the RTC room when the connection is not established. + /// + /// Unlike , should not be called when the RTC room is disconnected. + /// + /// This function will only succeed when called on a lobby the local user is currently a member of. + /// + /// + /// + /// + /// + /// Structure containing information about the lobby to receive updates about + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// The function to call if the RTC Room's connection status changes + /// + /// + /// A valid notification ID if the NotificationFn was successfully registered, or if the input was invalid, the lobby did not exist, or the lobby did not have an RTC room. + /// + public ulong AddNotifyRTCRoomConnectionChanged(ref AddNotifyRTCRoomConnectionChangedOptions options, object clientData, OnRTCRoomConnectionChangedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyRTCRoomConnectionChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifyRTCRoomConnectionChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnRTCRoomConnectionChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications about a lobby "INVITE" performed by a local user via the overlay. + /// This is only needed when a configured integrated platform has set. The EOS SDK will + /// then use the state of and to determine when the NotificationFn is + /// called. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate. + /// + /// + /// A callback that is fired when a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifySendLobbyNativeInviteRequested(ref AddNotifySendLobbyNativeInviteRequestedOptions options, object clientData, OnSendLobbyNativeInviteRequestedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifySendLobbyNativeInviteRequestedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Lobby_AddNotifySendLobbyNativeInviteRequested(InnerHandle, ref optionsInternal, clientDataPointer, OnSendLobbyNativeInviteRequestedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Create a handle to an existing lobby. + /// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it. + /// + /// + /// + /// + /// Structure containing information about the lobby to retrieve + /// + /// + /// The new active lobby handle or if there was an error + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the lobby handle was created successfully + /// - if any of the options are incorrect + /// - if the API version passed in is incorrect + /// - if the lobby doesn't exist + /// + public Result CopyLobbyDetailsHandle(ref CopyLobbyDetailsHandleOptions options, out LobbyDetails outLobbyDetailsHandle) + { + var optionsInternal = default(CopyLobbyDetailsHandleOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyDetailsHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Lobby_CopyLobbyDetailsHandle(InnerHandle, ref optionsInternal, out outLobbyDetailsHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyDetailsHandleInnerHandle, out outLobbyDetailsHandle); + + return callResult; + } + + /// + /// is used to immediately retrieve a handle to the lobby information from after notification of an invite + /// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it. + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// out parameter used to receive the lobby handle + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLobbyDetailsHandle + /// - if you pass an invalid invite ID or a for the out parameter + /// - if the API version passed in is incorrect + /// - If the invite ID cannot be found + /// + public Result CopyLobbyDetailsHandleByInviteId(ref CopyLobbyDetailsHandleByInviteIdOptions options, out LobbyDetails outLobbyDetailsHandle) + { + var optionsInternal = default(CopyLobbyDetailsHandleByInviteIdOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyDetailsHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Lobby_CopyLobbyDetailsHandleByInviteId(InnerHandle, ref optionsInternal, out outLobbyDetailsHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyDetailsHandleInnerHandle, out outLobbyDetailsHandle); + + return callResult; + } + + /// + /// is used to immediately retrieve a handle to the lobby information from after notification of a join game + /// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it. + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// out parameter used to receive the lobby handle + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLobbyDetailsHandle + /// - if you pass an invalid ui event ID + /// - if the API version passed in is incorrect + /// - If the invite ID cannot be found + /// + public Result CopyLobbyDetailsHandleByUiEventId(ref CopyLobbyDetailsHandleByUiEventIdOptions options, out LobbyDetails outLobbyDetailsHandle) + { + var optionsInternal = default(CopyLobbyDetailsHandleByUiEventIdOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyDetailsHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Lobby_CopyLobbyDetailsHandleByUiEventId(InnerHandle, ref optionsInternal, out outLobbyDetailsHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyDetailsHandleInnerHandle, out outLobbyDetailsHandle); + + return callResult; + } + + /// + /// Creates a lobby and adds the user to the lobby membership. There is no data associated with the lobby at the start and can be added vis + /// + /// If the lobby is successfully created with an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the + /// local user remains in the lobby. Applications can use the to get the name of the RTC Room associated with a lobby, which may be used with + /// many of the functions in the RTC interface. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output; + /// to block or unblock room participants; to set local audio device settings; and more. + /// + /// + /// + /// + /// Required fields for the creation of a lobby such as a user count and its starting advertised state + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the create operation completes, either successfully or in error + /// + public void CreateLobby(ref CreateLobbyOptions options, object clientData, OnCreateLobbyCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(CreateLobbyOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_CreateLobby(InnerHandle, ref optionsInternal, clientDataPointer, OnCreateLobbyCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Create a lobby search handle. This handle may be modified to include various search parameters. + /// Searching is possible in three methods, all mutually exclusive + /// - set the lobby ID to find a specific lobby + /// - set the target user ID to find a specific user + /// - set lobby parameters to find an array of lobbies that match the search criteria + /// + /// + /// + /// + /// Structure containing required parameters such as the maximum number of search results + /// + /// + /// The new search handle or if there was an error creating the search handle + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the search creation completes successfully + /// - if any of the options are incorrect + /// + public Result CreateLobbySearch(ref CreateLobbySearchOptions options, out LobbySearch outLobbySearchHandle) + { + var optionsInternal = default(CreateLobbySearchOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbySearchHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Lobby_CreateLobbySearch(InnerHandle, ref optionsInternal, out outLobbySearchHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbySearchHandleInnerHandle, out outLobbySearchHandle); + + return callResult; + } + + /// + /// Destroy a lobby given a lobby ID + /// + /// + /// + /// + /// Structure containing information about the lobby to be destroyed + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the destroy operation completes, either successfully or in error + /// + public void DestroyLobby(ref DestroyLobbyOptions options, object clientData, OnDestroyLobbyCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(DestroyLobbyOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_DestroyLobby(InnerHandle, ref optionsInternal, clientDataPointer, OnDestroyLobbyCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Get the Connection for an EOS lobby. The connection describes the presence of a player in terms of game state. + /// Xbox platforms expect titles to embed this into their MultiplayerActivity at creation. + /// When present, the SDK will use this value to populate session presence in the social overlay and facilitate platform invitations. + /// + /// + /// + /// Structure containing the input parameters. API version, the LobbyID of the lobby to generate the from and the PUID of the requesting user. + /// + /// + /// The buffer to store the -terminated ConnectString within + /// + /// + /// In: The maximum amount of writable chars in OutBuffer see , Out: The minimum amount of chars needed in OutBuffer to store the ConnectString (including the -terminator). May be set to zero depending on the error result. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if retrieving the was successful. + /// - if the OutBuffer or InOutBufferLength are . + /// - if the API version passed in is incorrect. + /// - if no lobby is found matching the LobbyID and PUID provided. + /// - if the provided InOutBufferLength is too small to contain the resulting . + /// + public Result GetConnectString(ref GetConnectStringOptions options, out Utf8String outBuffer) + { + var optionsInternal = default(GetConnectStringOptionsInternal); + optionsInternal.Set(ref options); + + uint inOutBufferLength = GETCONNECTSTRING_BUFFER_SIZE; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Lobby_GetConnectString(InnerHandle, ref optionsInternal, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Get the number of known invites for a given user + /// + /// + /// + /// the Options associated with retrieving the current invite count + /// + /// + /// number of known invites for a given user or 0 if there is an error + /// + public uint GetInviteCount(ref GetInviteCountOptions options) + { + var optionsInternal = default(GetInviteCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Lobby_GetInviteCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Retrieve an invite ID from a list of active invites for a given user + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the input is valid and an invite ID was returned + /// - if any of the options are incorrect + /// - if the invite doesn't exist + /// + public Result GetInviteIdByIndex(ref GetInviteIdByIndexOptions options, out Utf8String outBuffer) + { + var optionsInternal = default(GetInviteIdByIndexOptionsInternal); + optionsInternal.Set(ref options); + + int inOutBufferLength = INVITEID_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Lobby_GetInviteIdByIndex(InnerHandle, ref optionsInternal, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Get the name of the RTC room associated with a specific lobby a local user belongs to. + /// + /// This value can be used whenever you need a RoomName value in the RTC_* suite of functions. RTC Room Names must not be used with + /// , , or . Doing so will return or + /// if used with those functions. + /// + /// This function will only succeed when called on a lobby the local user is currently a member of. + /// + /// + /// + /// Structure containing information about the RTC room name to retrieve + /// + /// + /// The buffer to store the -terminated room name within + /// + /// + /// In: The maximum amount of writable chars in OutBuffer, Out: The minimum amount of chars needed in OutBuffer to store the RTC room name (including the -terminator) + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if a room exists for the specified lobby, there was enough space in OutBuffer, and the name was written successfully + /// - if the lobby does not exist + /// - if the lobby exists, but did not have the RTC Room feature enabled when created + /// - if you pass a on invalid length for any of the parameters + /// - The OutBuffer is not large enough to receive the room name. InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetRTCRoomName(ref GetRTCRoomNameOptions options, out Utf8String outBuffer) + { + var optionsInternal = default(GetRTCRoomNameOptionsInternal); + optionsInternal.Set(ref options); + + uint inOutBufferLength = 256; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Lobby_GetRTCRoomName(InnerHandle, ref optionsInternal, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Hard mute an existing member in the lobby, can't speak but can hear other members of the lobby + /// + /// + /// + /// + /// Structure containing information about the lobby and member to be hard muted + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the hard mute operation completes, either successfully or in error + /// + public void HardMuteMember(ref HardMuteMemberOptions options, object clientData, OnHardMuteMemberCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(HardMuteMemberOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_HardMuteMember(InnerHandle, ref optionsInternal, clientDataPointer, OnHardMuteMemberCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Get the current connection status of the RTC Room for a lobby. + /// + /// The RTC Room connection status is independent of the lobby connection status, however the lobby system will attempt to keep + /// them consistent, automatically connecting to the RTC room after joining a lobby which has an associated RTC room and disconnecting + /// from the RTC room when a lobby is left or disconnected. + /// + /// This function will only succeed when called on a lobby the local user is currently a member of. + /// + /// + /// + /// + /// Structure containing information about the lobby to query the RTC Room connection status for + /// + /// + /// If the result is , this will be set to if we are connected, or if we are not yet connected. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if we are connected to the specified lobby, the input options and parameters were valid and we were able to write to bOutIsConnected successfully. + /// - if the lobby doesn't exist + /// - if the lobby exists, but did not have the RTC Room feature enabled when created + /// - if bOutIsConnected is , or any other parameters are or invalid + /// + public Result IsRTCRoomConnected(ref IsRTCRoomConnectedOptions options, out bool outIsConnected) + { + var optionsInternal = default(IsRTCRoomConnectedOptionsInternal); + optionsInternal.Set(ref options); + + int outIsConnectedInt = 0; + + var callResult = Bindings.EOS_Lobby_IsRTCRoomConnected(InnerHandle, ref optionsInternal, out outIsConnectedInt); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outIsConnectedInt, out outIsConnected); + + return callResult; + } + + /// + /// Join a lobby, creating a local instance under a given lobby ID. Backend will validate various conditions to make sure it is possible to join the lobby. + /// + /// If the lobby is successfully join has an RTC Room enabled, the lobby system will automatically join and maintain the connection to the RTC room as long as the + /// local user remains in the lobby. Applications can use the to get the name of the RTC Room associated with a lobby, which may be used with + /// many of the functions in the RTC interface. This can be useful to: register for notifications for talking status; to mute or unmute the local user's audio output; + /// to block or unblock room participants; to set local audio device settings; and more. + /// + /// + /// + /// + /// Structure containing information about the lobby to be joined + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the join operation completes, either successfully or in error + /// + public void JoinLobby(ref JoinLobbyOptions options, object clientData, OnJoinLobbyCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(JoinLobbyOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_JoinLobby(InnerHandle, ref optionsInternal, clientDataPointer, OnJoinLobbyCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// This is a special case of . It should only be used if the lobby has had Join-by-ID enabled. + /// Additionally, Join-by-ID should only be enabled to support native invites on an integrated platform. + /// + /// + /// + /// + /// + /// Structure containing information about the lobby to be joined + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the join operation completes, either successfully or in error + /// + public void JoinLobbyById(ref JoinLobbyByIdOptions options, object clientData, OnJoinLobbyByIdCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(JoinLobbyByIdOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_JoinLobbyById(InnerHandle, ref optionsInternal, clientDataPointer, OnJoinLobbyByIdCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Joins the RTC room associated with a specific lobby a local user belongs to. + /// + /// This function will only succeed when called on a lobby that has the RTC Room feature enabled. + /// Clients may check if the RTC Room feature is enabled by inspecting the value of . + /// + /// + /// + /// + /// Structure containing information about which lobby a local user should join the RTC Room for + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the join RTC Room operation completes, either successfully or in error + /// + public void JoinRTCRoom(ref JoinRTCRoomOptions options, object clientData, OnJoinRTCRoomCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(JoinRTCRoomOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_JoinRTCRoom(InnerHandle, ref optionsInternal, clientDataPointer, OnJoinRTCRoomCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Kick an existing member from the lobby + /// + /// + /// + /// + /// Structure containing information about the lobby and member to be kicked + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the kick operation completes, either successfully or in error + /// + public void KickMember(ref KickMemberOptions options, object clientData, OnKickMemberCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(KickMemberOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_KickMember(InnerHandle, ref optionsInternal, clientDataPointer, OnKickMemberCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Leave a lobby given a lobby ID + /// + /// If the lobby you are leaving had an RTC Room enabled, leaving the lobby will also automatically leave the RTC room. + /// + /// + /// + /// + /// Structure containing information about the lobby to be left + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the leave operation completes, either successfully or in error + /// + public void LeaveLobby(ref LeaveLobbyOptions options, object clientData, OnLeaveLobbyCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LeaveLobbyOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_LeaveLobby(InnerHandle, ref optionsInternal, clientDataPointer, OnLeaveLobbyCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Leaves the RTC room associated with a specific lobby a local user belongs to. + /// + /// This function will only succeed when called on a lobby that has the RTC Room feature enabled. + /// Clients may check if the RTC Room feature is enabled by inspecting the value of . + /// + /// + /// + /// + /// Structure containing information about which lobby a local user should leave the RTC Room for + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the leave RTC Room operation completes, either successfully or in error + /// + public void LeaveRTCRoom(ref LeaveRTCRoomOptions options, object clientData, OnLeaveRTCRoomCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LeaveRTCRoomOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_LeaveRTCRoom(InnerHandle, ref optionsInternal, clientDataPointer, OnLeaveRTCRoomCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Parse the ConnectString for an EOS lobby invitation to extract just the lobby ID. + /// Used for joining a lobby from a connection (as generated by GetConnectString) found in a platform invitation or presence. + /// + /// + /// + /// Structure containing the input parameters. API version and ConnectString. + /// + /// + /// The buffer to store the -terminated lobby ID within + /// + /// + /// In: The maximum amount of writable chars in OutBuffer see , Out: The minimum amount of chars needed in OutBuffer to store the LobbyID (including the -terminator). May be set to zero depending on the error result. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if retrieving the was successful. + /// - if the OutBuffer or InOutBufferLength are . + /// - if the API version passed in is incorrect. + /// - if the provided InOutBufferLength is too small to contain the resulting . + /// + public Result ParseConnectString(ref ParseConnectStringOptions options, out Utf8String outBuffer) + { + var optionsInternal = default(ParseConnectStringOptionsInternal); + optionsInternal.Set(ref options); + + uint inOutBufferLength = PARSECONNECTSTRING_BUFFER_SIZE; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Lobby_ParseConnectString(InnerHandle, ref optionsInternal, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Promote an existing member of the lobby to owner, allowing them to make lobby data modifications + /// + /// + /// + /// + /// Structure containing information about the lobby and member to be promoted + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the promotion operation completes, either successfully or in error + /// + public void PromoteMember(ref PromoteMemberOptions options, object clientData, OnPromoteMemberCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(PromoteMemberOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_PromoteMember(InnerHandle, ref optionsInternal, clientDataPointer, OnPromoteMemberCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Retrieve all existing invites for a single user + /// + /// + /// + /// + /// Structure containing information about the invites to query + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the query invites operation completes, either successfully or in error + /// + public void QueryInvites(ref QueryInvitesOptions options, object clientData, OnQueryInvitesCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryInvitesOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_QueryInvites(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryInvitesCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Reject an invite from another user. + /// + /// + /// + /// + /// Structure containing information about the invite to reject + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the reject invite operation completes, either successfully or in error + /// + public void RejectInvite(ref RejectInviteOptions options, object clientData, OnRejectInviteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(RejectInviteOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_RejectInvite(InnerHandle, ref optionsInternal, clientDataPointer, OnRejectInviteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unregister from receiving notifications when a user accepts a lobby invitation via the overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyJoinLobbyAccepted(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyJoinLobbyAccepted(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a user performs a leave lobby action via the overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLeaveLobbyRequested(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLeaveLobbyRequested(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a user accepts a lobby invitation via the overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLobbyInviteAccepted(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLobbyInviteAccepted(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a user receives a lobby invitation. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLobbyInviteReceived(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLobbyInviteReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a user rejects a lobby invitation via the overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLobbyInviteRejected(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLobbyInviteRejected(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when lobby members status change. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLobbyMemberStatusReceived(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLobbyMemberStatusReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when lobby members change their data. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLobbyMemberUpdateReceived(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLobbyMemberUpdateReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a lobby changes its data. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyLobbyUpdateReceived(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyLobbyUpdateReceived(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when an RTC Room's connection status changes. + /// + /// This should be called when the local user is leaving a lobby. + /// + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyRTCRoomConnectionChanged(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifyRTCRoomConnectionChanged(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister from receiving notifications when a user requests a send invite via the overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifySendLobbyNativeInviteRequested(ulong inId) + { + Bindings.EOS_Lobby_RemoveNotifySendLobbyNativeInviteRequested(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Send an invite to another user. User must be a member of the lobby or else the call will fail + /// + /// + /// + /// + /// Structure containing information about the lobby and user to invite + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the send invite operation completes, either successfully or in error + /// + public void SendInvite(ref SendInviteOptions options, object clientData, OnSendInviteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(SendInviteOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_SendInvite(InnerHandle, ref optionsInternal, clientDataPointer, OnSendInviteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Update a lobby given a lobby modification handle created by + /// + /// + /// + /// + /// Structure containing information about the lobby to be updated + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the update operation completes, either successfully or in error + /// + public void UpdateLobby(ref UpdateLobbyOptions options, object clientData, OnUpdateLobbyCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(UpdateLobbyOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Lobby_UpdateLobby(InnerHandle, ref optionsInternal, clientDataPointer, OnUpdateLobbyCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Creates a lobby modification handle (). The lobby modification handle is used to modify an existing lobby and can be applied with . + /// The must be released by calling once it is no longer needed. + /// + /// + /// + /// + /// + /// + /// Required fields such as lobby ID + /// + /// + /// to a Lobby Modification Handle only set if successful + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if we successfully created the Lobby Modification Handle pointed at in OutLobbyModificationHandle, or an error result if the input data was invalid + /// - if any of the options are incorrect + /// + public Result UpdateLobbyModification(ref UpdateLobbyModificationOptions options, out LobbyModification outLobbyModificationHandle) + { + var optionsInternal = default(UpdateLobbyModificationOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyModificationHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Lobby_UpdateLobbyModification(InnerHandle, ref optionsInternal, out outLobbyModificationHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyModificationHandleInnerHandle, out outLobbyModificationHandle); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteAcceptedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteAcceptedCallbackInfo.cs new file mode 100644 index 0000000..0b0c48a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteAcceptedCallbackInfo.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct LobbyInviteAcceptedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The invite ID + /// + public Utf8String InviteId { get; set; } + + /// + /// The Product User ID of the local user who received the invitation + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the user who sent the invitation + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Lobby ID that the user has been invited to + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyInviteAcceptedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_InviteId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbyInviteAcceptedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String InviteIdPublic; + Helper.Get(m_InviteId, out InviteIdPublic); + other.InviteId = InviteIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteReceivedCallbackInfo.cs new file mode 100644 index 0000000..19eac89 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteReceivedCallbackInfo.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct LobbyInviteReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the invitation + /// + public Utf8String InviteId { get; set; } + + /// + /// The Product User ID of the local user who received the invitation + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the user who sent the invitation + /// + public ProductUserId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyInviteReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_InviteId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbyInviteReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String InviteIdPublic; + Helper.Get(m_InviteId, out InviteIdPublic); + other.InviteId = InviteIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteRejectedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteRejectedCallbackInfo.cs new file mode 100644 index 0000000..26aa4ee --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyInviteRejectedCallbackInfo.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct LobbyInviteRejectedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The invite ID + /// + public Utf8String InviteId { get; set; } + + /// + /// The Product User ID of the local user who received the invitation + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the user who sent the invitation + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Lobby ID that the user has been invited to + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyInviteRejectedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_InviteId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbyInviteRejectedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String InviteIdPublic; + Helper.Get(m_InviteId, out InviteIdPublic); + other.InviteId = InviteIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberStatus.cs new file mode 100644 index 0000000..cb8299a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberStatus.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Various types of lobby member updates + /// + public enum LobbyMemberStatus : int + { + /// + /// The user has joined the lobby + /// + Joined = 0, + /// + /// The user has explicitly left the lobby + /// + Left = 1, + /// + /// The user has unexpectedly left the lobby + /// + Disconnected = 2, + /// + /// The user has been kicked from the lobby + /// + Kicked = 3, + /// + /// The user has been promoted to lobby owner + /// + Promoted = 4, + /// + /// The lobby has been closed and user has been removed + /// + Closed = 5 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberStatusReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberStatusReceivedCallbackInfo.cs new file mode 100644 index 0000000..0f3c8b7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberStatusReceivedCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct LobbyMemberStatusReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the lobby member + /// + public ProductUserId TargetUserId { get; set; } + + /// + /// Latest status of the user + /// + public LobbyMemberStatus CurrentStatus { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyMemberStatusReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + private IntPtr m_TargetUserId; + private LobbyMemberStatus m_CurrentStatus; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbyMemberStatusReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + other.CurrentStatus = m_CurrentStatus; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberUpdateReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberUpdateReceivedCallbackInfo.cs new file mode 100644 index 0000000..fb1dda7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyMemberUpdateReceivedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct LobbyMemberUpdateReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the lobby member + /// + public ProductUserId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyMemberUpdateReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbyMemberUpdateReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + ProductUserId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModification.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModification.cs new file mode 100644 index 0000000..47f66bf --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModification.cs @@ -0,0 +1,268 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Lobby +{ + public sealed partial class LobbyModification : Handle + { + public LobbyModification() + { + } + + public LobbyModification(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Associate an attribute with this lobby + /// An attribute is something may be public or private with the lobby. + /// If public, it can be queried for in a search, otherwise the data remains known only to lobby members + /// + /// + /// + /// Options to set the attribute and its visibility state + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the attribute is missing information or otherwise invalid + /// - if the API version passed in is incorrect + /// + public Result AddAttribute(ref LobbyModificationAddAttributeOptions options) + { + var optionsInternal = default(LobbyModificationAddAttributeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_AddAttribute(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Associate an attribute with a member of the lobby + /// Lobby member data is always private to the lobby + /// + /// + /// + /// Options to set the attribute and its visibility state + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the attribute is missing information or otherwise invalid + /// - if the API version passed in is incorrect + /// + public Result AddMemberAttribute(ref LobbyModificationAddMemberAttributeOptions options) + { + var optionsInternal = default(LobbyModificationAddMemberAttributeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_AddMemberAttribute(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Release the memory associated with a lobby modification. This must be called on data retrieved from . + /// + /// + /// + /// - The lobby modification handle to release + /// + public void Release() + { + Bindings.EOS_LobbyModification_Release(InnerHandle); + } + + /// + /// Remove an attribute associated with the lobby + /// + /// + /// + /// Specify the key of the attribute to remove + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if removing this parameter was successful + /// - if the key is or empty + /// - if the API version passed in is incorrect + /// + public Result RemoveAttribute(ref LobbyModificationRemoveAttributeOptions options) + { + var optionsInternal = default(LobbyModificationRemoveAttributeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_RemoveAttribute(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Remove an attribute associated with of member of the lobby + /// + /// + /// + /// Specify the key of the member attribute to remove + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if removing this parameter was successful + /// - if the key is or empty + /// - if the API version passed in is incorrect + /// + public Result RemoveMemberAttribute(ref LobbyModificationRemoveMemberAttributeOptions options) + { + var optionsInternal = default(LobbyModificationRemoveMemberAttributeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_RemoveMemberAttribute(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set the Allowed Platform IDs for the lobby + /// + /// + /// + /// Options associated with allowed Platform IDs for this lobby + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the API version passed in is incorrect + /// - if the AllowedPlatformIds array is but the count is 0 or if the count is greater than 0 and the array is . + /// + public Result SetAllowedPlatformIds(ref LobbyModificationSetAllowedPlatformIdsOptions options) + { + var optionsInternal = default(LobbyModificationSetAllowedPlatformIdsOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_SetAllowedPlatformIds(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set the bucket ID associated with this lobby. + /// Values such as region, game mode, etc can be combined here depending on game need. + /// Setting this is strongly recommended to improve search performance. + /// + /// + /// + /// Options associated with the bucket ID of the lobby + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the bucket ID is invalid or + /// - if the API version passed in is incorrect + /// + public Result SetBucketId(ref LobbyModificationSetBucketIdOptions options) + { + var optionsInternal = default(LobbyModificationSetBucketIdOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_SetBucketId(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Allows enabling or disabling invites for this lobby. + /// The lobby will also need to have `bPresenceEnabled` . + /// + /// + /// + /// Options associated with invites allowed flag for this lobby. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the API version passed in is incorrect + /// + public Result SetInvitesAllowed(ref LobbyModificationSetInvitesAllowedOptions options) + { + var optionsInternal = default(LobbyModificationSetInvitesAllowedOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_SetInvitesAllowed(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set the maximum number of members allowed in this lobby. + /// When updating the lobby, it is not possible to reduce this number below the current number of existing members + /// + /// + /// + /// Options associated with max number of members in this lobby + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the API version passed in is incorrect + /// + public Result SetMaxMembers(ref LobbyModificationSetMaxMembersOptions options) + { + var optionsInternal = default(LobbyModificationSetMaxMembersOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_SetMaxMembers(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set the permissions associated with this lobby. + /// The permissions range from "public" to "invite only" and are described by + /// + /// + /// + /// Options associated with the permission level of the lobby + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this parameter was successful + /// - if the API version passed in is incorrect + /// + public Result SetPermissionLevel(ref LobbyModificationSetPermissionLevelOptions options) + { + var optionsInternal = default(LobbyModificationSetPermissionLevelOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbyModification_SetPermissionLevel(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationAddAttributeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationAddAttributeOptions.cs new file mode 100644 index 0000000..e10b76d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationAddAttributeOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationAddAttributeOptions + { + /// + /// Key/Value pair describing the attribute to add to the lobby + /// + public AttributeData? Attribute { get; set; } + + /// + /// Is this attribute public or private to the lobby and its members + /// + public LobbyAttributeVisibility Visibility { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationAddAttributeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Attribute; + private LobbyAttributeVisibility m_Visibility; + + public void Set(ref LobbyModificationAddAttributeOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_ADDATTRIBUTE_API_LATEST; + Helper.Set(other.Attribute, ref m_Attribute); + m_Visibility = other.Visibility; + } + + public void Dispose() + { + Helper.Dispose(ref m_Attribute); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationAddMemberAttributeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationAddMemberAttributeOptions.cs new file mode 100644 index 0000000..bb5ed06 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationAddMemberAttributeOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationAddMemberAttributeOptions + { + /// + /// Key/Value pair describing the attribute to add to the lobby member + /// + public AttributeData? Attribute { get; set; } + + /// + /// Is this attribute public or private to the rest of the lobby members + /// + public LobbyAttributeVisibility Visibility { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationAddMemberAttributeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Attribute; + private LobbyAttributeVisibility m_Visibility; + + public void Set(ref LobbyModificationAddMemberAttributeOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_ADDMEMBERATTRIBUTE_API_LATEST; + Helper.Set(other.Attribute, ref m_Attribute); + m_Visibility = other.Visibility; + } + + public void Dispose() + { + Helper.Dispose(ref m_Attribute); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationRemoveAttributeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationRemoveAttributeOptions.cs new file mode 100644 index 0000000..4e7903b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationRemoveAttributeOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationRemoveAttributeOptions + { + /// + /// Name of the key + /// + public Utf8String Key { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationRemoveAttributeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + + public void Set(ref LobbyModificationRemoveAttributeOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_REMOVEATTRIBUTE_API_LATEST; + Helper.Set(other.Key, ref m_Key); + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationRemoveMemberAttributeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationRemoveMemberAttributeOptions.cs new file mode 100644 index 0000000..05eb0b1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationRemoveMemberAttributeOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationRemoveMemberAttributeOptions + { + /// + /// Name of the key + /// + public Utf8String Key { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationRemoveMemberAttributeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + + public void Set(ref LobbyModificationRemoveMemberAttributeOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_REMOVEMEMBERATTRIBUTE_API_LATEST; + Helper.Set(other.Key, ref m_Key); + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetAllowedPlatformIdsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetAllowedPlatformIdsOptions.cs new file mode 100644 index 0000000..7dfaf7d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetAllowedPlatformIdsOptions.cs @@ -0,0 +1,42 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationSetAllowedPlatformIdsOptions + { + /// + /// Array of platform IDs indicating the player platforms allowed to register with the lobby. Platform IDs are + /// found in the EOS header file (eos_common.h), for example . For some platforms the value will be + /// in the EOS Platform specific header file. If , the lobby will be unrestricted. + /// + public uint[] AllowedPlatformIds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationSetAllowedPlatformIdsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AllowedPlatformIds; + private uint m_AllowedPlatformIdsCount; + + public void Set(ref LobbyModificationSetAllowedPlatformIdsOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_SETALLOWEDPLATFORMIDS_API_LATEST; + Helper.Set(other.AllowedPlatformIds, ref m_AllowedPlatformIds, out m_AllowedPlatformIdsCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_AllowedPlatformIds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetBucketIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetBucketIdOptions.cs new file mode 100644 index 0000000..3c3a13d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetBucketIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationSetBucketIdOptions + { + /// + /// The new bucket id associated with the lobby + /// + public Utf8String BucketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationSetBucketIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_BucketId; + + public void Set(ref LobbyModificationSetBucketIdOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_SETBUCKETID_API_LATEST; + Helper.Set(other.BucketId, ref m_BucketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_BucketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetInvitesAllowedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetInvitesAllowedOptions.cs new file mode 100644 index 0000000..1af4dea --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetInvitesAllowedOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the Function. + /// + public struct LobbyModificationSetInvitesAllowedOptions + { + /// + /// If then invites can currently be sent for the associated lobby + /// + public bool InvitesAllowed { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationSetInvitesAllowedOptionsInternal : ISettable + { + private int m_ApiVersion; + private int m_InvitesAllowed; + + public void Set(ref LobbyModificationSetInvitesAllowedOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_SETINVITESALLOWED_API_LATEST; + Helper.Set(other.InvitesAllowed, ref m_InvitesAllowed); + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetMaxMembersOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetMaxMembersOptions.cs new file mode 100644 index 0000000..7c0b01e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetMaxMembersOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationSetMaxMembersOptions + { + /// + /// New maximum number of lobby members + /// + public uint MaxMembers { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationSetMaxMembersOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_MaxMembers; + + public void Set(ref LobbyModificationSetMaxMembersOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_SETMAXMEMBERS_API_LATEST; + m_MaxMembers = other.MaxMembers; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetPermissionLevelOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetPermissionLevelOptions.cs new file mode 100644 index 0000000..2c7a332 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyModificationSetPermissionLevelOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbyModificationSetPermissionLevelOptions + { + /// + /// Permission level of the lobby + /// + public LobbyPermissionLevel PermissionLevel { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyModificationSetPermissionLevelOptionsInternal : ISettable + { + private int m_ApiVersion; + private LobbyPermissionLevel m_PermissionLevel; + + public void Set(ref LobbyModificationSetPermissionLevelOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYMODIFICATION_SETPERMISSIONLEVEL_API_LATEST; + m_PermissionLevel = other.PermissionLevel; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyPermissionLevel.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyPermissionLevel.cs new file mode 100644 index 0000000..d5fa9b1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyPermissionLevel.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Permission level gets more restrictive further down + /// + public enum LobbyPermissionLevel : int + { + /// + /// Anyone can find this lobby as long as it isn't full + /// + Publicadvertised = 0, + /// + /// Players who have access to presence can see this lobby + /// + Joinviapresence = 1, + /// + /// Only players with invites registered can see this lobby + /// + Inviteonly = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyRTCRoomJoinActionType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyRTCRoomJoinActionType.cs new file mode 100644 index 0000000..003897b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyRTCRoomJoinActionType.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Defines the type of action to take against RTC room when joining a lobby + /// + public enum LobbyRTCRoomJoinActionType : int + { + /// + /// Join RTC Room as soon as user joins the lobby + /// + AutomaticJoin = 0, + /// + /// Do not join RTC Room when joining the lobby. User must manually call Join RTC Room + /// + ManualJoin = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearch.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearch.cs new file mode 100644 index 0000000..be13776 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearch.cs @@ -0,0 +1,255 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Lobby +{ + public sealed partial class LobbySearch : Handle + { + public LobbySearch() + { + } + + public LobbySearch(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// is used to immediately retrieve a handle to the lobby information from a given search result. + /// If the call returns an result, the out parameter, OutLobbyDetailsHandle, must be passed to to release the memory associated with it. + /// + /// + /// + /// + /// + /// Structure containing the input parameters + /// + /// + /// out parameter used to receive the lobby details handle + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if the information is available and passed out in OutLobbyDetailsHandle + /// - if you pass an invalid index or a for the out parameter + /// - if the API version passed in is incorrect + /// + public Result CopySearchResultByIndex(ref LobbySearchCopySearchResultByIndexOptions options, out LobbyDetails outLobbyDetailsHandle) + { + var optionsInternal = default(LobbySearchCopySearchResultByIndexOptionsInternal); + optionsInternal.Set(ref options); + + var outLobbyDetailsHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_LobbySearch_CopySearchResultByIndex(InnerHandle, ref optionsInternal, out outLobbyDetailsHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outLobbyDetailsHandleInnerHandle, out outLobbyDetailsHandle); + + return callResult; + } + + /// + /// Find lobbies matching the search criteria setup via this lobby search handle. + /// When the operation completes, this handle will have the search results that can be parsed + /// + /// + /// + /// + /// Structure containing information about the search criteria to use + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// A callback that is fired when the search operation completes, either successfully or in error + /// + public void Find(ref LobbySearchFindOptions options, object clientData, LobbySearchOnFindCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(LobbySearchFindOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_LobbySearch_Find(InnerHandle, ref optionsInternal, clientDataPointer, LobbySearchOnFindCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Get the number of search results found by the search parameters in this search + /// + /// + /// + /// Options associated with the search count + /// + /// + /// return the number of search results found by the query or 0 if search is not complete + /// + public uint GetSearchResultCount(ref LobbySearchGetSearchResultCountOptions options) + { + var optionsInternal = default(LobbySearchGetSearchResultCountOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbySearch_GetSearchResultCount(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Release the memory associated with a lobby search. This must be called on data retrieved from . + /// + /// + /// + /// - The lobby search handle to release + /// + public void Release() + { + Bindings.EOS_LobbySearch_Release(InnerHandle); + } + + /// + /// Remove a parameter from the array of search criteria. + /// + /// + /// + /// a search parameter key name to remove + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if removing this search parameter was successful + /// - if the search key is invalid or + /// - if the parameter was not a part of the search criteria + /// - if the API version passed in is incorrect + /// + public Result RemoveParameter(ref LobbySearchRemoveParameterOptions options) + { + var optionsInternal = default(LobbySearchRemoveParameterOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbySearch_RemoveParameter(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set a lobby ID to find and will return at most one search result. Setting TargetUserId or SearchParameters will result in failing + /// + /// + /// + /// A specific lobby ID for which to search + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this lobby ID was successful + /// - if the lobby ID is invalid or + /// - if the API version passed in is incorrect + /// + public Result SetLobbyId(ref LobbySearchSetLobbyIdOptions options) + { + var optionsInternal = default(LobbySearchSetLobbyIdOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbySearch_SetLobbyId(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set the maximum number of search results to return in the query, can't be more than + /// + /// + /// + /// maximum number of search results to return in the query + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting the max results was successful + /// - if the number of results requested is invalid + /// - if the API version passed in is incorrect + /// + public Result SetMaxResults(ref LobbySearchSetMaxResultsOptions options) + { + var optionsInternal = default(LobbySearchSetMaxResultsOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbySearch_SetMaxResults(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Add a parameter to an array of search criteria combined via an implicit AND operator. Setting LobbyId or TargetUserId will result in failing + /// + /// + /// + /// + /// + /// a search parameter and its comparison op + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this search parameter was successful + /// - if the search criteria is invalid or + /// - if the API version passed in is incorrect + /// + public Result SetParameter(ref LobbySearchSetParameterOptions options) + { + var optionsInternal = default(LobbySearchSetParameterOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbySearch_SetParameter(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set a target user ID to find. Setting LobbyId or SearchParameters will result in failing + /// a search result will only be found if this user is in a public lobby + /// + /// + /// + /// a specific target user ID to find + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if setting this target user ID was successful + /// - if the target user ID is invalid or + /// - if the API version passed in is incorrect + /// + public Result SetTargetUserId(ref LobbySearchSetTargetUserIdOptions options) + { + var optionsInternal = default(LobbySearchSetTargetUserIdOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_LobbySearch_SetTargetUserId(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchCopySearchResultByIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchCopySearchResultByIndexOptions.cs new file mode 100644 index 0000000..8502a0a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchCopySearchResultByIndexOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchCopySearchResultByIndexOptions + { + /// + /// The index of the lobby to retrieve within the completed search query + /// + /// + public uint LobbyIndex { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchCopySearchResultByIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_LobbyIndex; + + public void Set(ref LobbySearchCopySearchResultByIndexOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_COPYSEARCHRESULTBYINDEX_API_LATEST; + m_LobbyIndex = other.LobbyIndex; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchFindCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchFindCallbackInfo.cs new file mode 100644 index 0000000..47216e2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchFindCallbackInfo.cs @@ -0,0 +1,59 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct LobbySearchFindCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchFindCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbySearchFindCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchFindOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchFindOptions.cs new file mode 100644 index 0000000..d4154b6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchFindOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchFindOptions + { + /// + /// The Product User ID of the user making the search request + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchFindOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref LobbySearchFindOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_FIND_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchGetSearchResultCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchGetSearchResultCountOptions.cs new file mode 100644 index 0000000..df75700 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchGetSearchResultCountOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchGetSearchResultCountOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchGetSearchResultCountOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref LobbySearchGetSearchResultCountOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_GETSEARCHRESULTCOUNT_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchOnFindCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchOnFindCallback.cs new file mode 100644 index 0000000..74a9bff --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchOnFindCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void LobbySearchOnFindCallback(ref LobbySearchFindCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void LobbySearchOnFindCallbackInternal(ref LobbySearchFindCallbackInfoInternal data); + + internal static class LobbySearchOnFindCallbackInternalImplementation + { + private static LobbySearchOnFindCallbackInternal s_Delegate; + public static LobbySearchOnFindCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new LobbySearchOnFindCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(LobbySearchOnFindCallbackInternal))] + public static void EntryPoint(ref LobbySearchFindCallbackInfoInternal data) + { + LobbySearchOnFindCallback callback; + LobbySearchFindCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchRemoveParameterOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchRemoveParameterOptions.cs new file mode 100644 index 0000000..d4dc718 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchRemoveParameterOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchRemoveParameterOptions + { + /// + /// Search parameter key to remove from the search + /// + public Utf8String Key { get; set; } + + /// + /// Search comparison operation associated with the key to remove + /// + public ComparisonOp ComparisonOp { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchRemoveParameterOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + private ComparisonOp m_ComparisonOp; + + public void Set(ref LobbySearchRemoveParameterOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_REMOVEPARAMETER_API_LATEST; + Helper.Set(other.Key, ref m_Key); + m_ComparisonOp = other.ComparisonOp; + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetLobbyIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetLobbyIdOptions.cs new file mode 100644 index 0000000..9e07a17 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetLobbyIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchSetLobbyIdOptions + { + /// + /// The ID of the lobby to find + /// + public Utf8String LobbyId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchSetLobbyIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + + public void Set(ref LobbySearchSetLobbyIdOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_SETLOBBYID_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetMaxResultsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetMaxResultsOptions.cs new file mode 100644 index 0000000..5db57e2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetMaxResultsOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchSetMaxResultsOptions + { + /// + /// Maximum number of search results to return from the query + /// + public uint MaxResults { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchSetMaxResultsOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_MaxResults; + + public void Set(ref LobbySearchSetMaxResultsOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_SETMAXRESULTS_API_LATEST; + m_MaxResults = other.MaxResults; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetParameterOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetParameterOptions.cs new file mode 100644 index 0000000..05fbb01 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetParameterOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchSetParameterOptions + { + /// + /// Search parameter describing a key and a value to compare + /// + public AttributeData? Parameter { get; set; } + + /// + /// The type of comparison to make against the search parameter + /// + public ComparisonOp ComparisonOp { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchSetParameterOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Parameter; + private ComparisonOp m_ComparisonOp; + + public void Set(ref LobbySearchSetParameterOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_SETPARAMETER_API_LATEST; + Helper.Set(other.Parameter, ref m_Parameter); + m_ComparisonOp = other.ComparisonOp; + } + + public void Dispose() + { + Helper.Dispose(ref m_Parameter); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetTargetUserIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetTargetUserIdOptions.cs new file mode 100644 index 0000000..7dbb469 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbySearchSetTargetUserIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct LobbySearchSetTargetUserIdOptions + { + /// + /// Search lobbies for given user by Product User ID, returning any lobbies where this user is currently registered + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbySearchSetTargetUserIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TargetUserId; + + public void Set(ref LobbySearchSetTargetUserIdOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOBBYSEARCH_SETTARGETUSERID_API_LATEST; + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyUpdateReceivedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyUpdateReceivedCallbackInfo.cs new file mode 100644 index 0000000..5355bed --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LobbyUpdateReceivedCallbackInfo.cs @@ -0,0 +1,61 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct LobbyUpdateReceivedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LobbyUpdateReceivedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LobbyUpdateReceivedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LocalRTCOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LocalRTCOptions.cs new file mode 100644 index 0000000..931c538 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/LocalRTCOptions.cs @@ -0,0 +1,73 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters to use with Lobby RTC Rooms. + /// + public struct LocalRTCOptions + { + /// + /// Flags for the local user in this room. The default is 0 if this struct is not specified. @see + /// + public uint Flags { get; set; } + + /// + /// Set to to enable Manual Audio Input. If manual audio input is enabled, audio recording is not started and the audio buffers + /// must be passed manually using . The default is if this struct is not specified. + /// + public bool UseManualAudioInput { get; set; } + + /// + /// Set to to enable Manual Audio Output. If manual audio output is enabled, audio rendering is not started and the audio buffers + /// must be received with and rendered manually. The default is if this struct is not + /// specified. + /// + public bool UseManualAudioOutput { get; set; } + + /// + /// Set to to start the audio input device's stream as muted when first connecting to the RTC room. + /// + /// It must be manually unmuted with a call to . If manual audio output is enabled, this value is ignored. + /// The default value is if this struct is not specified. + /// + public bool LocalAudioDeviceInputStartsMuted { get; set; } + + /// + /// Reserved field, should be by default + /// + public IntPtr Reserved { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LocalRTCOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_Flags; + private int m_UseManualAudioInput; + private int m_UseManualAudioOutput; + private int m_LocalAudioDeviceInputStartsMuted; + private IntPtr m_Reserved; + + public void Set(ref LocalRTCOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.LOCALRTCOPTIONS_API_LATEST; + m_Flags = other.Flags; + Helper.Set(other.UseManualAudioInput, ref m_UseManualAudioInput); + Helper.Set(other.UseManualAudioOutput, ref m_UseManualAudioOutput); + Helper.Set(other.LocalAudioDeviceInputStartsMuted, ref m_LocalAudioDeviceInputStartsMuted); + m_Reserved = other.Reserved; + } + + public void Dispose() + { + Helper.Dispose(ref m_Reserved); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnCreateLobbyCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnCreateLobbyCallback.cs new file mode 100644 index 0000000..60bcc6a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnCreateLobbyCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnCreateLobbyCallback(ref CreateLobbyCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnCreateLobbyCallbackInternal(ref CreateLobbyCallbackInfoInternal data); + + internal static class OnCreateLobbyCallbackInternalImplementation + { + private static OnCreateLobbyCallbackInternal s_Delegate; + public static OnCreateLobbyCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnCreateLobbyCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnCreateLobbyCallbackInternal))] + public static void EntryPoint(ref CreateLobbyCallbackInfoInternal data) + { + OnCreateLobbyCallback callback; + CreateLobbyCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnDestroyLobbyCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnDestroyLobbyCallback.cs new file mode 100644 index 0000000..a4b80f4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnDestroyLobbyCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnDestroyLobbyCallback(ref DestroyLobbyCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDestroyLobbyCallbackInternal(ref DestroyLobbyCallbackInfoInternal data); + + internal static class OnDestroyLobbyCallbackInternalImplementation + { + private static OnDestroyLobbyCallbackInternal s_Delegate; + public static OnDestroyLobbyCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDestroyLobbyCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDestroyLobbyCallbackInternal))] + public static void EntryPoint(ref DestroyLobbyCallbackInfoInternal data) + { + OnDestroyLobbyCallback callback; + DestroyLobbyCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnHardMuteMemberCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnHardMuteMemberCallback.cs new file mode 100644 index 0000000..ce92ea3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnHardMuteMemberCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnHardMuteMemberCallback(ref HardMuteMemberCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnHardMuteMemberCallbackInternal(ref HardMuteMemberCallbackInfoInternal data); + + internal static class OnHardMuteMemberCallbackInternalImplementation + { + private static OnHardMuteMemberCallbackInternal s_Delegate; + public static OnHardMuteMemberCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnHardMuteMemberCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnHardMuteMemberCallbackInternal))] + public static void EntryPoint(ref HardMuteMemberCallbackInfoInternal data) + { + OnHardMuteMemberCallback callback; + HardMuteMemberCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyAcceptedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyAcceptedCallback.cs new file mode 100644 index 0000000..1fc6037 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyAcceptedCallback.cs @@ -0,0 +1,51 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// The lobby for the join game must be joined. + /// + /// + /// + /// + /// A containing the output information and result + /// + public delegate void OnJoinLobbyAcceptedCallback(ref JoinLobbyAcceptedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnJoinLobbyAcceptedCallbackInternal(ref JoinLobbyAcceptedCallbackInfoInternal data); + + internal static class OnJoinLobbyAcceptedCallbackInternalImplementation + { + private static OnJoinLobbyAcceptedCallbackInternal s_Delegate; + public static OnJoinLobbyAcceptedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnJoinLobbyAcceptedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnJoinLobbyAcceptedCallbackInternal))] + public static void EntryPoint(ref JoinLobbyAcceptedCallbackInfoInternal data) + { + OnJoinLobbyAcceptedCallback callback; + JoinLobbyAcceptedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyByIdCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyByIdCallback.cs new file mode 100644 index 0000000..af10c0e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyByIdCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnJoinLobbyByIdCallback(ref JoinLobbyByIdCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnJoinLobbyByIdCallbackInternal(ref JoinLobbyByIdCallbackInfoInternal data); + + internal static class OnJoinLobbyByIdCallbackInternalImplementation + { + private static OnJoinLobbyByIdCallbackInternal s_Delegate; + public static OnJoinLobbyByIdCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnJoinLobbyByIdCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnJoinLobbyByIdCallbackInternal))] + public static void EntryPoint(ref JoinLobbyByIdCallbackInfoInternal data) + { + OnJoinLobbyByIdCallback callback; + JoinLobbyByIdCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyCallback.cs new file mode 100644 index 0000000..36c72a7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinLobbyCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnJoinLobbyCallback(ref JoinLobbyCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnJoinLobbyCallbackInternal(ref JoinLobbyCallbackInfoInternal data); + + internal static class OnJoinLobbyCallbackInternalImplementation + { + private static OnJoinLobbyCallbackInternal s_Delegate; + public static OnJoinLobbyCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnJoinLobbyCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnJoinLobbyCallbackInternal))] + public static void EntryPoint(ref JoinLobbyCallbackInfoInternal data) + { + OnJoinLobbyCallback callback; + JoinLobbyCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinRTCRoomCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinRTCRoomCallback.cs new file mode 100644 index 0000000..b4d7473 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnJoinRTCRoomCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnJoinRTCRoomCallback(ref JoinRTCRoomCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnJoinRTCRoomCallbackInternal(ref JoinRTCRoomCallbackInfoInternal data); + + internal static class OnJoinRTCRoomCallbackInternalImplementation + { + private static OnJoinRTCRoomCallbackInternal s_Delegate; + public static OnJoinRTCRoomCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnJoinRTCRoomCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnJoinRTCRoomCallbackInternal))] + public static void EntryPoint(ref JoinRTCRoomCallbackInfoInternal data) + { + OnJoinRTCRoomCallback callback; + JoinRTCRoomCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnKickMemberCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnKickMemberCallback.cs new file mode 100644 index 0000000..8eb6985 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnKickMemberCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnKickMemberCallback(ref KickMemberCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnKickMemberCallbackInternal(ref KickMemberCallbackInfoInternal data); + + internal static class OnKickMemberCallbackInternalImplementation + { + private static OnKickMemberCallbackInternal s_Delegate; + public static OnKickMemberCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnKickMemberCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnKickMemberCallbackInternal))] + public static void EntryPoint(ref KickMemberCallbackInfoInternal data) + { + OnKickMemberCallback callback; + KickMemberCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveLobbyCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveLobbyCallback.cs new file mode 100644 index 0000000..c45746a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveLobbyCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnLeaveLobbyCallback(ref LeaveLobbyCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLeaveLobbyCallbackInternal(ref LeaveLobbyCallbackInfoInternal data); + + internal static class OnLeaveLobbyCallbackInternalImplementation + { + private static OnLeaveLobbyCallbackInternal s_Delegate; + public static OnLeaveLobbyCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLeaveLobbyCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLeaveLobbyCallbackInternal))] + public static void EntryPoint(ref LeaveLobbyCallbackInfoInternal data) + { + OnLeaveLobbyCallback callback; + LeaveLobbyCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveLobbyRequestedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveLobbyRequestedCallback.cs new file mode 100644 index 0000000..ba388cf --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveLobbyRequestedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from . + /// + /// + /// A to containing the output information. + /// + public delegate void OnLeaveLobbyRequestedCallback(ref LeaveLobbyRequestedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLeaveLobbyRequestedCallbackInternal(ref LeaveLobbyRequestedCallbackInfoInternal data); + + internal static class OnLeaveLobbyRequestedCallbackInternalImplementation + { + private static OnLeaveLobbyRequestedCallbackInternal s_Delegate; + public static OnLeaveLobbyRequestedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLeaveLobbyRequestedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLeaveLobbyRequestedCallbackInternal))] + public static void EntryPoint(ref LeaveLobbyRequestedCallbackInfoInternal data) + { + OnLeaveLobbyRequestedCallback callback; + LeaveLobbyRequestedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveRTCRoomCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveRTCRoomCallback.cs new file mode 100644 index 0000000..4090d5b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLeaveRTCRoomCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnLeaveRTCRoomCallback(ref LeaveRTCRoomCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLeaveRTCRoomCallbackInternal(ref LeaveRTCRoomCallbackInfoInternal data); + + internal static class OnLeaveRTCRoomCallbackInternalImplementation + { + private static OnLeaveRTCRoomCallbackInternal s_Delegate; + public static OnLeaveRTCRoomCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLeaveRTCRoomCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLeaveRTCRoomCallbackInternal))] + public static void EntryPoint(ref LeaveRTCRoomCallbackInfoInternal data) + { + OnLeaveRTCRoomCallback callback; + LeaveRTCRoomCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteAcceptedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteAcceptedCallback.cs new file mode 100644 index 0000000..fd07670 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteAcceptedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnLobbyInviteAcceptedCallback(ref LobbyInviteAcceptedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLobbyInviteAcceptedCallbackInternal(ref LobbyInviteAcceptedCallbackInfoInternal data); + + internal static class OnLobbyInviteAcceptedCallbackInternalImplementation + { + private static OnLobbyInviteAcceptedCallbackInternal s_Delegate; + public static OnLobbyInviteAcceptedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLobbyInviteAcceptedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLobbyInviteAcceptedCallbackInternal))] + public static void EntryPoint(ref LobbyInviteAcceptedCallbackInfoInternal data) + { + OnLobbyInviteAcceptedCallback callback; + LobbyInviteAcceptedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteReceivedCallback.cs new file mode 100644 index 0000000..089b615 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnLobbyInviteReceivedCallback(ref LobbyInviteReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLobbyInviteReceivedCallbackInternal(ref LobbyInviteReceivedCallbackInfoInternal data); + + internal static class OnLobbyInviteReceivedCallbackInternalImplementation + { + private static OnLobbyInviteReceivedCallbackInternal s_Delegate; + public static OnLobbyInviteReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLobbyInviteReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLobbyInviteReceivedCallbackInternal))] + public static void EntryPoint(ref LobbyInviteReceivedCallbackInfoInternal data) + { + OnLobbyInviteReceivedCallback callback; + LobbyInviteReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteRejectedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteRejectedCallback.cs new file mode 100644 index 0000000..d954b4b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyInviteRejectedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnLobbyInviteRejectedCallback(ref LobbyInviteRejectedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLobbyInviteRejectedCallbackInternal(ref LobbyInviteRejectedCallbackInfoInternal data); + + internal static class OnLobbyInviteRejectedCallbackInternalImplementation + { + private static OnLobbyInviteRejectedCallbackInternal s_Delegate; + public static OnLobbyInviteRejectedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLobbyInviteRejectedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLobbyInviteRejectedCallbackInternal))] + public static void EntryPoint(ref LobbyInviteRejectedCallbackInfoInternal data) + { + OnLobbyInviteRejectedCallback callback; + LobbyInviteRejectedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyMemberStatusReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyMemberStatusReceivedCallback.cs new file mode 100644 index 0000000..7ef121f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyMemberStatusReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnLobbyMemberStatusReceivedCallback(ref LobbyMemberStatusReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLobbyMemberStatusReceivedCallbackInternal(ref LobbyMemberStatusReceivedCallbackInfoInternal data); + + internal static class OnLobbyMemberStatusReceivedCallbackInternalImplementation + { + private static OnLobbyMemberStatusReceivedCallbackInternal s_Delegate; + public static OnLobbyMemberStatusReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLobbyMemberStatusReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLobbyMemberStatusReceivedCallbackInternal))] + public static void EntryPoint(ref LobbyMemberStatusReceivedCallbackInfoInternal data) + { + OnLobbyMemberStatusReceivedCallback callback; + LobbyMemberStatusReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyMemberUpdateReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyMemberUpdateReceivedCallback.cs new file mode 100644 index 0000000..9aa0a61 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyMemberUpdateReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnLobbyMemberUpdateReceivedCallback(ref LobbyMemberUpdateReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLobbyMemberUpdateReceivedCallbackInternal(ref LobbyMemberUpdateReceivedCallbackInfoInternal data); + + internal static class OnLobbyMemberUpdateReceivedCallbackInternalImplementation + { + private static OnLobbyMemberUpdateReceivedCallbackInternal s_Delegate; + public static OnLobbyMemberUpdateReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLobbyMemberUpdateReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLobbyMemberUpdateReceivedCallbackInternal))] + public static void EntryPoint(ref LobbyMemberUpdateReceivedCallbackInfoInternal data) + { + OnLobbyMemberUpdateReceivedCallback callback; + LobbyMemberUpdateReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyUpdateReceivedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyUpdateReceivedCallback.cs new file mode 100644 index 0000000..a4e9e80 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnLobbyUpdateReceivedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// A containing the output information and result + /// + public delegate void OnLobbyUpdateReceivedCallback(ref LobbyUpdateReceivedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLobbyUpdateReceivedCallbackInternal(ref LobbyUpdateReceivedCallbackInfoInternal data); + + internal static class OnLobbyUpdateReceivedCallbackInternalImplementation + { + private static OnLobbyUpdateReceivedCallbackInternal s_Delegate; + public static OnLobbyUpdateReceivedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLobbyUpdateReceivedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLobbyUpdateReceivedCallbackInternal))] + public static void EntryPoint(ref LobbyUpdateReceivedCallbackInfoInternal data) + { + OnLobbyUpdateReceivedCallback callback; + LobbyUpdateReceivedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnPromoteMemberCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnPromoteMemberCallback.cs new file mode 100644 index 0000000..b38b667 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnPromoteMemberCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnPromoteMemberCallback(ref PromoteMemberCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPromoteMemberCallbackInternal(ref PromoteMemberCallbackInfoInternal data); + + internal static class OnPromoteMemberCallbackInternalImplementation + { + private static OnPromoteMemberCallbackInternal s_Delegate; + public static OnPromoteMemberCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPromoteMemberCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPromoteMemberCallbackInternal))] + public static void EntryPoint(ref PromoteMemberCallbackInfoInternal data) + { + OnPromoteMemberCallback callback; + PromoteMemberCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnQueryInvitesCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnQueryInvitesCallback.cs new file mode 100644 index 0000000..7b5c859 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnQueryInvitesCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnQueryInvitesCallback(ref QueryInvitesCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryInvitesCallbackInternal(ref QueryInvitesCallbackInfoInternal data); + + internal static class OnQueryInvitesCallbackInternalImplementation + { + private static OnQueryInvitesCallbackInternal s_Delegate; + public static OnQueryInvitesCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryInvitesCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryInvitesCallbackInternal))] + public static void EntryPoint(ref QueryInvitesCallbackInfoInternal data) + { + OnQueryInvitesCallback callback; + QueryInvitesCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnRTCRoomConnectionChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnRTCRoomConnectionChangedCallback.cs new file mode 100644 index 0000000..32ba43d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnRTCRoomConnectionChangedCallback.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// + /// containing the connection state of the RTC Room for a lobby + /// + public delegate void OnRTCRoomConnectionChangedCallback(ref RTCRoomConnectionChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRTCRoomConnectionChangedCallbackInternal(ref RTCRoomConnectionChangedCallbackInfoInternal data); + + internal static class OnRTCRoomConnectionChangedCallbackInternalImplementation + { + private static OnRTCRoomConnectionChangedCallbackInternal s_Delegate; + public static OnRTCRoomConnectionChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRTCRoomConnectionChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRTCRoomConnectionChangedCallbackInternal))] + public static void EntryPoint(ref RTCRoomConnectionChangedCallbackInfoInternal data) + { + OnRTCRoomConnectionChangedCallback callback; + RTCRoomConnectionChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnRejectInviteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnRejectInviteCallback.cs new file mode 100644 index 0000000..3d21cd9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnRejectInviteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnRejectInviteCallback(ref RejectInviteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRejectInviteCallbackInternal(ref RejectInviteCallbackInfoInternal data); + + internal static class OnRejectInviteCallbackInternalImplementation + { + private static OnRejectInviteCallbackInternal s_Delegate; + public static OnRejectInviteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRejectInviteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRejectInviteCallbackInternal))] + public static void EntryPoint(ref RejectInviteCallbackInfoInternal data) + { + OnRejectInviteCallback callback; + RejectInviteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnSendInviteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnSendInviteCallback.cs new file mode 100644 index 0000000..51442f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnSendInviteCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnSendInviteCallback(ref SendInviteCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSendInviteCallbackInternal(ref SendInviteCallbackInfoInternal data); + + internal static class OnSendInviteCallbackInternalImplementation + { + private static OnSendInviteCallbackInternal s_Delegate; + public static OnSendInviteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSendInviteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSendInviteCallbackInternal))] + public static void EntryPoint(ref SendInviteCallbackInfoInternal data) + { + OnSendInviteCallback callback; + SendInviteCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnSendLobbyNativeInviteRequestedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnSendLobbyNativeInviteRequestedCallback.cs new file mode 100644 index 0000000..2d06715 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnSendLobbyNativeInviteRequestedCallback.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for notifications that comes from + /// After processing the callback must be called. + /// + /// + /// + /// A containing the output information and result + /// + public delegate void OnSendLobbyNativeInviteRequestedCallback(ref SendLobbyNativeInviteRequestedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSendLobbyNativeInviteRequestedCallbackInternal(ref SendLobbyNativeInviteRequestedCallbackInfoInternal data); + + internal static class OnSendLobbyNativeInviteRequestedCallbackInternalImplementation + { + private static OnSendLobbyNativeInviteRequestedCallbackInternal s_Delegate; + public static OnSendLobbyNativeInviteRequestedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSendLobbyNativeInviteRequestedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSendLobbyNativeInviteRequestedCallbackInternal))] + public static void EntryPoint(ref SendLobbyNativeInviteRequestedCallbackInfoInternal data) + { + OnSendLobbyNativeInviteRequestedCallback callback; + SendLobbyNativeInviteRequestedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnUpdateLobbyCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnUpdateLobbyCallback.cs new file mode 100644 index 0000000..fedcfbe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/OnUpdateLobbyCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A CallbackInfo containing the output information and result + /// + public delegate void OnUpdateLobbyCallback(ref UpdateLobbyCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUpdateLobbyCallbackInternal(ref UpdateLobbyCallbackInfoInternal data); + + internal static class OnUpdateLobbyCallbackInternalImplementation + { + private static OnUpdateLobbyCallbackInternal s_Delegate; + public static OnUpdateLobbyCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUpdateLobbyCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUpdateLobbyCallbackInternal))] + public static void EntryPoint(ref UpdateLobbyCallbackInfoInternal data) + { + OnUpdateLobbyCallback callback; + UpdateLobbyCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/ParseConnectStringOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/ParseConnectStringOptions.cs new file mode 100644 index 0000000..1d87d3e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/ParseConnectStringOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct ParseConnectStringOptions + { + /// + /// The connection to parse + /// + public Utf8String ConnectString { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ParseConnectStringOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_ConnectString; + + public void Set(ref ParseConnectStringOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.PARSECONNECTSTRING_API_LATEST; + Helper.Set(other.ConnectString, ref m_ConnectString); + } + + public void Dispose() + { + Helper.Dispose(ref m_ConnectString); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/PromoteMemberCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/PromoteMemberCallbackInfo.cs new file mode 100644 index 0000000..78a4e39 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/PromoteMemberCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct PromoteMemberCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby where the user was promoted + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PromoteMemberCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out PromoteMemberCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/PromoteMemberOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/PromoteMemberOptions.cs new file mode 100644 index 0000000..df77c3b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/PromoteMemberOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct PromoteMemberOptions + { + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user making the request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the member to promote to owner of the lobby + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PromoteMemberOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref PromoteMemberOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.PROMOTEMEMBER_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/QueryInvitesCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/QueryInvitesCallbackInfo.cs new file mode 100644 index 0000000..33aa9c0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/QueryInvitesCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct QueryInvitesCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user that made the request + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryInvitesCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryInvitesCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/QueryInvitesOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/QueryInvitesOptions.cs new file mode 100644 index 0000000..fbba53f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/QueryInvitesOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct QueryInvitesOptions + { + /// + /// The Product User ID of the local user whose invitations you want to retrieve + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryInvitesOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref QueryInvitesOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.QUERYINVITES_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RTCRoomConnectionChangedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RTCRoomConnectionChangedCallbackInfo.cs new file mode 100644 index 0000000..0135a32 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RTCRoomConnectionChangedCallbackInfo.cs @@ -0,0 +1,91 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct RTCRoomConnectionChangedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby which had a RTC Room connection state change + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user who is in the lobby and registered for notifications + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The new connection state of the room + /// + public bool IsConnected { get; set; } + + /// + /// : The room was left locally. This may be because: the associated lobby was Left or Destroyed, the connection to the lobby was interrupted, or because the SDK is being shutdown. If the lobby connection returns (lobby did not permanently go away), we will reconnect. + /// : There was a network issue connecting to the server. We will attempt to reconnect soon. + /// : The user has been kicked by the server. We will not reconnect. + /// : The user has been banned by the server. We will not reconnect. + /// : A known error occurred during interaction with the server. We will attempt to reconnect soon. + /// : Unexpected error. We will attempt to reconnect soon. + /// + public Result DisconnectReason { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RTCRoomConnectionChangedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private int m_IsConnected; + private Result m_DisconnectReason; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RTCRoomConnectionChangedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + bool IsConnectedPublic; + Helper.Get(m_IsConnected, out IsConnectedPublic); + other.IsConnected = IsConnectedPublic; + other.DisconnectReason = m_DisconnectReason; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RejectInviteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RejectInviteCallbackInfo.cs new file mode 100644 index 0000000..50b4cf0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RejectInviteCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct RejectInviteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the invitation being rejected + /// + public Utf8String InviteId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RejectInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_InviteId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out RejectInviteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String InviteIdPublic; + Helper.Get(m_InviteId, out InviteIdPublic); + other.InviteId = InviteIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RejectInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RejectInviteOptions.cs new file mode 100644 index 0000000..424add8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/RejectInviteOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct RejectInviteOptions + { + /// + /// The ID of the lobby associated with the invitation + /// + public Utf8String InviteId { get; set; } + + /// + /// The Product User ID of the local user who is rejecting the invitation + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RejectInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_InviteId; + private IntPtr m_LocalUserId; + + public void Set(ref RejectInviteOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.REJECTINVITE_API_LATEST; + Helper.Set(other.InviteId, ref m_InviteId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_InviteId); + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendInviteCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendInviteCallbackInfo.cs new file mode 100644 index 0000000..9ff9bfe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendInviteCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct SendInviteCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SendInviteCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendInviteOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendInviteOptions.cs new file mode 100644 index 0000000..606900e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendInviteOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct SendInviteOptions + { + /// + /// The ID of the lobby associated with the invitation + /// + public Utf8String LobbyId { get; set; } + + /// + /// The Product User ID of the local user sending the invitation + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the user receiving the invitation + /// + public ProductUserId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendInviteOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref SendInviteOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.SENDINVITE_API_LATEST; + Helper.Set(other.LobbyId, ref m_LobbyId); + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyId); + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendLobbyNativeInviteRequestedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendLobbyNativeInviteRequestedCallbackInfo.cs new file mode 100644 index 0000000..f436456 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/SendLobbyNativeInviteRequestedCallbackInfo.cs @@ -0,0 +1,97 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the Function. + /// + public struct SendLobbyNativeInviteRequestedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// Identifies this event which will need to be acknowledged with (). + /// + /// + public ulong UiEventId { get; set; } + + /// + /// The Product User ID of the local user who is inviting. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Native Platform Account Type. If only a single integrated platform is configured then + /// this will always reference that platform. + /// + public Utf8String TargetNativeAccountType { get; set; } + + /// + /// The Native Platform Account ID of the target user being invited. + /// + public Utf8String TargetUserNativeAccountId { get; set; } + + /// + /// Lobby ID that the user is being invited to + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SendLobbyNativeInviteRequestedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private ulong m_UiEventId; + private IntPtr m_LocalUserId; + private IntPtr m_TargetNativeAccountType; + private IntPtr m_TargetUserNativeAccountId; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SendLobbyNativeInviteRequestedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.UiEventId = m_UiEventId; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String TargetNativeAccountTypePublic; + Helper.Get(m_TargetNativeAccountType, out TargetNativeAccountTypePublic); + other.TargetNativeAccountType = TargetNativeAccountTypePublic; + Utf8String TargetUserNativeAccountIdPublic; + Helper.Get(m_TargetUserNativeAccountId, out TargetUserNativeAccountIdPublic); + other.TargetUserNativeAccountId = TargetUserNativeAccountIdPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyCallbackInfo.cs new file mode 100644 index 0000000..cc0aff3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Output parameters for the function. + /// + public struct UpdateLobbyCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateLobbyCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LobbyId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UpdateLobbyCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String LobbyIdPublic; + Helper.Get(m_LobbyId, out LobbyIdPublic); + other.LobbyId = LobbyIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyModificationOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyModificationOptions.cs new file mode 100644 index 0000000..177531a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyModificationOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct UpdateLobbyModificationOptions + { + /// + /// The ID of the local user making modifications. Must be the owner to modify lobby data, but any lobby member can modify their own attributes. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The ID of the lobby + /// + public Utf8String LobbyId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateLobbyModificationOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_LobbyId; + + public void Set(ref UpdateLobbyModificationOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.UPDATELOBBYMODIFICATION_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.LobbyId, ref m_LobbyId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_LobbyId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyOptions.cs new file mode 100644 index 0000000..7b84045 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Lobby/UpdateLobbyOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Lobby +{ + /// + /// Input parameters for the function. + /// + public struct UpdateLobbyOptions + { + /// + /// Builder handle + /// + public LobbyModification LobbyModificationHandle { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateLobbyOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LobbyModificationHandle; + + public void Set(ref UpdateLobbyOptions other) + { + Dispose(); + + m_ApiVersion = LobbyInterface.UPDATELOBBY_API_LATEST; + Helper.Set(other.LobbyModificationHandle, ref m_LobbyModificationHandle); + } + + public void Dispose() + { + Helper.Dispose(ref m_LobbyModificationHandle); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogCategory.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogCategory.cs new file mode 100644 index 0000000..83a974f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogCategory.cs @@ -0,0 +1,152 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Logging +{ + /// + /// Logging Categories + /// + public enum LogCategory : int + { + /// + /// Low level logs unrelated to specific services + /// + Core = 0, + /// + /// Logs related to the Auth service + /// + Auth = 1, + /// + /// Logs related to the Friends service + /// + Friends = 2, + /// + /// Logs related to the Presence service + /// + Presence = 3, + /// + /// Logs related to the UserInfo service + /// + UserInfo = 4, + /// + /// Logs related to HTTP serialization + /// + HttpSerialization = 5, + /// + /// Logs related to the Ecommerce service + /// + Ecom = 6, + /// + /// Logs related to the P2P service + /// + P2P = 7, + /// + /// Logs related to the Sessions service + /// + Sessions = 8, + /// + /// Logs related to rate limiting + /// + RateLimiter = 9, + /// + /// Logs related to the PlayerDataStorage service + /// + PlayerDataStorage = 10, + /// + /// Logs related to sdk analytics + /// + Analytics = 11, + /// + /// Logs related to the messaging service + /// + Messaging = 12, + /// + /// Logs related to the Connect service + /// + Connect = 13, + /// + /// Logs related to the Overlay + /// + Overlay = 14, + /// + /// Logs related to the Achievements service + /// + Achievements = 15, + /// + /// Logs related to the Stats service + /// + Stats = 16, + /// + /// Logs related to the UI service + /// + Ui = 17, + /// + /// Logs related to the lobby service + /// + Lobby = 18, + /// + /// Logs related to the Leaderboards service + /// + Leaderboards = 19, + /// + /// Logs related to an internal Keychain feature that the authentication interfaces use + /// + Keychain = 20, + /// + /// Logs related to integrated platforms + /// + IntegratedPlatform = 21, + /// + /// Logs related to Title Storage + /// + TitleStorage = 22, + /// + /// Logs related to the Mods service + /// + Mods = 23, + /// + /// Logs related to the Anti-Cheat service + /// + AntiCheat = 24, + /// + /// Logs related to reports client. + /// + Reports = 25, + /// + /// Logs related to the Sanctions service + /// + Sanctions = 26, + /// + /// Logs related to the Progression Snapshot service + /// + ProgressionSnapshots = 27, + /// + /// Logs related to the Kids Web Services integration + /// + Kws = 28, + /// + /// Logs related to the RTC API + /// + Rtc = 29, + /// + /// Logs related to the RTC Admin API + /// + RTCAdmin = 30, + /// + /// Logs related to the Custom Invites API + /// + CustomInvites = 31, + /// + /// Logs related to EOS HTTP activity + /// + Http = 41, + /// + /// Not a real log category. Used by to set the log level for all categories at the same time + /// + AllCategories = 0x7fffffff + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogLevel.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogLevel.cs new file mode 100644 index 0000000..655b0ba --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogLevel.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Logging +{ + /// + /// Logging levels. When a log message is output, it has an associated log level. + /// Messages will only be sent to the callback function if the message's associated log level is less than or equal to the configured log level for that category. + /// + /// + /// + public enum LogLevel : int + { + /// + /// The default value, disables logging + /// + Off = 0, + /// + /// The Fatal logging level + /// + Fatal = 100, + /// + /// The Error logging level + /// + Error = 200, + /// + /// The Warning logging level + /// + Warning = 300, + /// + /// The Info logging level + /// + Info = 400, + /// + /// The Verbose logging level + /// + Verbose = 500, + /// + /// The VeryVerbose logging level + /// + VeryVerbose = 600 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogMessage.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogMessage.cs new file mode 100644 index 0000000..2180e7d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogMessage.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Logging +{ + /// + /// A structure representing a log message + /// + public struct LogMessage + { + /// + /// A representation of the log message category, encoded in UTF-8. Only valid during the life of the callback, so copy the if you need it later. + /// + public Utf8String Category { get; set; } + + /// + /// The log message, encoded in UTF-8. Only valid during the life of the callback, so copy the if you need it later. + /// + public Utf8String Message { get; set; } + + /// + /// The log level associated with the message + /// + public LogLevel Level { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LogMessageInternal : IGettable + { + private IntPtr m_Category; + private IntPtr m_Message; + private LogLevel m_Level; + + public void Get(out LogMessage other) + { + other = default; + + Utf8String CategoryPublic; + Helper.Get(m_Category, out CategoryPublic); + other.Category = CategoryPublic; + Utf8String MessagePublic; + Helper.Get(m_Message, out MessagePublic); + other.Message = MessagePublic; + other.Level = m_Level; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogMessageFunc.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogMessageFunc.cs new file mode 100644 index 0000000..756ad52 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LogMessageFunc.cs @@ -0,0 +1,51 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Logging +{ + + /// + /// Function prototype definition for functions that receive log messages. + /// + /// + /// + /// A containing the log category, log level, and message. + /// + public delegate void LogMessageFunc(ref LogMessage message); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void LogMessageFuncInternal(ref LogMessageInternal message); + + internal static class LogMessageFuncInternalImplementation + { + private static LogMessageFuncInternal s_Delegate; + public static LogMessageFuncInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new LogMessageFuncInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(LogMessageFuncInternal))] + public static void EntryPoint(ref LogMessageInternal message) + { + LogMessageFunc callback; + if (Helper.TryGetStaticCallback("Logging.LogMessageFunc", out callback)) + { + LogMessage messagePublic; + Helper.Get(ref message, out messagePublic); + + callback(ref messagePublic); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LoggingInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LoggingInterface.cs new file mode 100644 index 0000000..d66223e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Logging/LoggingInterface.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Logging +{ + public sealed partial class LoggingInterface + { + /// + /// Set the callback function to use for SDK log messages. Any previously set callback will no longer be called. + /// + /// + /// + /// the function to call when the SDK logs messages + /// + /// + /// is returned if the callback will be used for future log messages. + /// is returned if the SDK has not yet been initialized, or if it has been shut down + /// + public static Result SetCallback(LogMessageFunc callback) + { + Helper.AddStaticCallback("Logging.LogMessageFunc", callback); + + var callResult = Bindings.EOS_Logging_SetCallback(LogMessageFuncInternalImplementation.Delegate); + + return callResult; + } + + /// + /// Set the logging level for the specified logging category. By default all log categories will callback for Warnings, Errors, and Fatals. + /// + /// + /// the specific log category to configure. Use to configure all categories simultaneously to the same log level. + /// + /// + /// the log level to use for the log category + /// + /// + /// is returned if the log levels are now in use. + /// is returned if the SDK has not yet been initialized, or if it has been shut down. + /// + public static Result SetLogLevel(LogCategory logCategory, LogLevel logLevel) + { + var callResult = Bindings.EOS_Logging_SetLogLevel(logCategory, logLevel); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/LoginStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/LoginStatus.cs new file mode 100644 index 0000000..af80dbe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/LoginStatus.cs @@ -0,0 +1,34 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices +{ + /// + /// All possible states of a local user + /// + /// + /// + /// + /// + /// + /// + public enum LoginStatus : int + { + /// + /// Player has not logged in or chosen a local profile + /// + NotLoggedIn = 0, + /// + /// Player is using a local profile but is not logged in + /// + UsingLocalProfile = 1, + /// + /// Player has been validated by the platform specific authentication service + /// + LoggedIn = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/BeginPlayerSessionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/BeginPlayerSessionOptions.cs new file mode 100644 index 0000000..7c78413 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/BeginPlayerSessionOptions.cs @@ -0,0 +1,81 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Metrics +{ + /// + /// BeginPlayerSession. + /// + public struct BeginPlayerSessionOptions + { + /// + /// The Account ID for the player whose session is beginning. + /// + public BeginPlayerSessionOptionsAccountId AccountId { get; set; } + + /// + /// The in-game display name for the user as . + /// + public Utf8String DisplayName { get; set; } + + /// + /// The user's game controller type. + /// + public UserControllerType ControllerType { get; set; } + + /// + /// IP address of the game server hosting the game session. For a localhost session, set to . + /// + /// @details Must be in either one of the following IPv4 or IPv6 formats: + /// * "127.0.0.1". + /// * "1200:0000:AB00:1234:0000:2552:7777:1313". + /// If both IPv4 and IPv6 addresses are available, use the IPv6 address. + /// + public Utf8String ServerIp { get; set; } + + /// + /// Optional, application-defined custom match session identifier. If the identifier is not used, set to . + /// + /// @details The game can tag each game session with a custom session match identifier, + /// which will be shown in the Played Sessions listing at the user profile dashboard. + /// + public Utf8String GameSessionId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct BeginPlayerSessionOptionsInternal : ISettable + { + private int m_ApiVersion; + private MetricsAccountIdType m_AccountIdType; + private BeginPlayerSessionOptionsAccountIdInternal m_AccountId; + private IntPtr m_DisplayName; + private UserControllerType m_ControllerType; + private IntPtr m_ServerIp; + private IntPtr m_GameSessionId; + + public void Set(ref BeginPlayerSessionOptions other) + { + Dispose(); + + m_ApiVersion = MetricsInterface.BEGINPLAYERSESSION_API_LATEST; + Helper.Set(other.AccountId, ref m_AccountId); + + m_AccountIdType = other.AccountId.AccountIdType; + Helper.Set(other.DisplayName, ref m_DisplayName); + m_ControllerType = other.ControllerType; + Helper.Set(other.ServerIp, ref m_ServerIp); + Helper.Set(other.GameSessionId, ref m_GameSessionId); + } + + public void Dispose() + { + Helper.Dispose(ref m_AccountId); + Helper.Dispose(ref m_DisplayName); + Helper.Dispose(ref m_ServerIp); + Helper.Dispose(ref m_GameSessionId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/BeginPlayerSessionOptionsAccountId.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/BeginPlayerSessionOptionsAccountId.cs new file mode 100644 index 0000000..16e31b0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/BeginPlayerSessionOptionsAccountId.cs @@ -0,0 +1,112 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Metrics +{ + /// + /// The Account ID for the player whose session is beginning. + /// + public struct BeginPlayerSessionOptionsAccountId + { + private EpicAccountId m_Epic; + private Utf8String m_External; + private MetricsAccountIdType m_AccountIdType; + + /// + /// An Epic Account ID. Set this field when AccountIdType is set to . + /// + public EpicAccountId Epic + { + get + { + if (m_AccountIdType == MetricsAccountIdType.Epic) + { + return m_Epic; + } + + return default; + } + set + { + m_Epic = value; + m_AccountIdType = MetricsAccountIdType.Epic; + } + } + + /// + /// An Account ID for another service. Set this field when AccountIdType is set to . + /// + public Utf8String External + { + get + { + if (m_AccountIdType == MetricsAccountIdType.External) + { + return m_External; + } + + return default; + } + set + { + m_External = value; + m_AccountIdType = MetricsAccountIdType.External; + } + } + public MetricsAccountIdType AccountIdType + { + get + { + return m_AccountIdType; + } + } + + public static implicit operator BeginPlayerSessionOptionsAccountId(EpicAccountId value) + { + return new BeginPlayerSessionOptionsAccountId() { Epic = value }; + } + + public static implicit operator BeginPlayerSessionOptionsAccountId(Utf8String value) + { + return new BeginPlayerSessionOptionsAccountId() { External = value }; + } + + public static implicit operator BeginPlayerSessionOptionsAccountId(string value) + { + return new BeginPlayerSessionOptionsAccountId() { External = value }; + } + } + + [StructLayout(LayoutKind.Explicit)] + internal struct BeginPlayerSessionOptionsAccountIdInternal : ISettable + { + [FieldOffset(0)] + private IntPtr m_Epic; + [FieldOffset(0)] + private IntPtr m_External; + + public void Set(ref BeginPlayerSessionOptionsAccountId other) + { + Dispose(); + + if (other.AccountIdType == MetricsAccountIdType.Epic) + { + Helper.Set(other.Epic, ref m_Epic); + } + + if (other.AccountIdType == MetricsAccountIdType.External) + { + Helper.Set(other.External, ref m_External); + } + } + + public void Dispose() + { + Helper.Dispose(ref m_Epic); + Helper.Dispose(ref m_External); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/EndPlayerSessionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/EndPlayerSessionOptions.cs new file mode 100644 index 0000000..783e0c6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/EndPlayerSessionOptions.cs @@ -0,0 +1,42 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Metrics +{ + /// + /// EndPlayerSession. + /// + public struct EndPlayerSessionOptions + { + /// + /// The Account ID for the player whose session is ending. + /// + public EndPlayerSessionOptionsAccountId AccountId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EndPlayerSessionOptionsInternal : ISettable + { + private int m_ApiVersion; + private MetricsAccountIdType m_AccountIdType; + private EndPlayerSessionOptionsAccountIdInternal m_AccountId; + + public void Set(ref EndPlayerSessionOptions other) + { + Dispose(); + + m_ApiVersion = MetricsInterface.ENDPLAYERSESSION_API_LATEST; + Helper.Set(other.AccountId, ref m_AccountId); + + m_AccountIdType = other.AccountId.AccountIdType; + } + + public void Dispose() + { + Helper.Dispose(ref m_AccountId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/EndPlayerSessionOptionsAccountId.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/EndPlayerSessionOptionsAccountId.cs new file mode 100644 index 0000000..9f684dd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/EndPlayerSessionOptionsAccountId.cs @@ -0,0 +1,112 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Metrics +{ + /// + /// The Account ID for the player whose session is ending. + /// + public struct EndPlayerSessionOptionsAccountId + { + private EpicAccountId m_Epic; + private Utf8String m_External; + private MetricsAccountIdType m_AccountIdType; + + /// + /// An Epic Account ID. Set this field when AccountIdType is set to . + /// + public EpicAccountId Epic + { + get + { + if (m_AccountIdType == MetricsAccountIdType.Epic) + { + return m_Epic; + } + + return default; + } + set + { + m_Epic = value; + m_AccountIdType = MetricsAccountIdType.Epic; + } + } + + /// + /// An Account ID for another service. Set this field when AccountIdType is set to . + /// + public Utf8String External + { + get + { + if (m_AccountIdType == MetricsAccountIdType.External) + { + return m_External; + } + + return default; + } + set + { + m_External = value; + m_AccountIdType = MetricsAccountIdType.External; + } + } + public MetricsAccountIdType AccountIdType + { + get + { + return m_AccountIdType; + } + } + + public static implicit operator EndPlayerSessionOptionsAccountId(EpicAccountId value) + { + return new EndPlayerSessionOptionsAccountId() { Epic = value }; + } + + public static implicit operator EndPlayerSessionOptionsAccountId(Utf8String value) + { + return new EndPlayerSessionOptionsAccountId() { External = value }; + } + + public static implicit operator EndPlayerSessionOptionsAccountId(string value) + { + return new EndPlayerSessionOptionsAccountId() { External = value }; + } + } + + [StructLayout(LayoutKind.Explicit)] + internal struct EndPlayerSessionOptionsAccountIdInternal : ISettable + { + [FieldOffset(0)] + private IntPtr m_Epic; + [FieldOffset(0)] + private IntPtr m_External; + + public void Set(ref EndPlayerSessionOptionsAccountId other) + { + Dispose(); + + if (other.AccountIdType == MetricsAccountIdType.Epic) + { + Helper.Set(other.Epic, ref m_Epic); + } + + if (other.AccountIdType == MetricsAccountIdType.External) + { + Helper.Set(other.External, ref m_External); + } + } + + public void Dispose() + { + Helper.Dispose(ref m_Epic); + Helper.Dispose(ref m_External); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/MetricsAccountIdType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/MetricsAccountIdType.cs new file mode 100644 index 0000000..8fd80ff --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/MetricsAccountIdType.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Metrics +{ + /// + /// Account ID type for and . + /// + public enum MetricsAccountIdType : int + { + /// + /// An Epic Account ID. + /// + Epic = 0, + /// + /// An external service Account ID. + /// + External = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/MetricsInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/MetricsInterface.cs new file mode 100644 index 0000000..53a5f42 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/MetricsInterface.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Metrics +{ + public sealed partial class MetricsInterface : Handle + { + public MetricsInterface() + { + } + + public MetricsInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the struct. + /// + public const int BEGINPLAYERSESSION_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int ENDPLAYERSESSION_API_LATEST = 1; + + /// + /// Logs the start of a new game session for a local player. + /// + /// The game client should call this function whenever it joins into a new multiplayer, peer-to-peer or single player game session. + /// Each call to BeginPlayerSession must be matched with a corresponding call to EndPlayerSession. + /// + /// + /// + /// Structure containing the local player's game account and the game session information. + /// + /// + /// Returns on success, or an error code if the input parameters are invalid or an active session for the player already exists. + /// + public Result BeginPlayerSession(ref BeginPlayerSessionOptions options) + { + var optionsInternal = default(BeginPlayerSessionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Metrics_BeginPlayerSession(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Logs the end of a game session for a local player. + /// + /// Call once when the game client leaves the active game session. + /// Each call to BeginPlayerSession must be matched with a corresponding call to EndPlayerSession. + /// + /// + /// + /// Structure containing the account id of the player whose session to end. + /// + /// + /// Returns on success, or an error code if the input parameters are invalid or there was no active session for the player. + /// + public Result EndPlayerSession(ref EndPlayerSessionOptions options) + { + var optionsInternal = default(EndPlayerSessionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Metrics_EndPlayerSession(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/UserControllerType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/UserControllerType.cs new file mode 100644 index 0000000..ce420fb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Metrics/UserControllerType.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Metrics +{ + /// + /// User game controller types. + /// + public enum UserControllerType : int + { + /// + /// The game controller type is unknown. + /// + Unknown = 0, + /// + /// Mouse and keyboard controller. + /// + MouseKeyboard = 1, + /// + /// Gamepad controller. + /// + GamepadControl = 2, + /// + /// Touch controller. + /// + TouchControl = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/CopyModInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/CopyModInfoOptions.cs new file mode 100644 index 0000000..8763b0e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/CopyModInfoOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Data for the function. + /// + public struct CopyModInfoOptions + { + /// + /// The Epic Account ID of the user for which mods should be copied + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Type of the enumerated mod to copy + /// + public ModEnumerationType Type { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyModInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private ModEnumerationType m_Type; + + public void Set(ref CopyModInfoOptions other) + { + Dispose(); + + m_ApiVersion = ModsInterface.COPYMODINFO_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Type = other.Type; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/EnumerateModsCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/EnumerateModsCallbackInfo.cs new file mode 100644 index 0000000..7b6305b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/EnumerateModsCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct EnumerateModsCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if the enumeration was successful, otherwise one of the error codes is returned. + /// + public Result ResultCode { get; set; } + + /// + /// The Epic Account ID of the user for which mod enumeration was requested + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Context that is passed into + /// + public object ClientData { get; set; } + + /// + /// Type of the enumerated mods + /// + public ModEnumerationType Type { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EnumerateModsCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_LocalUserId; + private IntPtr m_ClientData; + private ModEnumerationType m_Type; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out EnumerateModsCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.Type = m_Type; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/EnumerateModsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/EnumerateModsOptions.cs new file mode 100644 index 0000000..0b48e7d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/EnumerateModsOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Input parameters for the Function. + /// + public struct EnumerateModsOptions + { + /// + /// The Epic Account ID of the user for which the mod should be enumerated + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Type of the mods to enumerate + /// + public ModEnumerationType Type { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EnumerateModsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private ModEnumerationType m_Type; + + public void Set(ref EnumerateModsOptions other) + { + Dispose(); + + m_ApiVersion = ModsInterface.ENUMERATEMODS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Type = other.Type; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/InstallModCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/InstallModCallbackInfo.cs new file mode 100644 index 0000000..72d2259 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/InstallModCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct InstallModCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if the installation was successful, otherwise one of the error codes is returned. + /// + public Result ResultCode { get; set; } + + /// + /// The Epic Account ID of the user for which mod installation was requested + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Context that is passed into + /// + public object ClientData { get; set; } + + /// + /// Mod for which installation was requested + /// + public ModIdentifier? Mod { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct InstallModCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_LocalUserId; + private IntPtr m_ClientData; + private IntPtr m_Mod; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out InstallModCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ModIdentifier? ModPublic; + Helper.Get(m_Mod, out ModPublic); + other.Mod = ModPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/InstallModOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/InstallModOptions.cs new file mode 100644 index 0000000..d4014fe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/InstallModOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Input parameters for the Function. + /// + public struct InstallModOptions + { + /// + /// The Epic Account ID of the user for which the mod should be installed + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The mod to install + /// + public ModIdentifier? Mod { get; set; } + + /// + /// Indicates whether the mod should be uninstalled after exiting the game or not. + /// + public bool RemoveAfterExit { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct InstallModOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Mod; + private int m_RemoveAfterExit; + + public void Set(ref InstallModOptions other) + { + Dispose(); + + m_ApiVersion = ModsInterface.INSTALLMOD_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Mod, ref m_Mod); + Helper.Set(other.RemoveAfterExit, ref m_RemoveAfterExit); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Mod); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModEnumerationType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModEnumerationType.cs new file mode 100644 index 0000000..2b6ec04 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModEnumerationType.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// The type of mod enumeration. + /// + public enum ModEnumerationType : int + { + /// + /// Installed mods + /// + Installed = 0, + /// + /// All available mods + /// + AllAvailable + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModIdentifier.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModIdentifier.cs new file mode 100644 index 0000000..27e5c4b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModIdentifier.cs @@ -0,0 +1,92 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// is used to identify a mod. + /// + public struct ModIdentifier + { + /// + /// Product namespace id in which this mod item exists + /// + public Utf8String NamespaceId { get; set; } + + /// + /// Item id of the Mod + /// + public Utf8String ItemId { get; set; } + + /// + /// Artifact id of the Mod + /// + public Utf8String ArtifactId { get; set; } + + /// + /// Represent mod item title. + /// + public Utf8String Title { get; set; } + + /// + /// Represent mod item version. + /// + public Utf8String Version { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ModIdentifierInternal : IGettable, ISettable + { + private int m_ApiVersion; + private IntPtr m_NamespaceId; + private IntPtr m_ItemId; + private IntPtr m_ArtifactId; + private IntPtr m_Title; + private IntPtr m_Version; + + public void Get(out ModIdentifier other) + { + other = default; + + Utf8String NamespaceIdPublic; + Helper.Get(m_NamespaceId, out NamespaceIdPublic); + other.NamespaceId = NamespaceIdPublic; + Utf8String ItemIdPublic; + Helper.Get(m_ItemId, out ItemIdPublic); + other.ItemId = ItemIdPublic; + Utf8String ArtifactIdPublic; + Helper.Get(m_ArtifactId, out ArtifactIdPublic); + other.ArtifactId = ArtifactIdPublic; + Utf8String TitlePublic; + Helper.Get(m_Title, out TitlePublic); + other.Title = TitlePublic; + Utf8String VersionPublic; + Helper.Get(m_Version, out VersionPublic); + other.Version = VersionPublic; + } + + public void Set(ref ModIdentifier other) + { + Dispose(); + + m_ApiVersion = ModsInterface.MOD_IDENTIFIER_API_LATEST; + Helper.Set(other.NamespaceId, ref m_NamespaceId); + Helper.Set(other.ItemId, ref m_ItemId); + Helper.Set(other.ArtifactId, ref m_ArtifactId); + Helper.Set(other.Title, ref m_Title); + Helper.Set(other.Version, ref m_Version); + } + + public void Dispose() + { + Helper.Dispose(ref m_NamespaceId); + Helper.Dispose(ref m_ItemId); + Helper.Dispose(ref m_ArtifactId); + Helper.Dispose(ref m_Title); + Helper.Dispose(ref m_Version); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModInfo.cs new file mode 100644 index 0000000..8eafdfc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModInfo.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Data for the function. + /// + /// + /// + public struct ModInfo + { + /// + /// The array of enumerated mods or if no such type of mods were enumerated + /// + public ModIdentifier[] Mods { get; set; } + + /// + /// Type of the mods + /// + public ModEnumerationType Type { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ModInfoInternal : IGettable + { + private int m_ApiVersion; + private int m_ModsCount; + private IntPtr m_Mods; + private ModEnumerationType m_Type; + + public void Get(out ModInfo other) + { + other = default; + + ModIdentifier[] ModsPublic; + Helper.Get(m_Mods, out ModsPublic, m_ModsCount, false); + other.Mods = ModsPublic; + other.Type = m_Type; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModsInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModsInterface.cs new file mode 100644 index 0000000..1128f7d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/ModsInterface.cs @@ -0,0 +1,221 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Mods +{ + public sealed partial class ModsInterface : Handle + { + public ModsInterface() + { + } + + public ModsInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int COPYMODINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ENUMERATEMODS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int INSTALLMOD_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int MODINFO_API_LATEST = 1; + /// + /// The most recent version of the struct. + /// + public const int MOD_IDENTIFIER_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UNINSTALLMOD_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int UPDATEMOD_API_LATEST = 1; + + /// + /// Get cached enumerated mods object. If successful, this data must be released by calling + /// Types of the cached enumerated mods can be specified through + /// + /// + /// + /// This request may fail with an code if an enumeration of a certain type was not performed before this call. + /// + /// + /// structure containing the game identifier for which requesting enumerated mods + /// + /// + /// Enumerated mods Info. If the returned result is success, this will be set to data that must be later released, otherwise this will be set to + /// + /// + /// Success if we have cached data, or an error result if the request was invalid or we do not have cached data. + /// + public Result CopyModInfo(ref CopyModInfoOptions options, out ModInfo? outEnumeratedMods) + { + var optionsInternal = default(CopyModInfoOptionsInternal); + optionsInternal.Set(ref options); + + var outEnumeratedModsPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Mods_CopyModInfo(InnerHandle, ref optionsInternal, out outEnumeratedModsPointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outEnumeratedModsPointer, out outEnumeratedMods); + if (outEnumeratedModsPointer != IntPtr.Zero) + { + Bindings.EOS_Mods_ModInfo_Release(outEnumeratedModsPointer); + } + + return callResult; + } + + /// + /// Starts an asynchronous task that makes a request to enumerate mods for the specified game. + /// Types of the mods to enumerate can be specified through + /// the section related to mods in eos_result.h for more details. + /// + /// + /// + /// + /// structure containing the game identifiers + /// + /// + /// 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 EnumerateMods(ref EnumerateModsOptions options, object clientData, OnEnumerateModsCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(EnumerateModsOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Mods_EnumerateMods(InnerHandle, ref optionsInternal, clientDataPointer, OnEnumerateModsCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Starts an asynchronous task that makes a request to install the specified mod. + /// the section related to mods in eos_result.h for more details. + /// + /// + /// + /// + /// structure containing the game and mod identifiers + /// + /// + /// 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 InstallMod(ref InstallModOptions options, object clientData, OnInstallModCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(InstallModOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Mods_InstallMod(InnerHandle, ref optionsInternal, clientDataPointer, OnInstallModCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Starts an asynchronous task that makes a request to uninstall the specified mod. + /// the section related to mods in eos_result.h for more details. + /// + /// + /// + /// + /// structure containing the game and mod identifiers + /// + /// + /// 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 UninstallMod(ref UninstallModOptions options, object clientData, OnUninstallModCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(UninstallModOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Mods_UninstallMod(InnerHandle, ref optionsInternal, clientDataPointer, OnUninstallModCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Starts an asynchronous task that makes a request to update the specified mod to the latest version. + /// the section related to mods in eos_result.h for more details. + /// + /// + /// + /// + /// structure containing the game and mod identifiers + /// + /// + /// 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. If the mod is up to date then the operation will complete with success. + /// + public void UpdateMod(ref UpdateModOptions options, object clientData, OnUpdateModCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(UpdateModOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Mods_UpdateMod(InnerHandle, ref optionsInternal, clientDataPointer, OnUpdateModCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnEnumerateModsCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnEnumerateModsCallback.cs new file mode 100644 index 0000000..6a660a3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnEnumerateModsCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnEnumerateModsCallback(ref EnumerateModsCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnEnumerateModsCallbackInternal(ref EnumerateModsCallbackInfoInternal data); + + internal static class OnEnumerateModsCallbackInternalImplementation + { + private static OnEnumerateModsCallbackInternal s_Delegate; + public static OnEnumerateModsCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnEnumerateModsCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnEnumerateModsCallbackInternal))] + public static void EntryPoint(ref EnumerateModsCallbackInfoInternal data) + { + OnEnumerateModsCallback callback; + EnumerateModsCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnInstallModCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnInstallModCallback.cs new file mode 100644 index 0000000..7ca7520 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnInstallModCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnInstallModCallback(ref InstallModCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnInstallModCallbackInternal(ref InstallModCallbackInfoInternal data); + + internal static class OnInstallModCallbackInternalImplementation + { + private static OnInstallModCallbackInternal s_Delegate; + public static OnInstallModCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnInstallModCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnInstallModCallbackInternal))] + public static void EntryPoint(ref InstallModCallbackInfoInternal data) + { + OnInstallModCallback callback; + InstallModCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnUninstallModCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnUninstallModCallback.cs new file mode 100644 index 0000000..02abc6e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnUninstallModCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnUninstallModCallback(ref UninstallModCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUninstallModCallbackInternal(ref UninstallModCallbackInfoInternal data); + + internal static class OnUninstallModCallbackInternalImplementation + { + private static OnUninstallModCallbackInternal s_Delegate; + public static OnUninstallModCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUninstallModCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUninstallModCallbackInternal))] + public static void EntryPoint(ref UninstallModCallbackInfoInternal data) + { + OnUninstallModCallback callback; + UninstallModCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnUpdateModCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnUpdateModCallback.cs new file mode 100644 index 0000000..c6d1e83 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/OnUpdateModCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnUpdateModCallback(ref UpdateModCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnUpdateModCallbackInternal(ref UpdateModCallbackInfoInternal data); + + internal static class OnUpdateModCallbackInternalImplementation + { + private static OnUpdateModCallbackInternal s_Delegate; + public static OnUpdateModCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnUpdateModCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnUpdateModCallbackInternal))] + public static void EntryPoint(ref UpdateModCallbackInfoInternal data) + { + OnUpdateModCallback callback; + UpdateModCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UninstallModCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UninstallModCallbackInfo.cs new file mode 100644 index 0000000..f75865c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UninstallModCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct UninstallModCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if the uninstallation was successful, otherwise one of the error codes is returned. + /// + public Result ResultCode { get; set; } + + /// + /// The Epic Account ID of the user for which mod uninstallation was requested + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Context that is passed into + /// + public object ClientData { get; set; } + + /// + /// Mod for which uninstallation was requested + /// + public ModIdentifier? Mod { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UninstallModCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_LocalUserId; + private IntPtr m_ClientData; + private IntPtr m_Mod; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UninstallModCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ModIdentifier? ModPublic; + Helper.Get(m_Mod, out ModPublic); + other.Mod = ModPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UninstallModOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UninstallModOptions.cs new file mode 100644 index 0000000..027a794 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UninstallModOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Input parameters for the Function. + /// + public struct UninstallModOptions + { + /// + /// The Epic Account ID of the user for which the mod should be uninstalled + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The mod to uninstall + /// + public ModIdentifier? Mod { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UninstallModOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Mod; + + public void Set(ref UninstallModOptions other) + { + Dispose(); + + m_ApiVersion = ModsInterface.UNINSTALLMOD_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Mod, ref m_Mod); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Mod); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UpdateModCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UpdateModCallbackInfo.cs new file mode 100644 index 0000000..b74439e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UpdateModCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Output parameters for the Function. These parameters are received through the callback provided to + /// + public struct UpdateModCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if the request to update was successful, otherwise one of the error codes is returned. + /// + public Result ResultCode { get; set; } + + /// + /// The Epic Account ID of the user for which mod update was requested + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Context that is passed into + /// + public object ClientData { get; set; } + + /// + /// Mod for which update was requested + /// + public ModIdentifier? Mod { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateModCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_LocalUserId; + private IntPtr m_ClientData; + private IntPtr m_Mod; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out UpdateModCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ModIdentifier? ModPublic; + Helper.Get(m_Mod, out ModPublic); + other.Mod = ModPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UpdateModOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UpdateModOptions.cs new file mode 100644 index 0000000..f538398 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Mods/UpdateModOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Mods +{ + /// + /// Input parameters for the Function. + /// + public struct UpdateModOptions + { + /// + /// The Epic Account ID of the user for which the mod should be updated + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The mod to update + /// + public ModIdentifier? Mod { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct UpdateModOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Mod; + + public void Set(ref UpdateModOptions other) + { + Dispose(); + + m_ApiVersion = ModsInterface.UPDATEMOD_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Mod, ref m_Mod); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Mod); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AcceptConnectionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AcceptConnectionOptions.cs new file mode 100644 index 0000000..e72e920 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AcceptConnectionOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like to accept a connection, and which connection. + /// + public struct AcceptConnectionOptions + { + /// + /// The Product User ID of the local user who is accepting any pending or future connections with RemoteUserId + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the remote user who has either sent a connection request or is expected to in the future + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket ID of the connection to accept on + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AcceptConnectionOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + + public void Set(ref AcceptConnectionOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.ACCEPTCONNECTION_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RemoteUserId, ref m_RemoteUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RemoteUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyIncomingPacketQueueFullOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyIncomingPacketQueueFullOptions.cs new file mode 100644 index 0000000..f1ce916 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyIncomingPacketQueueFullOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about what version of the function is supported. + /// + public struct AddNotifyIncomingPacketQueueFullOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyIncomingPacketQueueFullOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyIncomingPacketQueueFullOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.ADDNOTIFYINCOMINGPACKETQUEUEFULL_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionClosedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionClosedOptions.cs new file mode 100644 index 0000000..0a95557 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionClosedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like notifications about closed connections, and for which socket. + /// + public struct AddNotifyPeerConnectionClosedOptions + { + /// + /// The Product User ID of the local user who would like notifications + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The optional socket ID to listen for to be closed. If , this function handler will be called for all closed connections + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPeerConnectionClosedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SocketId; + + public void Set(ref AddNotifyPeerConnectionClosedOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.ADDNOTIFYPEERCONNECTIONCLOSED_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionEstablishedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionEstablishedOptions.cs new file mode 100644 index 0000000..d0faaaf --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionEstablishedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about which connections should be notified + /// + public struct AddNotifyPeerConnectionEstablishedOptions + { + /// + /// The Product User ID of the local user who would like to receive notifications + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The optional socket ID, used as a filter for established connections. If , this function handler will be called for all sockets + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPeerConnectionEstablishedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SocketId; + + public void Set(ref AddNotifyPeerConnectionEstablishedOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.ADDNOTIFYPEERCONNECTIONESTABLISHED_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionInterruptedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionInterruptedOptions.cs new file mode 100644 index 0000000..f751fe8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionInterruptedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like notifications about interrupted connections, and for which socket. + /// + public struct AddNotifyPeerConnectionInterruptedOptions + { + /// + /// The Product User ID of the local user who would like notifications + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// An optional socket ID to filter interrupted connections on. If , this function handler will be called for all interrupted connections + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPeerConnectionInterruptedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SocketId; + + public void Set(ref AddNotifyPeerConnectionInterruptedOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.ADDNOTIFYPEERCONNECTIONINTERRUPTED_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionRequestOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionRequestOptions.cs new file mode 100644 index 0000000..337dac0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/AddNotifyPeerConnectionRequestOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like connection notifications, and about which socket. + /// + public struct AddNotifyPeerConnectionRequestOptions + { + /// + /// The Product User ID of the user who is listening for incoming connection requests + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The optional socket ID to listen for, used as a filter for incoming connection requests; If , incoming connection requests will not be filtered + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyPeerConnectionRequestOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SocketId; + + public void Set(ref AddNotifyPeerConnectionRequestOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.ADDNOTIFYPEERCONNECTIONREQUEST_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ClearPacketQueueOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ClearPacketQueueOptions.cs new file mode 100644 index 0000000..a921efb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ClearPacketQueueOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about the packet queue to be cleared + /// + public struct ClearPacketQueueOptions + { + /// + /// The Product User ID of the local user for whom we want to clear the queued packets + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID to who (outgoing) or from who (incoming) packets are queued + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket used for packets to be cleared + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ClearPacketQueueOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + + public void Set(ref ClearPacketQueueOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.CLEARPACKETQUEUE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RemoteUserId, ref m_RemoteUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RemoteUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/CloseConnectionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/CloseConnectionOptions.cs new file mode 100644 index 0000000..f9ba58c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/CloseConnectionOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like to close a connection, and which connection. + /// + public struct CloseConnectionOptions + { + /// + /// The Product User ID of the local user who would like to close a previously accepted connection (or decline a pending invite) + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the remote user to disconnect from (or to reject a pending invite from) + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket ID of the connection to close (or optionally to not accept any connection requests from the Remote User) + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CloseConnectionOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + + public void Set(ref CloseConnectionOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.CLOSECONNECTION_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RemoteUserId, ref m_RemoteUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RemoteUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/CloseConnectionsOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/CloseConnectionsOptions.cs new file mode 100644 index 0000000..cd9c573 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/CloseConnectionsOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about who would like to close connections, and by what socket ID + /// + public struct CloseConnectionsOptions + { + /// + /// The Product User ID of the local user who would like to close all connections that use a particular socket ID + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The socket ID of the connections to close + /// + public SocketId? SocketId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CloseConnectionsOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SocketId; + + public void Set(ref CloseConnectionsOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.CLOSECONNECTIONS_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SocketId, ref m_SocketId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SocketId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ConnectionClosedReason.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ConnectionClosedReason.cs new file mode 100644 index 0000000..26bf31d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ConnectionClosedReason.cs @@ -0,0 +1,64 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Reasons why a P2P connection was closed + /// + public enum ConnectionClosedReason : int + { + /// + /// The connection was closed for unknown reasons. This most notably happens during application shutdown. + /// + Unknown = 0, + /// + /// The connection was at least locally accepted, but was closed by the local user via a call to / . + /// + ClosedByLocalUser = 1, + /// + /// The connection was at least locally accepted, but was gracefully closed by the remote user via a call to / . + /// + ClosedByPeer = 2, + /// + /// The connection was at least locally accepted, but was not remotely accepted in time. + /// + TimedOut = 3, + /// + /// The connection was accepted, but the connection could not be created due to too many other existing connections + /// + TooManyConnections = 4, + /// + /// The connection was accepted, The remote user sent an invalid message + /// + InvalidMessage = 5, + /// + /// The connection was accepted, but the remote user sent us invalid data + /// + InvalidData = 6, + /// + /// The connection was accepted, but we failed to ever establish a connection with the remote user due to connectivity issues. + /// + ConnectionFailed = 7, + /// + /// The connection was accepted and established, but the peer silently went away. + /// + ConnectionClosed = 8, + /// + /// The connection was locally accepted, but we failed to negotiate a connection with the remote user. This most commonly occurs if the local user goes offline or is logged-out during the connection process. + /// + NegotiationFailed = 9, + /// + /// The connection was accepted, but there was an internal error occurred and the connection cannot be created or continue. + /// + UnexpectedError = 10, + /// + /// The connection was ignored because no connection listeners were bound. + /// + ConnectionIgnored = 11 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ConnectionEstablishedType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ConnectionEstablishedType.cs new file mode 100644 index 0000000..4d84487 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/ConnectionEstablishedType.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Type of established connection + /// + public enum ConnectionEstablishedType : int + { + /// + /// The connection is brand new + /// + NewConnection = 0, + /// + /// The connection is reestablished (reconnection) + /// + Reconnection = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetNATTypeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetNATTypeOptions.cs new file mode 100644 index 0000000..f271d66 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetNATTypeOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information needed to get previously queried NAT-types + /// + public struct GetNATTypeOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetNATTypeOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetNATTypeOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.GETNATTYPE_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetPacketQueueInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetPacketQueueInfoOptions.cs new file mode 100644 index 0000000..20589ff --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetPacketQueueInfoOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information needed to get the current packet queue information. + /// + public struct GetPacketQueueInfoOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetPacketQueueInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetPacketQueueInfoOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.GETPACKETQUEUEINFO_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetPortRangeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetPortRangeOptions.cs new file mode 100644 index 0000000..a14553d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetPortRangeOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about getting the configured port range settings. + /// + public struct GetPortRangeOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetPortRangeOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetPortRangeOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.GETPORTRANGE_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetRelayControlOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetRelayControlOptions.cs new file mode 100644 index 0000000..2838b59 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/GetRelayControlOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about getting the relay control setting. + /// + public struct GetRelayControlOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetRelayControlOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetRelayControlOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.GETRELAYCONTROL_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/NATType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/NATType.cs new file mode 100644 index 0000000..7bd3509 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/NATType.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Categories of NAT strictness. + /// + public enum NATType : int + { + /// + /// NAT type either unknown (remote) or we are unable to determine it (local) + /// + Unknown = 0, + /// + /// All peers can directly-connect to you + /// + Open = 1, + /// + /// You can directly-connect to other Moderate and Open peers + /// + Moderate = 2, + /// + /// You can only directly-connect to Open peers + /// + Strict = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/NetworkConnectionType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/NetworkConnectionType.cs new file mode 100644 index 0000000..a8134b4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/NetworkConnectionType.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Types of network connections. + /// + public enum NetworkConnectionType : int + { + /// + /// There is no established connection + /// + NoConnection = 0, + /// + /// A direct connection to the peer over the Internet or Local Network + /// + DirectConnection = 1, + /// + /// A relayed connection using Epic-provided servers to the peer over the Internet + /// + RelayedConnection = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingConnectionRequestCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingConnectionRequestCallback.cs new file mode 100644 index 0000000..b5ffd76 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingConnectionRequestCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + + /// + /// Callback for information related to incoming connection requests. + /// + public delegate void OnIncomingConnectionRequestCallback(ref OnIncomingConnectionRequestInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnIncomingConnectionRequestCallbackInternal(ref OnIncomingConnectionRequestInfoInternal data); + + internal static class OnIncomingConnectionRequestCallbackInternalImplementation + { + private static OnIncomingConnectionRequestCallbackInternal s_Delegate; + public static OnIncomingConnectionRequestCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnIncomingConnectionRequestCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnIncomingConnectionRequestCallbackInternal))] + public static void EntryPoint(ref OnIncomingConnectionRequestInfoInternal data) + { + OnIncomingConnectionRequestCallback callback; + OnIncomingConnectionRequestInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingConnectionRequestInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingConnectionRequestInfo.cs new file mode 100644 index 0000000..4c30129 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingConnectionRequestInfo.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about an incoming connection request. + /// + public struct OnIncomingConnectionRequestInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who is being requested to open a P2P session with RemoteUserId + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the remote user who requested a peer connection with the local user + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The ID of the socket the Remote User wishes to communicate on + /// + public SocketId? SocketId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnIncomingConnectionRequestInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnIncomingConnectionRequestInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId RemoteUserIdPublic; + Helper.Get(m_RemoteUserId, out RemoteUserIdPublic); + other.RemoteUserId = RemoteUserIdPublic; + SocketId? SocketIdPublic; + Helper.Get(m_SocketId, out SocketIdPublic); + other.SocketId = SocketIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingPacketQueueFullCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingPacketQueueFullCallback.cs new file mode 100644 index 0000000..fbaa623 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingPacketQueueFullCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + + /// + /// Callback for information related to incoming connection requests. + /// + public delegate void OnIncomingPacketQueueFullCallback(ref OnIncomingPacketQueueFullInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnIncomingPacketQueueFullCallbackInternal(ref OnIncomingPacketQueueFullInfoInternal data); + + internal static class OnIncomingPacketQueueFullCallbackInternalImplementation + { + private static OnIncomingPacketQueueFullCallbackInternal s_Delegate; + public static OnIncomingPacketQueueFullCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnIncomingPacketQueueFullCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnIncomingPacketQueueFullCallbackInternal))] + public static void EntryPoint(ref OnIncomingPacketQueueFullInfoInternal data) + { + OnIncomingPacketQueueFullCallback callback; + OnIncomingPacketQueueFullInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingPacketQueueFullInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingPacketQueueFullInfo.cs new file mode 100644 index 0000000..f605453 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnIncomingPacketQueueFullInfo.cs @@ -0,0 +1,89 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about the packet queue's state and the incoming packet that would overflow the queue + /// + public struct OnIncomingPacketQueueFullInfo : ICallbackInfo + { + /// + /// Client-specified data passed into AddNotifyIncomingPacketQueueFull + /// + public object ClientData { get; set; } + + /// + /// The maximum size in bytes the incoming packet queue is allowed to use + /// + public ulong PacketQueueMaxSizeBytes { get; set; } + + /// + /// The current size in bytes the incoming packet queue is currently using + /// + public ulong PacketQueueCurrentSizeBytes { get; set; } + + /// + /// The Product User ID of the local user who is receiving the packet that would overflow the queue + /// + public ProductUserId OverflowPacketLocalUserId { get; set; } + + /// + /// The channel the incoming packet is for + /// + public byte OverflowPacketChannel { get; set; } + + /// + /// The size in bytes of the incoming packet (and related metadata) that would overflow the queue + /// + public uint OverflowPacketSizeBytes { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnIncomingPacketQueueFullInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private ulong m_PacketQueueMaxSizeBytes; + private ulong m_PacketQueueCurrentSizeBytes; + private IntPtr m_OverflowPacketLocalUserId; + private byte m_OverflowPacketChannel; + private uint m_OverflowPacketSizeBytes; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnIncomingPacketQueueFullInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.PacketQueueMaxSizeBytes = m_PacketQueueMaxSizeBytes; + other.PacketQueueCurrentSizeBytes = m_PacketQueueCurrentSizeBytes; + ProductUserId OverflowPacketLocalUserIdPublic; + Helper.Get(m_OverflowPacketLocalUserId, out OverflowPacketLocalUserIdPublic); + other.OverflowPacketLocalUserId = OverflowPacketLocalUserIdPublic; + other.OverflowPacketChannel = m_OverflowPacketChannel; + other.OverflowPacketSizeBytes = m_OverflowPacketSizeBytes; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionEstablishedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionEstablishedCallback.cs new file mode 100644 index 0000000..b3332a9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionEstablishedCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + + /// + /// Callback for information related to new connections being established + /// + public delegate void OnPeerConnectionEstablishedCallback(ref OnPeerConnectionEstablishedInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPeerConnectionEstablishedCallbackInternal(ref OnPeerConnectionEstablishedInfoInternal data); + + internal static class OnPeerConnectionEstablishedCallbackInternalImplementation + { + private static OnPeerConnectionEstablishedCallbackInternal s_Delegate; + public static OnPeerConnectionEstablishedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPeerConnectionEstablishedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPeerConnectionEstablishedCallbackInternal))] + public static void EntryPoint(ref OnPeerConnectionEstablishedInfoInternal data) + { + OnPeerConnectionEstablishedCallback callback; + OnPeerConnectionEstablishedInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionEstablishedInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionEstablishedInfo.cs new file mode 100644 index 0000000..884949a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionEstablishedInfo.cs @@ -0,0 +1,93 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about a connection being established + /// + public struct OnPeerConnectionEstablishedInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who is being notified of a connection being established + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the remote user who this connection was with + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket ID of the connection being established + /// + public SocketId? SocketId { get; set; } + + /// + /// Information if this is a new connection or reconnection + /// + public ConnectionEstablishedType ConnectionType { get; set; } + + /// + /// What type of network connection is being used for this connection + /// + public NetworkConnectionType NetworkType { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnPeerConnectionEstablishedInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + private ConnectionEstablishedType m_ConnectionType; + private NetworkConnectionType m_NetworkType; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnPeerConnectionEstablishedInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId RemoteUserIdPublic; + Helper.Get(m_RemoteUserId, out RemoteUserIdPublic); + other.RemoteUserId = RemoteUserIdPublic; + SocketId? SocketIdPublic; + Helper.Get(m_SocketId, out SocketIdPublic); + other.SocketId = SocketIdPublic; + other.ConnectionType = m_ConnectionType; + other.NetworkType = m_NetworkType; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionInterruptedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionInterruptedCallback.cs new file mode 100644 index 0000000..7c56773 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionInterruptedCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + + /// + /// Callback for information related to open connections that are interrupted. + /// + public delegate void OnPeerConnectionInterruptedCallback(ref OnPeerConnectionInterruptedInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPeerConnectionInterruptedCallbackInternal(ref OnPeerConnectionInterruptedInfoInternal data); + + internal static class OnPeerConnectionInterruptedCallbackInternalImplementation + { + private static OnPeerConnectionInterruptedCallbackInternal s_Delegate; + public static OnPeerConnectionInterruptedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPeerConnectionInterruptedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPeerConnectionInterruptedCallbackInternal))] + public static void EntryPoint(ref OnPeerConnectionInterruptedInfoInternal data) + { + OnPeerConnectionInterruptedCallback callback; + OnPeerConnectionInterruptedInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionInterruptedInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionInterruptedInfo.cs new file mode 100644 index 0000000..3bd2923 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnPeerConnectionInterruptedInfo.cs @@ -0,0 +1,79 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about an connection request that is that was interrupted. + /// + public struct OnPeerConnectionInterruptedInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The local user who is being notified of a connection that was interrupted + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the remote user who this connection was with + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket ID of the connection that was interrupted + /// + public SocketId? SocketId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnPeerConnectionInterruptedInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnPeerConnectionInterruptedInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId RemoteUserIdPublic; + Helper.Get(m_RemoteUserId, out RemoteUserIdPublic); + other.RemoteUserId = RemoteUserIdPublic; + SocketId? SocketIdPublic; + Helper.Get(m_SocketId, out SocketIdPublic); + other.SocketId = SocketIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnQueryNATTypeCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnQueryNATTypeCompleteCallback.cs new file mode 100644 index 0000000..4326b2a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnQueryNATTypeCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + + /// + /// Callback for information related to our NAT type query completing. + /// + public delegate void OnQueryNATTypeCompleteCallback(ref OnQueryNATTypeCompleteInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryNATTypeCompleteCallbackInternal(ref OnQueryNATTypeCompleteInfoInternal data); + + internal static class OnQueryNATTypeCompleteCallbackInternalImplementation + { + private static OnQueryNATTypeCompleteCallbackInternal s_Delegate; + public static OnQueryNATTypeCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryNATTypeCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryNATTypeCompleteCallbackInternal))] + public static void EntryPoint(ref OnQueryNATTypeCompleteInfoInternal data) + { + OnQueryNATTypeCompleteCallback callback; + OnQueryNATTypeCompleteInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnQueryNATTypeCompleteInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnQueryNATTypeCompleteInfo.cs new file mode 100644 index 0000000..c8cd575 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnQueryNATTypeCompleteInfo.cs @@ -0,0 +1,66 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about the local network NAT type + /// + public struct OnQueryNATTypeCompleteInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful query, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The queried NAT type + /// + public NATType NATType { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnQueryNATTypeCompleteInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private NATType m_NATType; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnQueryNATTypeCompleteInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + other.NATType = m_NATType; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnRemoteConnectionClosedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnRemoteConnectionClosedCallback.cs new file mode 100644 index 0000000..c64ae09 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnRemoteConnectionClosedCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + + /// + /// Callback for information related to open connections being closed. + /// + public delegate void OnRemoteConnectionClosedCallback(ref OnRemoteConnectionClosedInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRemoteConnectionClosedCallbackInternal(ref OnRemoteConnectionClosedInfoInternal data); + + internal static class OnRemoteConnectionClosedCallbackInternalImplementation + { + private static OnRemoteConnectionClosedCallbackInternal s_Delegate; + public static OnRemoteConnectionClosedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRemoteConnectionClosedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRemoteConnectionClosedCallbackInternal))] + public static void EntryPoint(ref OnRemoteConnectionClosedInfoInternal data) + { + OnRemoteConnectionClosedCallback callback; + OnRemoteConnectionClosedInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnRemoteConnectionClosedInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnRemoteConnectionClosedInfo.cs new file mode 100644 index 0000000..a640eaa --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/OnRemoteConnectionClosedInfo.cs @@ -0,0 +1,86 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about an connection request that is being closed. + /// + public struct OnRemoteConnectionClosedInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The local user who is being notified of a connection being closed + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the remote user who this connection was with + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket ID of the connection being closed + /// + public SocketId? SocketId { get; set; } + + /// + /// The reason the connection was closed (if known) + /// + public ConnectionClosedReason Reason { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OnRemoteConnectionClosedInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RemoteUserId; + private IntPtr m_SocketId; + private ConnectionClosedReason m_Reason; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out OnRemoteConnectionClosedInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + ProductUserId RemoteUserIdPublic; + Helper.Get(m_RemoteUserId, out RemoteUserIdPublic); + other.RemoteUserId = RemoteUserIdPublic; + SocketId? SocketIdPublic; + Helper.Get(m_SocketId, out SocketIdPublic); + other.SocketId = SocketIdPublic; + other.Reason = m_Reason; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/P2PInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/P2PInterface.cs new file mode 100644 index 0000000..5fe765e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/P2PInterface.cs @@ -0,0 +1,822 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.P2P +{ + public sealed partial class P2PInterface : Handle + { + public P2PInterface() + { + } + + public P2PInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ACCEPTCONNECTION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYINCOMINGPACKETQUEUEFULL_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPEERCONNECTIONCLOSED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPEERCONNECTIONESTABLISHED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPEERCONNECTIONINTERRUPTED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYPEERCONNECTIONREQUEST_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CLEARPACKETQUEUE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CLOSECONNECTIONS_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int CLOSECONNECTION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETNATTYPE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETNEXTRECEIVEDPACKETSIZE_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int GETPACKETQUEUEINFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETPORTRANGE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int GETRELAYCONTROL_API_LATEST = 1; + /// + /// The maximum amount of unique Socket ID connections that can be opened with each remote user. As this limit is only per remote user, you may have more + /// than this number of Socket IDs across multiple remote users. + /// + public const int MAX_CONNECTIONS = 32; + /// + /// A packet's maximum size in bytes + /// + public const int MAX_PACKET_SIZE = 1170; + /// + /// Helper constant to signify that the packet queue is allowed to grow indefinitely + /// + public const int MAX_QUEUE_SIZE_UNLIMITED = 0; + /// + /// The most recent version of the API. + /// + public const int QUERYNATTYPE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int RECEIVEPACKET_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int SENDPACKET_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int SETPACKETQUEUESIZE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SETPORTRANGE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int SETRELAYCONTROL_API_LATEST = 1; + /// + /// The most recent version of the structure. + /// + public const int SOCKETID_API_LATEST = 1; + /// + /// The total buffer size of a SocketName, including space for the -terminator + /// + public const int SOCKETID_SOCKETNAME_SIZE = 33; + + /// + /// Accept or Request a connection with a specific peer on a specific Socket ID. + /// + /// If this connection was not already locally accepted, we will securely message the peer, and trigger a PeerConnectionRequest notification notifying + /// them of the connection request. If the PeerConnectionRequest notification is not bound for all Socket IDs or for the requested Socket ID in particular, + /// the request will be silently ignored. + /// + /// If the remote peer accepts the connection, a notification will be broadcast to the when the connection is + /// ready to send packets. + /// + /// If multiple Socket IDs are accepted with one peer, they will share one physical socket. + /// + /// Even if a connection is already locally accepted, will still be returned if the input was valid. + /// + /// + /// + /// Information about who would like to accept a connection, and which connection + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the provided data is valid + /// - - if the provided data is invalid + /// + public Result AcceptConnection(ref AcceptConnectionOptions options) + { + var optionsInternal = default(AcceptConnectionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_AcceptConnection(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Listen for when our packet queue has become full. This event gives an opportunity to read packets to make + /// room for new incoming packets. If this event fires and no packets are read by calling + /// or the packet queue size is not increased by , any packets that are received after + /// this event are discarded until there is room again in the queue. + /// + /// + /// + /// + /// Information about what version of the API is supported + /// + /// + /// Arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// The callback to be fired when the incoming packet queue is full + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyIncomingPacketQueueFull(ref AddNotifyIncomingPacketQueueFullOptions options, object clientData, OnIncomingPacketQueueFullCallback incomingPacketQueueFullHandler) + { + if (incomingPacketQueueFullHandler == null) + { + throw new ArgumentNullException("incomingPacketQueueFullHandler"); + } + + var optionsInternal = default(AddNotifyIncomingPacketQueueFullOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, incomingPacketQueueFullHandler); + + var callResult = Bindings.EOS_P2P_AddNotifyIncomingPacketQueueFull(InnerHandle, ref optionsInternal, clientDataPointer, OnIncomingPacketQueueFullCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Listen for when a previously accepted connection that was either open or pending is closed. + /// When a connection closes, packets are flushed. This includes reliable packets. + /// + /// + /// + /// + /// + /// + /// + /// Information about who would like notifications about closed connections, and for which socket + /// + /// + /// This value is returned to the caller when ConnectionClosedHandler is invoked + /// + /// + /// The callback to be fired when an open connection has been closed + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyPeerConnectionClosed(ref AddNotifyPeerConnectionClosedOptions options, object clientData, OnRemoteConnectionClosedCallback connectionClosedHandler) + { + if (connectionClosedHandler == null) + { + throw new ArgumentNullException("connectionClosedHandler"); + } + + var optionsInternal = default(AddNotifyPeerConnectionClosedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, connectionClosedHandler); + + var callResult = Bindings.EOS_P2P_AddNotifyPeerConnectionClosed(InnerHandle, ref optionsInternal, clientDataPointer, OnRemoteConnectionClosedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Listen for when a connection is established. This is fired when we first connect to a peer, when we reconnect to a peer after a connection interruption, + /// and when our underlying network connection type changes (for example, from a direct connection to relay, or vice versa). Network Connection Type changes + /// will always be broadcast with a connection type, even if the connection was not interrupted. + /// If the network status changes from offline or disabled to online, you must call this function again. + /// + /// + /// + /// + /// + /// + /// + /// Information about who would like notifications about established connections, and for which socket + /// + /// + /// This value is returned to the caller when ConnectionEstablishedHandler is invoked + /// + /// + /// The callback to be fired when a connection has been established + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyPeerConnectionEstablished(ref AddNotifyPeerConnectionEstablishedOptions options, object clientData, OnPeerConnectionEstablishedCallback connectionEstablishedHandler) + { + if (connectionEstablishedHandler == null) + { + throw new ArgumentNullException("connectionEstablishedHandler"); + } + + var optionsInternal = default(AddNotifyPeerConnectionEstablishedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, connectionEstablishedHandler); + + var callResult = Bindings.EOS_P2P_AddNotifyPeerConnectionEstablished(InnerHandle, ref optionsInternal, clientDataPointer, OnPeerConnectionEstablishedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Listen for when a previously opened connection is interrupted. The connection will automatically attempt to reestablish, but it may not be successful. + /// + /// If a connection reconnects, it will trigger the P2P PeerConnectionEstablished notification with the connection type. + /// If a connection fails to reconnect, it will trigger the P2P PeerConnectionClosed notification. + /// Packets remain queued during connection interruptions. When a connection closes, packets are flushed. This includes reliable packets. + /// + /// + /// + /// + /// + /// + /// + /// Information about who would like notifications about interrupted connections, and for which socket + /// + /// + /// This value is returned to the caller when ConnectionInterruptedHandler is invoked + /// + /// + /// The callback to be fired when an open connection has been interrupted + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyPeerConnectionInterrupted(ref AddNotifyPeerConnectionInterruptedOptions options, object clientData, OnPeerConnectionInterruptedCallback connectionInterruptedHandler) + { + if (connectionInterruptedHandler == null) + { + throw new ArgumentNullException("connectionInterruptedHandler"); + } + + var optionsInternal = default(AddNotifyPeerConnectionInterruptedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, connectionInterruptedHandler); + + var callResult = Bindings.EOS_P2P_AddNotifyPeerConnectionInterrupted(InnerHandle, ref optionsInternal, clientDataPointer, OnPeerConnectionInterruptedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Listen for incoming connection requests on a particular Socket ID, or optionally all Socket IDs. The bound function + /// will only be called if the connection has not already been accepted. + /// If the network status changes from offline or disabled to online, you must call this function again. + /// + /// + /// + /// + /// + /// Information about who would like notifications, and (optionally) only for a specific socket + /// + /// + /// This value is returned to the caller when ConnectionRequestHandler is invoked + /// + /// + /// The callback to be fired when we receive a connection request + /// + /// + /// A valid notification ID if successfully bound, or otherwise + /// + public ulong AddNotifyPeerConnectionRequest(ref AddNotifyPeerConnectionRequestOptions options, object clientData, OnIncomingConnectionRequestCallback connectionRequestHandler) + { + if (connectionRequestHandler == null) + { + throw new ArgumentNullException("connectionRequestHandler"); + } + + var optionsInternal = default(AddNotifyPeerConnectionRequestOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, connectionRequestHandler); + + var callResult = Bindings.EOS_P2P_AddNotifyPeerConnectionRequest(InnerHandle, ref optionsInternal, clientDataPointer, OnIncomingConnectionRequestCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Clear queued incoming and outgoing packets. + /// + /// + /// + /// Information about which queues should be cleared + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the input options were valid (even if queues were empty and no packets where cleared) + /// - - if wrong API version + /// - - if an invalid/remote user was used + /// - - if input was invalid in other way + /// + public Result ClearPacketQueue(ref ClearPacketQueueOptions options) + { + var optionsInternal = default(ClearPacketQueueOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_ClearPacketQueue(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// For all (or optionally one specific) Socket ID(s) with a specific peer: stop receiving packets, drop any locally queued packets, and if no other + /// Socket ID is using the connection with the peer, close the underlying connection. + /// + /// If your application wants to migrate an existing connection with a peer it already connected to, it is recommended to call + /// with the new Socket ID first before calling , to prevent the shared physical socket from being torn down prematurely. + /// + /// + /// + /// Information about who would like to close a connection, and which connection. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the provided data is valid + /// - - if the provided data is invalid + /// + public Result CloseConnection(ref CloseConnectionOptions options) + { + var optionsInternal = default(CloseConnectionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_CloseConnection(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Close any open Connections for a specific Peer Connection ID. + /// + /// + /// + /// Information about who would like to close connections, and by what socket ID + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the provided data is valid + /// - - if the provided data is invalid + /// + public Result CloseConnections(ref CloseConnectionsOptions options) + { + var optionsInternal = default(CloseConnectionsOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_CloseConnections(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Get our last-queried NAT-type, if it has been successfully queried. + /// + /// + /// + /// Information about what version of the API is supported + /// + /// + /// The queried NAT Type, or unknown if unknown + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if we have cached data + /// - - If we do not have queried data cached + /// + public Result GetNATType(ref GetNATTypeOptions options, out NATType outNATType) + { + var optionsInternal = default(GetNATTypeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_GetNATType(InnerHandle, ref optionsInternal, out outNATType); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Gets the size of the packet that will be returned by ReceivePacket for a particular user, if there is any available + /// packets to be retrieved. + /// + /// + /// + /// Information about who is requesting the size of their next packet + /// + /// + /// The amount of bytes required to store the data of the next packet for the requested user + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If OutPacketSizeBytes was successfully set and there is data to be received + /// - - If input was invalid + /// - - If there are no packets available for the requesting user + /// + public Result GetNextReceivedPacketSize(ref GetNextReceivedPacketSizeOptions options, out uint outPacketSizeBytes) + { + var optionsInternal = default(GetNextReceivedPacketSizeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_GetNextReceivedPacketSize(InnerHandle, ref optionsInternal, out outPacketSizeBytes); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Gets the current cached information related to the incoming and outgoing packet queues. + /// + /// + /// + /// + /// Information about what version of the API is supported + /// + /// + /// The current information of the incoming and outgoing packet queues + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the input options were valid + /// - - if the input was invalid in some way + /// + public Result GetPacketQueueInfo(ref GetPacketQueueInfoOptions options, out PacketQueueInfo outPacketQueueInfo) + { + var optionsInternal = default(GetPacketQueueInfoOptionsInternal); + optionsInternal.Set(ref options); + + var outPacketQueueInfoInternal = default(PacketQueueInfoInternal); + + var callResult = Bindings.EOS_P2P_GetPacketQueueInfo(InnerHandle, ref optionsInternal, out outPacketQueueInfoInternal); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(ref outPacketQueueInfoInternal, out outPacketQueueInfo); + + return callResult; + } + + /// + /// Get the current chosen port and the amount of other ports to try above the chosen port if the chosen port is unavailable. + /// + /// + /// + /// Information about what version of the API is supported + /// + /// + /// The port that will be tried first + /// + /// + /// The amount of ports to try above the value in OutPort, if OutPort is unavailable + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the input options were valid + /// - - if the input was invalid in some way + /// + public Result GetPortRange(ref GetPortRangeOptions options, out ushort outPort, out ushort outNumAdditionalPortsToTry) + { + var optionsInternal = default(GetPortRangeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_GetPortRange(InnerHandle, ref optionsInternal, out outPort, out outNumAdditionalPortsToTry); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Get the current relay control setting. + /// + /// + /// + /// + /// Information about what version of the API is supported + /// + /// + /// The relay control setting currently configured + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the input was valid + /// - - if the input was invalid in some way + /// + public Result GetRelayControl(ref GetRelayControlOptions options, out RelayControl outRelayControl) + { + var optionsInternal = default(GetRelayControlOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_GetRelayControl(InnerHandle, ref optionsInternal, out outRelayControl); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Query the current NAT-type of our connection. + /// + /// + /// + /// + /// Information about what version of the API is supported + /// + /// + /// arbitrary data that is passed back to you in the CompletionDelegate + /// + /// + /// The callback to be fired when we finish querying our NAT type + /// + public void QueryNATType(ref QueryNATTypeOptions options, object clientData, OnQueryNATTypeCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryNATTypeOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_P2P_QueryNATType(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryNATTypeCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Stop listening for full incoming packet queue events on a previously bound handler. + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyIncomingPacketQueueFull(ulong notificationId) + { + Bindings.EOS_P2P_RemoveNotifyIncomingPacketQueueFull(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Stop notifications for connections being closed on a previously bound handler. + /// + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyPeerConnectionClosed(ulong notificationId) + { + Bindings.EOS_P2P_RemoveNotifyPeerConnectionClosed(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Stop notifications for connections being established on a previously bound handler. + /// + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyPeerConnectionEstablished(ulong notificationId) + { + Bindings.EOS_P2P_RemoveNotifyPeerConnectionEstablished(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Stop notifications for connections being interrupted on a previously bound handler. + /// + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyPeerConnectionInterrupted(ulong notificationId) + { + Bindings.EOS_P2P_RemoveNotifyPeerConnectionInterrupted(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Stop listening for connection requests on a previously bound handler. + /// + /// + /// + /// The previously bound notification ID + /// + public void RemoveNotifyPeerConnectionRequest(ulong notificationId) + { + Bindings.EOS_P2P_RemoveNotifyPeerConnectionRequest(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Send a packet to a peer at the specified address. If there is already an open connection to this peer, it will be + /// sent immediately. If there is no open connection, an attempt to connect to the peer will be made. An + /// result only means the data was accepted to be sent, not that it has been successfully delivered to the peer. + /// + /// + /// + /// Information about the data being sent, by who, to who + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - If packet was queued to be sent successfully + /// - - If input was invalid + /// - - If amount of data being sent is too large, or the outgoing packet queue was full + /// - - If bDisableAutoAcceptConnection was set to and the connection was not currently accepted (call first, or set bDisableAutoAcceptConnection to ) + /// + public Result SendPacket(ref SendPacketOptions options) + { + var optionsInternal = default(SendPacketOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_SendPacket(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Sets the maximum packet queue sizes that packets waiting to be sent or received can use. If the packet queue + /// size is made smaller than the current queue size while there are packets in the queue that would push this + /// packet size over, existing packets are kept but new packets may not be added to the full queue until enough + /// packets are sent or received. + /// + /// + /// + /// Information about packet queue size + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the input options were valid + /// - - if the input was invalid in some way + /// + public Result SetPacketQueueSize(ref SetPacketQueueSizeOptions options) + { + var optionsInternal = default(SetPacketQueueSizeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_SetPacketQueueSize(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set configuration options related to network ports. + /// + /// + /// + /// Information about network ports config options + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the options were set successfully + /// - - if the options are invalid in some way + /// + public Result SetPortRange(ref SetPortRangeOptions options) + { + var optionsInternal = default(SetPortRangeOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_SetPortRange(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Set how relay servers are to be used. This setting does not immediately apply to existing connections, but may apply to existing + /// connections if the connection requires renegotiation. + /// + /// + /// + /// + /// Information about relay server config options + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - - if the options were set successfully + /// - - if the options are invalid in some way + /// + public Result SetRelayControl(ref SetRelayControlOptions options) + { + var optionsInternal = default(SetRelayControlOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_P2P_SetRelayControl(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/PacketQueueInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/PacketQueueInfo.cs new file mode 100644 index 0000000..b37ba8b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/PacketQueueInfo.cs @@ -0,0 +1,69 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Information related to the current state of the packet queues. It is possible for the current size + /// to be larger than the maximum size if the maximum size changes or if the maximum queue size is + /// set to . + /// + public struct PacketQueueInfo + { + /// + /// The maximum size in bytes of the incoming packet queue + /// + public ulong IncomingPacketQueueMaxSizeBytes { get; set; } + + /// + /// The current size in bytes of the incoming packet queue + /// + public ulong IncomingPacketQueueCurrentSizeBytes { get; set; } + + /// + /// The current number of queued packets in the incoming packet queue + /// + public ulong IncomingPacketQueueCurrentPacketCount { get; set; } + + /// + /// The maximum size in bytes of the outgoing packet queue + /// + public ulong OutgoingPacketQueueMaxSizeBytes { get; set; } + + /// + /// The current size in bytes of the outgoing packet queue + /// + public ulong OutgoingPacketQueueCurrentSizeBytes { get; set; } + + /// + /// The current amount of queued packets in the outgoing packet queue + /// + public ulong OutgoingPacketQueueCurrentPacketCount { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PacketQueueInfoInternal : IGettable + { + private ulong m_IncomingPacketQueueMaxSizeBytes; + private ulong m_IncomingPacketQueueCurrentSizeBytes; + private ulong m_IncomingPacketQueueCurrentPacketCount; + private ulong m_OutgoingPacketQueueMaxSizeBytes; + private ulong m_OutgoingPacketQueueCurrentSizeBytes; + private ulong m_OutgoingPacketQueueCurrentPacketCount; + + public void Get(out PacketQueueInfo other) + { + other = default; + + other.IncomingPacketQueueMaxSizeBytes = m_IncomingPacketQueueMaxSizeBytes; + other.IncomingPacketQueueCurrentSizeBytes = m_IncomingPacketQueueCurrentSizeBytes; + other.IncomingPacketQueueCurrentPacketCount = m_IncomingPacketQueueCurrentPacketCount; + other.OutgoingPacketQueueMaxSizeBytes = m_OutgoingPacketQueueMaxSizeBytes; + other.OutgoingPacketQueueCurrentSizeBytes = m_OutgoingPacketQueueCurrentSizeBytes; + other.OutgoingPacketQueueCurrentPacketCount = m_OutgoingPacketQueueCurrentPacketCount; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/PacketReliability.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/PacketReliability.cs new file mode 100644 index 0000000..31f32da --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/PacketReliability.cs @@ -0,0 +1,31 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Types of packet reliability. + /// + /// Ordered packets will only be ordered relative to other ordered packets. Reliable/unreliable and ordered/unordered communication + /// can be sent on the same Socket ID and Channel. + /// + public enum PacketReliability : int + { + /// + /// Packets will only be sent once and may be received out of order + /// + UnreliableUnordered = 0, + /// + /// Packets may be sent multiple times and may be received out of order + /// + ReliableUnordered = 1, + /// + /// Packets may be sent multiple times and will be received in order + /// + ReliableOrdered = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/QueryNATTypeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/QueryNATTypeOptions.cs new file mode 100644 index 0000000..a267a6d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/QueryNATTypeOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information needed to query NAT-types + /// + public struct QueryNATTypeOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryNATTypeOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref QueryNATTypeOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.QUERYNATTYPE_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/RelayControl.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/RelayControl.cs new file mode 100644 index 0000000..90594ca --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/RelayControl.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Setting for controlling whether relay servers are used. + /// + /// Please see the following value compatibility-chart to better understand how changing this value + /// can affect compatibility between clients with different settings. Connections between clients using + /// Incompatible settings may succeed in limited scenarios but should be treated as though they will consistently fail. + /// + /// +------------------------------+---------------------+-------------------------------+---------------------+ + /// | | | (Default) | | + /// +------------------------------+---------------------+-------------------------------+---------------------+ + /// | | Compatible | Compatible | Incompatible | + /// | (Default) | Compatible | Compatible | Compatible | + /// | | Incompatible | Compatible | Compatible | + /// +------------------------------+---------------------+-------------------------------+---------------------+ + /// + public enum RelayControl : int + { + /// + /// Peer connections will never attempt to use relay servers. Clients with restrictive NATs may not be able to connect to peers. + /// + NoRelays = 0, + /// + /// Peer connections will attempt to use relay servers, but only after direct connection attempts fail. This is the default value if not changed. + /// + AllowRelays = 1, + /// + /// Peer connections will only ever use relay servers. This will add latency to all connections, but will hide IP Addresses from peers. + /// + ForceRelays = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SendPacketOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SendPacketOptions.cs new file mode 100644 index 0000000..9d93a1b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SendPacketOptions.cs @@ -0,0 +1,57 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about the data being sent and to which player + /// + public struct SendPacketOptions + { + /// + /// The Product User ID of the local user who is sending this packet + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The Product User ID of the Peer you would like to send a packet to + /// + public ProductUserId RemoteUserId { get; set; } + + /// + /// The socket ID for data you are sending in this packet + /// + public SocketId? SocketId { get; set; } + + /// + /// Channel associated with this data + /// + public byte Channel { get; set; } + + /// + /// The data to be sent to the RemoteUser + /// + public ArraySegment Data { get; set; } + + /// + /// If and we do not already have an established connection to the peer, this data will be dropped + /// + public bool AllowDelayedDelivery { get; set; } + + /// + /// Sets the reliability of the delivery of this packet. The reliability can be ``, ``, or ``. + /// + public PacketReliability Reliability { get; set; } + + /// + /// If set to , will not automatically establish a connection with the RemoteUserId and will require explicit calls to + /// first whenever the connection is closed. If set to , will automatically accept and start + /// the connection any time it is called and the connection is not already open. + /// + public bool DisableAutoAcceptConnection { get; set; } + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetPacketQueueSizeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetPacketQueueSizeOptions.cs new file mode 100644 index 0000000..823b8e4 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetPacketQueueSizeOptions.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about new packet queue size settings. + /// + public struct SetPacketQueueSizeOptions + { + /// + /// The ideal maximum amount of bytes the Incoming packet queue can consume + /// + public ulong IncomingPacketQueueMaxSizeBytes { get; set; } + + /// + /// The ideal maximum amount of bytes the Outgoing packet queue can consume + /// + public ulong OutgoingPacketQueueMaxSizeBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetPacketQueueSizeOptionsInternal : ISettable + { + private int m_ApiVersion; + private ulong m_IncomingPacketQueueMaxSizeBytes; + private ulong m_OutgoingPacketQueueMaxSizeBytes; + + public void Set(ref SetPacketQueueSizeOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.SETPACKETQUEUESIZE_API_LATEST; + m_IncomingPacketQueueMaxSizeBytes = other.IncomingPacketQueueMaxSizeBytes; + m_OutgoingPacketQueueMaxSizeBytes = other.OutgoingPacketQueueMaxSizeBytes; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetPortRangeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetPortRangeOptions.cs new file mode 100644 index 0000000..2017787 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetPortRangeOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about new port range settings. + /// + public struct SetPortRangeOptions + { + /// + /// The ideal port to use for P2P traffic. The default value is 7777. If set to 0, the OS will choose a port. If set to 0, MaxAdditionalPortsToTry must be set to 0. + /// + public ushort Port { get; set; } + + /// + /// The maximum amount of additional ports to try if Port is unavailable. Ports will be tried from Port to Port + MaxAdditionalPortsToTry + /// inclusive, until one is available or we run out of ports. If no ports are available, P2P connections will fail. The default value is 99. + /// + public ushort MaxAdditionalPortsToTry { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetPortRangeOptionsInternal : ISettable + { + private int m_ApiVersion; + private ushort m_Port; + private ushort m_MaxAdditionalPortsToTry; + + public void Set(ref SetPortRangeOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.SETPORTRANGE_API_LATEST; + m_Port = other.Port; + m_MaxAdditionalPortsToTry = other.MaxAdditionalPortsToTry; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetRelayControlOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetRelayControlOptions.cs new file mode 100644 index 0000000..3808423 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SetRelayControlOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + /// + /// Structure containing information about new relay configurations. + /// + public struct SetRelayControlOptions + { + /// + /// The requested level of relay servers for P2P connections. This setting is only applied to new P2P connections, or when existing P2P connections + /// reconnect during a temporary connectivity outage. Peers with an incompatible setting to the local setting will not be able to connect. + /// + public RelayControl RelayControl { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetRelayControlOptionsInternal : ISettable + { + private int m_ApiVersion; + private RelayControl m_RelayControl; + + public void Set(ref SetRelayControlOptions other) + { + Dispose(); + + m_ApiVersion = P2PInterface.SETRELAYCONTROL_API_LATEST; + m_RelayControl = other.RelayControl; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SocketId.cs b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SocketId.cs new file mode 100644 index 0000000..645ed80 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/P2P/SocketId.cs @@ -0,0 +1,37 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.P2P +{ + [StructLayout(LayoutKind.Sequential)] + internal struct SocketIdInternal : IGettable, ISettable + { + private int m_ApiVersion; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = P2PInterface.SOCKETID_SOCKETNAME_SIZE)] + private byte[] m_SocketName; + + public void Get(out SocketId other) + { + other = default; + + Utf8String SocketNamePublic; + Helper.Get(m_SocketName, out SocketNamePublic); + other.SocketName = SocketNamePublic; + } + + public void Set(ref SocketId other) + { + Dispose(); + + m_ApiVersion = P2PInterface.SOCKETID_API_LATEST; + Helper.Set(other.SocketName, ref m_SocketName, P2PInterface.SOCKETID_SOCKETNAME_SIZE); + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/AllocateMemoryFunc.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/AllocateMemoryFunc.cs new file mode 100644 index 0000000..6e23d2c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/AllocateMemoryFunc.cs @@ -0,0 +1,21 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + + /// + /// Function prototype type definition for functions that allocate memory. + /// + /// Functions passed to to serve as memory allocators should return a to the allocated memory. + /// + /// The returned should have at least SizeInBytes available capacity and the memory address should be a multiple of Alignment. + /// The SDK will always call the provided function with an Alignment that is a power of 2. + /// Allocation failures should return a . + /// + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + public delegate IntPtr AllocateMemoryFunc(UIntPtr sizeInBytes, UIntPtr alignment); +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ApplicationStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ApplicationStatus.cs new file mode 100644 index 0000000..0dae45d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ApplicationStatus.cs @@ -0,0 +1,44 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// All possible states of the application. + /// + public enum ApplicationStatus : int + { + /// + /// Xbox only. + /// + /// Notifies the SDK that the application has entered constrained mode. + /// While in constrained mode, the application has reduced access to reserved system resources. + /// + BackgroundConstrained = 0, + /// + /// Xbox only. + /// + /// Notifies the SDK that the application has returned from constrained mode, + /// and is back to running in a regular state with full access to system resources. + /// + /// The SDK will handle this state change and automatically transition its active state to . + /// As result, after the application has set the state, + /// calling will return as the persisted active state. + /// + BackgroundUnconstrained = 1, + /// + /// Notifies the SDK that the application has been put into suspended state by the platform system. + /// + BackgroundSuspended = 2, + /// + /// Notifies the SDK that the application has been resumed from suspended state. + /// + /// This is the default active state on all platforms. + /// + Foreground = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ClientCredentials.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ClientCredentials.cs new file mode 100644 index 0000000..66d9f60 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ClientCredentials.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Client credentials. + /// + public struct ClientCredentials + { + /// + /// Client ID of the service permissions entry. Set to if no service permissions are used. Max length is . + /// + public Utf8String ClientId { get; set; } + + /// + /// Client secret for accessing the set of permissions. Set to if no service permissions are used. Max length is . + /// + public Utf8String ClientSecret { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ClientCredentialsInternal : ISettable + { + private IntPtr m_ClientId; + private IntPtr m_ClientSecret; + + public void Set(ref ClientCredentials other) + { + Dispose(); + + Helper.Set(other.ClientId, ref m_ClientId); + Helper.Set(other.ClientSecret, ref m_ClientSecret); + } + + public void Dispose() + { + Helper.Dispose(ref m_ClientId); + Helper.Dispose(ref m_ClientSecret); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/DesktopCrossplayStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/DesktopCrossplayStatus.cs new file mode 100644 index 0000000..c35332c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/DesktopCrossplayStatus.cs @@ -0,0 +1,65 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Possible statuses for the availability of desktop crossplay functionality. + /// + /// + public enum DesktopCrossplayStatus : int + { + /// + /// Desktop crossplay is ready to use. + /// + Ok = 0, + /// + /// The application was not launched through the Bootstrapper. + /// + ApplicationNotBootstrapped = 1, + /// + /// The redistributable service is not installed. + /// + ServiceNotInstalled = 2, + /// + /// The service failed to start. + /// + ServiceStartFailed = 3, + /// + /// The service was started successfully, but is no longer running in the background, for an unknown reason. + /// + ServiceNotRunning = 4, + /// + /// The application has explicitly disabled the overlay through SDK initialization flags. + /// + OverlayDisabled = 5, + /// + /// The overlay is not installed. + /// + /// As the overlay is automatically installed and kept up-to-date by the redistributable service, + /// this indicates that the user may have separately manually removed the installed overlay files. + /// + OverlayNotInstalled = 6, + /// + /// The overlay was not loaded due to failing trust check on the digital signature of the file on disk. + /// + /// This error typically indicates one of the following root causes: + /// - The Operating System's local certificate store is out of date. + /// - The local system clock has skewed and is in the wrong time. + /// - The file has been tampered with. + /// - The file trust check timed out, either due to an issue with the local system or network connectivity. + /// + /// The first troubleshooting steps should be to check for any available Operating System updates, + /// for example using the Windows Update, as well as verifying that the system time is correctly set. + /// + OverlayTrustCheckFailed = 7, + /// + /// The overlay failed to load. + /// + OverlayLoadFailed = 8 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/DesktopCrossplayStatusInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/DesktopCrossplayStatusInfo.cs new file mode 100644 index 0000000..c6c9f6f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/DesktopCrossplayStatusInfo.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Output parameters for the function. + /// + public struct DesktopCrossplayStatusInfo + { + /// + /// Status for the availability of desktop crossplay functionality. + /// + /// It is recommended to include this value in application logs, and as part of + /// any player-facing error screens to help troubleshooting possible issues. + /// + public DesktopCrossplayStatus Status { get; set; } + + /// + /// This field is set when the Status is . + /// + /// Possible values for this field are not documented. However, it is recommended + /// to be also included in application logs, and as part of any player-facing + /// error screens. + /// + public int ServiceInitResult { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DesktopCrossplayStatusInfoInternal : IGettable + { + private DesktopCrossplayStatus m_Status; + private int m_ServiceInitResult; + + public void Get(out DesktopCrossplayStatusInfo other) + { + other = default; + + other.Status = m_Status; + other.ServiceInitResult = m_ServiceInitResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/GetDesktopCrossplayStatusOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/GetDesktopCrossplayStatusOptions.cs new file mode 100644 index 0000000..7c59631 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/GetDesktopCrossplayStatusOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Input parameters for the function. + /// + public struct GetDesktopCrossplayStatusOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetDesktopCrossplayStatusOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref GetDesktopCrossplayStatusOptions other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.GETDESKTOPCROSSPLAYSTATUS_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/InitializeOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/InitializeOptions.cs new file mode 100644 index 0000000..35cf978 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/InitializeOptions.cs @@ -0,0 +1,104 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Options for initializing the Epic Online Services SDK. + /// + public struct InitializeOptions + { + /// + /// A custom memory allocator, if desired. + /// + public IntPtr AllocateMemoryFunction { get; set; } + + /// + /// A corresponding memory reallocator. If the AllocateMemoryFunction is , then this field must also be . + /// + public IntPtr ReallocateMemoryFunction { get; set; } + + /// + /// A corresponding memory releaser. If the AllocateMemoryFunction is , then this field must also be . + /// + public IntPtr ReleaseMemoryFunction { get; set; } + + /// + /// The name of the product using the Epic Online Services SDK. + /// + /// The name is required to be non-empty and at maximum of bytes long. + /// The buffer can consist of the following characters: + /// A-Z, a-z, 0-9, dot, underscore, space, exclamation mark, question mark, and sign, hyphen, parenthesis, plus, minus, colon. + /// + public Utf8String ProductName { get; set; } + + /// + /// Product version of the running application. + /// + /// The version is required to be non-empty and at maximum of bytes long. + /// The buffer can consist of the following characters: + /// A-Z, a-z, 0-9, dot, underscore, space, exclamation mark, question mark, and sign, hyphen, parenthesis, plus, minus, colon. + /// + public Utf8String ProductVersion { get; set; } + + /// + /// A reserved field that should always be . + /// + public IntPtr Reserved { get; set; } + + /// + /// This field is for system specific initialization if any. + /// + /// If provided then the structure will be located in /eos_.h. + /// The structure will be named EOS__InitializeOptions. + /// + public IntPtr SystemInitializeOptions { get; set; } + + /// + /// The thread affinity override values for each category of thread. + /// + public InitializeThreadAffinity? OverrideThreadAffinity { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct InitializeOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_AllocateMemoryFunction; + private IntPtr m_ReallocateMemoryFunction; + private IntPtr m_ReleaseMemoryFunction; + private IntPtr m_ProductName; + private IntPtr m_ProductVersion; + private IntPtr m_Reserved; + private IntPtr m_SystemInitializeOptions; + private IntPtr m_OverrideThreadAffinity; + + public void Set(ref InitializeOptions other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.INITIALIZE_API_LATEST; + m_AllocateMemoryFunction = other.AllocateMemoryFunction; + m_ReallocateMemoryFunction = other.ReallocateMemoryFunction; + m_ReleaseMemoryFunction = other.ReleaseMemoryFunction; + Helper.Set(other.ProductName, ref m_ProductName); + Helper.Set(other.ProductVersion, ref m_ProductVersion); + m_Reserved = other.Reserved; + if (m_Reserved == IntPtr.Zero) Helper.Set(new int[] { 1, 1 }, ref m_Reserved, false); + m_SystemInitializeOptions = other.SystemInitializeOptions; + Helper.Set(other.OverrideThreadAffinity, ref m_OverrideThreadAffinity); + } + + public void Dispose() + { + Helper.Dispose(ref m_ProductName); + Helper.Dispose(ref m_ProductVersion); + Helper.Dispose(ref m_Reserved); + Helper.Dispose(ref m_SystemInitializeOptions); + Helper.Dispose(ref m_OverrideThreadAffinity); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/InitializeThreadAffinity.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/InitializeThreadAffinity.cs new file mode 100644 index 0000000..07d44cf --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/InitializeThreadAffinity.cs @@ -0,0 +1,95 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Options for initializing defining thread affinity for use by Epic Online Services SDK. + /// Set the affinity to 0 to allow EOS SDK to use a platform specific default value. + /// + public struct InitializeThreadAffinity + { + /// + /// Any thread related to network management that is not IO. + /// + public ulong NetworkWork { get; set; } + + /// + /// Any thread that will interact with a storage device. + /// + public ulong StorageIo { get; set; } + + /// + /// Any thread that will generate web socket IO. + /// + public ulong WebSocketIo { get; set; } + + /// + /// Any thread that will generate IO related to P2P traffic and management. + /// + public ulong P2PIo { get; set; } + + /// + /// Any thread that will generate http request IO. + /// + public ulong HttpRequestIo { get; set; } + + /// + /// Any thread that will generate IO related to RTC traffic and management. + /// + public ulong RTCIo { get; set; } + + /// + /// Main thread of the external overlay + /// + public ulong EmbeddedOverlayMainThread { get; set; } + + /// + /// Worker threads of the external overlay + /// + public ulong EmbeddedOverlayWorkerThreads { get; set; } + + /// + /// Any thread that process cryptography work + /// + public ulong CryptographyWork { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct InitializeThreadAffinityInternal : ISettable + { + private int m_ApiVersion; + private ulong m_NetworkWork; + private ulong m_StorageIo; + private ulong m_WebSocketIo; + private ulong m_P2PIo; + private ulong m_HttpRequestIo; + private ulong m_RTCIo; + private ulong m_EmbeddedOverlayMainThread; + private ulong m_EmbeddedOverlayWorkerThreads; + private ulong m_CryptographyWork; + + public void Set(ref InitializeThreadAffinity other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.INITIALIZE_THREADAFFINITY_API_LATEST; + m_NetworkWork = other.NetworkWork; + m_StorageIo = other.StorageIo; + m_WebSocketIo = other.WebSocketIo; + m_P2PIo = other.P2PIo; + m_HttpRequestIo = other.HttpRequestIo; + m_RTCIo = other.RTCIo; + m_EmbeddedOverlayMainThread = other.EmbeddedOverlayMainThread; + m_EmbeddedOverlayWorkerThreads = other.EmbeddedOverlayWorkerThreads; + m_CryptographyWork = other.CryptographyWork; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/NetworkStatus.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/NetworkStatus.cs new file mode 100644 index 0000000..2b6f0cc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/NetworkStatus.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// All possible states of the network. + /// + public enum NetworkStatus : int + { + /// + /// Networking unavailable. + /// + Disabled = 0, + /// + /// Not connected to the internet. Only local area networking (LAN) may be available. + /// + Offline = 1, + /// + /// Connected to the internet. + /// + Online = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/Options.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/Options.cs new file mode 100644 index 0000000..0c9761d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/Options.cs @@ -0,0 +1,166 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Platform options for . + /// + public struct Options + { + /// + /// A reserved field that should always be . + /// + public IntPtr Reserved { get; set; } + + /// + /// The product ID for the running application, found on the dev portal. Max length is . + /// + public Utf8String ProductId { get; set; } + + /// + /// The sandbox ID for the running application, found on the dev portal. Max length is . + /// + public Utf8String SandboxId { get; set; } + + /// + /// Set of service permissions associated with the running application + /// + public ClientCredentials ClientCredentials { get; set; } + + /// + /// Set this to if the application is running as a client with a local user, otherwise set to (e.g. for a dedicated game server) + /// + public bool IsServer { get; set; } + + /// + /// Used by Player Data Storage and Title Storage. Must be initialized if unused. 256-bit Encryption Key for file encryption in hexadecimal format; hex chars. + /// + public Utf8String EncryptionKey { get; set; } + + /// + /// The override country code to use for the logged in user. () + /// + public Utf8String OverrideCountryCode { get; set; } + + /// + /// The override locale code to use for the logged in user. This follows ISO 639. () + /// + public Utf8String OverrideLocaleCode { get; set; } + + /// + /// The deployment ID for the running application, found on the dev portal. Max length is . + /// + public Utf8String DeploymentId { get; set; } + + /// + /// Platform creation flags, e.g. . This is a bitwise-or union of the defined flags. + /// + public PlatformFlags Flags { get; set; } + + /// + /// Used by Player Data Storage and Title Storage. Must be initialized if unused. Cache directory path. Absolute path to the folder that is going to be used for caching temporary data. The path is created if it's missing. + /// + public Utf8String CacheDirectory { get; set; } + + /// + /// A budget, measured in milliseconds, for to do its work. When the budget is met or exceeded (or if no work is available), will return. + /// This allows your game to amortize the cost of SDK work across multiple frames in the event that a lot of work is queued for processing. + /// Zero is interpreted as "perform all available work". + /// + public uint TickBudgetInMilliseconds { get; set; } + + /// + /// RTC options. Setting to will disable RTC features (e.g. voice) + /// + public RTCOptions? RTCOptions { get; set; } + + /// + /// A handle that contains all the options for setting up integrated platforms. + /// When set to , the EOS Integrated Platform behavior for the host platform will be disabled. + /// + public IntegratedPlatform.IntegratedPlatformOptionsContainer IntegratedPlatformOptionsContainerHandle { get; set; } + + /// + /// to EOS_"PLATFORM_NAME"_SystemSpecificOptions. This structure will be located in "PLATFORM_NAME"/eos_"PLATFORM_NAME".h + /// + public IntPtr SystemSpecificOptions { get; set; } + + /// + /// Number of seconds for a task to wait for the network to become available before timing out with an error. + /// This timeout period applies when the network status is not . Tasks that need the network will queue for up to + /// this timeout until is used to set the network status to online. + /// + /// Pass a to use the default. + /// Otherwise, pass a to a containing the number of seconds for tasks that are waiting for network to time out. + /// + /// + /// + public double? TaskNetworkTimeoutSeconds { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Reserved; + private IntPtr m_ProductId; + private IntPtr m_SandboxId; + private ClientCredentialsInternal m_ClientCredentials; + private int m_IsServer; + private IntPtr m_EncryptionKey; + private IntPtr m_OverrideCountryCode; + private IntPtr m_OverrideLocaleCode; + private IntPtr m_DeploymentId; + private PlatformFlags m_Flags; + private IntPtr m_CacheDirectory; + private uint m_TickBudgetInMilliseconds; + private IntPtr m_RTCOptions; + private IntPtr m_IntegratedPlatformOptionsContainerHandle; + private IntPtr m_SystemSpecificOptions; + private IntPtr m_TaskNetworkTimeoutSeconds; + + public void Set(ref Options other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.OPTIONS_API_LATEST; + m_Reserved = other.Reserved; + Helper.Set(other.ProductId, ref m_ProductId); + Helper.Set(other.SandboxId, ref m_SandboxId); + Helper.Set(other.ClientCredentials, ref m_ClientCredentials); + Helper.Set(other.IsServer, ref m_IsServer); + Helper.Set(other.EncryptionKey, ref m_EncryptionKey); + Helper.Set(other.OverrideCountryCode, ref m_OverrideCountryCode); + Helper.Set(other.OverrideLocaleCode, ref m_OverrideLocaleCode); + Helper.Set(other.DeploymentId, ref m_DeploymentId); + m_Flags = other.Flags; + Helper.Set(other.CacheDirectory, ref m_CacheDirectory); + m_TickBudgetInMilliseconds = other.TickBudgetInMilliseconds; + Helper.Set(other.RTCOptions, ref m_RTCOptions); + Helper.Set(other.IntegratedPlatformOptionsContainerHandle, ref m_IntegratedPlatformOptionsContainerHandle); + m_SystemSpecificOptions = other.SystemSpecificOptions; + Helper.Set(other.TaskNetworkTimeoutSeconds, ref m_TaskNetworkTimeoutSeconds); + } + + public void Dispose() + { + Helper.Dispose(ref m_Reserved); + Helper.Dispose(ref m_ProductId); + Helper.Dispose(ref m_SandboxId); + Helper.Dispose(ref m_ClientCredentials); + Helper.Dispose(ref m_EncryptionKey); + Helper.Dispose(ref m_OverrideCountryCode); + Helper.Dispose(ref m_OverrideLocaleCode); + Helper.Dispose(ref m_DeploymentId); + Helper.Dispose(ref m_CacheDirectory); + Helper.Dispose(ref m_RTCOptions); + Helper.Dispose(ref m_IntegratedPlatformOptionsContainerHandle); + Helper.Dispose(ref m_SystemSpecificOptions); + Helper.Dispose(ref m_TaskNetworkTimeoutSeconds); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/PlatformFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/PlatformFlags.cs new file mode 100644 index 0000000..b73c361 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/PlatformFlags.cs @@ -0,0 +1,57 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Platform flags. + /// + [Flags] + public enum PlatformFlags : ulong + { + /// + /// No flags. + /// + None = 0x0, + /// + /// A bit that indicates the SDK is being loaded in a game editor, like Unity or UE4 Play-in-Editor + /// + LoadingInEditor = 0x00001, + /// + /// A bit that indicates the SDK should skip initialization of the overlay, which is used by the in-app purchase flow and social overlay. This bit is implied by + /// + DisableOverlay = 0x00002, + /// + /// A bit that indicates the SDK should skip initialization of the social overlay, which provides an overlay UI for social features. This bit is implied by or + /// + DisableSocialOverlay = 0x00004, + /// + /// A reserved bit + /// + Reserved1 = 0x00008, + /// + /// A bit that indicates your game would like to opt-in to experimental Direct3D 9 support for the overlay. This flag is only relevant on Windows + /// + WindowsEnableOverlayD3D9 = 0x00010, + /// + /// A bit that indicates your game would like to opt-in to experimental Direct3D 10 support for the overlay. This flag is only relevant on Windows + /// + WindowsEnableOverlayD3D10 = 0x00020, + /// + /// A bit that indicates your game would like to opt-in to experimental OpenGL support for the overlay. This flag is only relevant on Windows + /// + WindowsEnableOverlayOpengl = 0x00040, + /// + /// A bit that indicates your game would like to opt-in to automatic unloading of the overlay module when possible. This flag is only relevant on Consoles + /// + ConsoleEnableOverlayAutomaticUnloading = 0x00080, + /// + /// A bit that enables verbose debug logging related to the overlay. This flag is only relevant on Consoles. + /// + EnableOverlayDebugLogging = 0x00100 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/PlatformInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/PlatformInterface.cs new file mode 100644 index 0000000..798fa01 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/PlatformInterface.cs @@ -0,0 +1,1005 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Platform +{ + public sealed partial class PlatformInterface : Handle + { + public PlatformInterface() + { + } + + public PlatformInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The name of the env var used to determine if the game was launched by the Epic Games Launcher. + /// + /// During the call to , the command line that was used to launch the app is inspected, and if it is + /// recognized as coming from the Epic Games Launcher, this environment variable is set to 1. + /// + /// NOTE: You can force the API to relaunch the title by + /// explicitly unsetting this environment variable before calling . + /// + public static readonly Utf8String CHECKFORLAUNCHERANDRESTART_ENV_VAR = "EOS_LAUNCHED_BY_EPIC"; + /// + /// Max length of a client id, not including the terminating . + /// + public const int CLIENTCREDENTIALS_CLIENTID_MAX_LENGTH = 64; + /// + /// Max length of a client secret, not including the terminating . + /// + public const int CLIENTCREDENTIALS_CLIENTSECRET_MAX_LENGTH = 64; + /// + /// The maximum length of a Country Code buffer + /// + public const int COUNTRYCODE_MAX_BUFFER_LEN = (COUNTRYCODE_MAX_LENGTH + 1); + /// + /// The maximum length of a Country Code + /// + public const int COUNTRYCODE_MAX_LENGTH = 4; + /// + /// The most recent version of the API. + /// + public const int GETDESKTOPCROSSPLAYSTATUS_API_LATEST = 1; + /// + /// Max length of a product name, not including the terminating . + /// + public const int INITIALIZEOPTIONS_PRODUCTNAME_MAX_LENGTH = 64; + /// + /// Max length of a product version, not including the terminating . + /// + public const int INITIALIZEOPTIONS_PRODUCTVERSION_MAX_LENGTH = 64; + /// + /// The most recent version of the API. + /// + public const int INITIALIZE_API_LATEST = 5; + /// + /// The most recent version of the API. + /// + public const int INITIALIZE_THREADAFFINITY_API_LATEST = 4; + /// + /// The maximum length of a Locale Code buffer + /// + public const int LOCALECODE_MAX_BUFFER_LEN = (LOCALECODE_MAX_LENGTH + 1); + /// + /// The maximum length of a Locale Code + /// + public const int LOCALECODE_MAX_LENGTH = 9; + /// + /// The most recent version of the API. + /// + public const int OPTIONS_API_LATEST = 15; + /// + /// Max length of a deployment id, not including the terminating . + /// + public const int OPTIONS_DEPLOYMENTID_MAX_LENGTH = 64; + /// + /// Length of an encryption key, not including the terminating . + /// + public const int OPTIONS_ENCRYPTIONKEY_LENGTH = 64; + /// + /// Max length of a product id, not including the terminating . + /// + public const int OPTIONS_PRODUCTID_MAX_LENGTH = 64; + /// + /// Max length of a sandbox id, not including the terminating . + /// + public const int OPTIONS_SANDBOXID_MAX_LENGTH = 64; + /// + /// The most recent version of the API. + /// + public const int RTCOPTIONS_API_LATEST = 3; + + /// + /// Gets the representation of an value. + /// + /// Example: () returns "EOS_AS_Foreground". + /// + /// + /// value to get as . + /// + /// + /// to a static representing the input enum value. + /// The returned is guaranteed to be non-, and must not be freed by the application. + /// + public static Utf8String ToString(ApplicationStatus applicationStatus) + { + var callResult = Bindings.EOS_EApplicationStatus_ToString(applicationStatus); + + Utf8String callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Gets the representation of an value. + /// + /// Example: () returns "EOS_NS_Online". + /// + /// + /// value to get as . + /// + /// + /// to a static representing the input enum value. + /// The returned is guaranteed to be non-, and must not be freed by the application. + /// + public static Utf8String ToString(NetworkStatus networkStatus) + { + var callResult = Bindings.EOS_ENetworkStatus_ToString(networkStatus); + + Utf8String callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Initialize the Epic Online Services SDK. + /// + /// Before calling any other function in the SDK, clients must call this function. + /// + /// This function must only be called one time and must have a corresponding call. + /// + /// + /// - The initialization options to use for the SDK. + /// + /// + /// An is returned to indicate success or an error. + /// is returned if the SDK successfully initializes. + /// is returned if the function has already been called. + /// is returned if the provided options are invalid. + /// + public static Result Initialize(ref InitializeOptions options) + { + var optionsInternal = default(InitializeOptionsInternal); + optionsInternal.Set(ref options); + + + var callResult = Bindings.EOS_Initialize(ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Checks if the app was launched through the Epic Games Launcher, and relaunches it through the Epic Games Launcher if it wasn't. + /// + /// NOTE: During the call to , the command line that was used to launch the app is inspected, and if it is + /// recognized as coming from the Epic Games Launcher, an environment variable is set to 1. The name of the environment variable + /// is defined by . + /// + /// You can force the API to relaunch the title by + /// explicitly unsetting this environment variable before calling . + /// + /// + /// An is returned to indicate success or an error. + /// is returned if the app is being restarted. You should quit your process as soon as possible. + /// is returned if the app was already launched through the Epic Launcher, and no action needs to be taken. + /// is returned if the LauncherCheck module failed to initialize, or the module tried and failed to restart the app. + /// + public Result CheckForLauncherAndRestart() + { + var callResult = Bindings.EOS_Platform_CheckForLauncherAndRestart(InnerHandle); + + return callResult; + } + + /// + /// Create a single Epic Online Services Platform Instance. + /// + /// The platform instance is used to gain access to the various Epic Online Services. + /// + /// This function returns an opaque handle to the platform instance, and that handle must be passed to to release the instance. + /// + /// + /// An opaque handle to the platform instance. + /// + public static PlatformInterface Create(ref Options options) + { + var optionsInternal = default(OptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Platform_Create(ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + PlatformInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Achievements Interface. + /// eos_achievements.h + /// eos_achievements_types.h + /// + /// + /// handle + /// + public Achievements.AchievementsInterface GetAchievementsInterface() + { + var callResult = Bindings.EOS_Platform_GetAchievementsInterface(InnerHandle); + + Achievements.AchievementsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// This only will return the value set as the override otherwise is returned. + /// This is not currently used for anything internally. + /// eos_ecom.h + /// + /// + /// + /// The account to use for lookup if no override exists. + /// + /// + /// The buffer into which the character data should be written. The buffer must be long enough to hold a of . + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer. + /// + /// + /// An that indicates whether the active country code was copied into the OutBuffer. + /// - if the information is available and passed out in OutBuffer + /// - if you pass a for the out parameter + /// - if there is not an override country code for the user. + /// - - The OutBuffer is not large enough to receive the country code . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetActiveCountryCode(EpicAccountId localUserId, out Utf8String outBuffer) + { + int inOutBufferLength = COUNTRYCODE_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Platform_GetActiveCountryCode(InnerHandle, localUserId.InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Get the active locale code that the SDK will send to services which require it. + /// This returns the override value otherwise it will use the locale code of the given user. + /// This is used for localization. This follows ISO 639. + /// eos_ecom.h + /// + /// + /// + /// The account to use for lookup if no override exists. + /// + /// + /// The buffer into which the character data should be written. The buffer must be long enough to hold a of . + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer. + /// + /// + /// An that indicates whether the active locale code was copied into the OutBuffer. + /// - if the information is available and passed out in OutBuffer + /// - if you pass a for the out parameter + /// - if there is neither an override nor an available locale code for the user. + /// - - The OutBuffer is not large enough to receive the locale code . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetActiveLocaleCode(EpicAccountId localUserId, out Utf8String outBuffer) + { + int inOutBufferLength = LOCALECODE_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Platform_GetActiveLocaleCode(InnerHandle, localUserId.InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Get a handle to the Anti-Cheat Client Interface. + /// eos_anticheatclient.h + /// eos_anticheatclient_types.h + /// + /// + /// handle + /// + public AntiCheatClient.AntiCheatClientInterface GetAntiCheatClientInterface() + { + var callResult = Bindings.EOS_Platform_GetAntiCheatClientInterface(InnerHandle); + + AntiCheatClient.AntiCheatClientInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Anti-Cheat Server Interface. + /// eos_anticheatserver.h + /// eos_anticheatserver_types.h + /// + /// + /// handle + /// + public AntiCheatServer.AntiCheatServerInterface GetAntiCheatServerInterface() + { + var callResult = Bindings.EOS_Platform_GetAntiCheatServerInterface(InnerHandle); + + AntiCheatServer.AntiCheatServerInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Retrieves the current application state as told to the SDK by the application. + /// + /// + /// The current application status. + /// + public ApplicationStatus GetApplicationStatus() + { + var callResult = Bindings.EOS_Platform_GetApplicationStatus(InnerHandle); + + return callResult; + } + + /// + /// Get a handle to the Auth Interface. + /// eos_auth.h + /// eos_auth_types.h + /// + /// + /// handle + /// + public Auth.AuthInterface GetAuthInterface() + { + var callResult = Bindings.EOS_Platform_GetAuthInterface(InnerHandle); + + Auth.AuthInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Connect Interface. + /// eos_connect.h + /// eos_connect_types.h + /// + /// + /// handle + /// + public Connect.ConnectInterface GetConnectInterface() + { + var callResult = Bindings.EOS_Platform_GetConnectInterface(InnerHandle); + + Connect.ConnectInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Custom Invites Interface. + /// eos_custominvites.h + /// eos_custominvites_types.h + /// + /// + /// handle + /// + public CustomInvites.CustomInvitesInterface GetCustomInvitesInterface() + { + var callResult = Bindings.EOS_Platform_GetCustomInvitesInterface(InnerHandle); + + CustomInvites.CustomInvitesInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Windows only. + /// Checks that the application is ready to use desktop crossplay functionality, with the necessary prerequisites having been met. + /// + /// This function verifies that the application was launched through the Bootstrapper application, + /// the redistributable service has been installed and is running in the background, + /// and that the overlay has been loaded successfully. + /// + /// On Windows, the desktop crossplay functionality is required to use Epic accounts login + /// with applications that are distributed outside the Epic Games Store. + /// + /// + /// + /// + /// input structure that specifies the API version. + /// + /// + /// output structure to receive the desktop crossplay status information. + /// + /// + /// An is returned to indicate success or an error. + /// - is returned on non-Windows platforms. + /// + public Result GetDesktopCrossplayStatus(ref GetDesktopCrossplayStatusOptions options, out DesktopCrossplayStatusInfo outDesktopCrossplayStatusInfo) + { + var optionsInternal = default(GetDesktopCrossplayStatusOptionsInternal); + optionsInternal.Set(ref options); + + var outDesktopCrossplayStatusInfoInternal = default(DesktopCrossplayStatusInfoInternal); + + var callResult = Bindings.EOS_Platform_GetDesktopCrossplayStatus(InnerHandle, ref optionsInternal, out outDesktopCrossplayStatusInfoInternal); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(ref outDesktopCrossplayStatusInfoInternal, out outDesktopCrossplayStatusInfo); + + return callResult; + } + + /// + /// Get a handle to the Ecom Interface. + /// eos_ecom.h + /// eos_ecom_types.h + /// + /// + /// handle + /// + public Ecom.EcomInterface GetEcomInterface() + { + var callResult = Bindings.EOS_Platform_GetEcomInterface(InnerHandle); + + Ecom.EcomInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Friends Interface. + /// eos_friends.h + /// eos_friends_types.h + /// + /// + /// handle + /// + public Friends.FriendsInterface GetFriendsInterface() + { + var callResult = Bindings.EOS_Platform_GetFriendsInterface(InnerHandle); + + Friends.FriendsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Integrated Platform Interface. + /// eos_integratedplatform.h + /// eos_integratedplatform_types.h + /// + /// + /// handle + /// + public IntegratedPlatform.IntegratedPlatformInterface GetIntegratedPlatformInterface() + { + var callResult = Bindings.EOS_Platform_GetIntegratedPlatformInterface(InnerHandle); + + IntegratedPlatform.IntegratedPlatformInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Kids Web Service Interface. + /// eos_kws.h + /// eos_kws_types.h + /// + /// + /// handle + /// + public KWS.KWSInterface GetKWSInterface() + { + var callResult = Bindings.EOS_Platform_GetKWSInterface(InnerHandle); + + KWS.KWSInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Leaderboards Interface. + /// eos_leaderboards.h + /// eos_leaderboards_types.h + /// + /// + /// handle + /// + public Leaderboards.LeaderboardsInterface GetLeaderboardsInterface() + { + var callResult = Bindings.EOS_Platform_GetLeaderboardsInterface(InnerHandle); + + Leaderboards.LeaderboardsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Lobby Interface. + /// eos_lobby.h + /// eos_lobby_types.h + /// + /// + /// handle + /// + public Lobby.LobbyInterface GetLobbyInterface() + { + var callResult = Bindings.EOS_Platform_GetLobbyInterface(InnerHandle); + + Lobby.LobbyInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Metrics Interface. + /// eos_metrics.h + /// eos_metrics_types.h + /// + /// + /// handle + /// + public Metrics.MetricsInterface GetMetricsInterface() + { + var callResult = Bindings.EOS_Platform_GetMetricsInterface(InnerHandle); + + Metrics.MetricsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Mods Interface. + /// eos_mods.h + /// eos_mods_types.h + /// + /// + /// handle + /// + public Mods.ModsInterface GetModsInterface() + { + var callResult = Bindings.EOS_Platform_GetModsInterface(InnerHandle); + + Mods.ModsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Retrieves the current network state as told to the SDK by the application. + /// + /// + /// The current network status. + /// + public NetworkStatus GetNetworkStatus() + { + var callResult = Bindings.EOS_Platform_GetNetworkStatus(InnerHandle); + + return callResult; + } + + /// + /// Get the override country code that the SDK will send to services which require it. + /// This is not currently used for anything internally. + /// eos_ecom.h + /// + /// + /// + /// The buffer into which the character data should be written. The buffer must be long enough to hold a of . + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer. + /// + /// + /// An that indicates whether the override country code was copied into the OutBuffer. + /// - if the information is available and passed out in OutBuffer + /// - if you pass a for the out parameter + /// - - The OutBuffer is not large enough to receive the country code . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetOverrideCountryCode(out Utf8String outBuffer) + { + int inOutBufferLength = COUNTRYCODE_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Platform_GetOverrideCountryCode(InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Get the override locale code that the SDK will send to services which require it. + /// This is used for localization. This follows ISO 639. + /// eos_ecom.h + /// + /// + /// + /// The buffer into which the character data should be written. The buffer must be long enough to hold a of . + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer. + /// + /// + /// An that indicates whether the override locale code was copied into the OutBuffer. + /// - if the information is available and passed out in OutBuffer + /// - if you pass a for the out parameter + /// - - The OutBuffer is not large enough to receive the locale code . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetOverrideLocaleCode(out Utf8String outBuffer) + { + int inOutBufferLength = LOCALECODE_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Platform_GetOverrideLocaleCode(InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Get a handle to the Peer-to-Peer Networking Interface. + /// eos_p2p.h + /// eos_p2p_types.h + /// + /// + /// handle + /// + public P2P.P2PInterface GetP2PInterface() + { + var callResult = Bindings.EOS_Platform_GetP2PInterface(InnerHandle); + + P2P.P2PInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the PlayerDataStorage Interface. + /// eos_playerdatastorage.h + /// eos_playerdatastorage_types.h + /// + /// + /// handle + /// + public PlayerDataStorage.PlayerDataStorageInterface GetPlayerDataStorageInterface() + { + var callResult = Bindings.EOS_Platform_GetPlayerDataStorageInterface(InnerHandle); + + PlayerDataStorage.PlayerDataStorageInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Presence Interface. + /// eos_presence.h + /// eos_presence_types.h + /// + /// + /// handle + /// + public Presence.PresenceInterface GetPresenceInterface() + { + var callResult = Bindings.EOS_Platform_GetPresenceInterface(InnerHandle); + + Presence.PresenceInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the ProgressionSnapshot Interface. + /// eos_progressionsnapshot.h + /// eos_progressionsnapshot_types.h + /// + /// + /// handle + /// + public ProgressionSnapshot.ProgressionSnapshotInterface GetProgressionSnapshotInterface() + { + var callResult = Bindings.EOS_Platform_GetProgressionSnapshotInterface(InnerHandle); + + ProgressionSnapshot.ProgressionSnapshotInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the RTC Admin interface + /// eos_rtc_admin.h + /// eos_rtc_admin_types.h + /// + /// + /// handle + /// + public RTCAdmin.RTCAdminInterface GetRTCAdminInterface() + { + var callResult = Bindings.EOS_Platform_GetRTCAdminInterface(InnerHandle); + + RTCAdmin.RTCAdminInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Real Time Communications Interface (RTC). + /// From the RTC interface you can retrieve the handle to the audio interface (RTCAudio), which is a component of RTC. + /// + /// eos_rtc.h + /// eos_rtc_types.h + /// + /// + /// handle + /// + public RTC.RTCInterface GetRTCInterface() + { + var callResult = Bindings.EOS_Platform_GetRTCInterface(InnerHandle); + + RTC.RTCInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Reports Interface. + /// eos_reports.h + /// eos_reports_types.h + /// + /// + /// handle + /// + public Reports.ReportsInterface GetReportsInterface() + { + var callResult = Bindings.EOS_Platform_GetReportsInterface(InnerHandle); + + Reports.ReportsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Sanctions Interface. + /// eos_sanctions.h + /// eos_sanctions_types.h + /// + /// + /// handle + /// + public Sanctions.SanctionsInterface GetSanctionsInterface() + { + var callResult = Bindings.EOS_Platform_GetSanctionsInterface(InnerHandle); + + Sanctions.SanctionsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Sessions Interface. + /// eos_sessions.h + /// eos_sessions_types.h + /// + /// + /// handle + /// + public Sessions.SessionsInterface GetSessionsInterface() + { + var callResult = Bindings.EOS_Platform_GetSessionsInterface(InnerHandle); + + Sessions.SessionsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the Stats Interface. + /// eos_stats.h + /// eos_stats_types.h + /// + /// + /// handle + /// + public Stats.StatsInterface GetStatsInterface() + { + var callResult = Bindings.EOS_Platform_GetStatsInterface(InnerHandle); + + Stats.StatsInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the TitleStorage Interface. + /// eos_titlestorage.h + /// eos_titlestorage_types.h + /// + /// + /// handle + /// + public TitleStorage.TitleStorageInterface GetTitleStorageInterface() + { + var callResult = Bindings.EOS_Platform_GetTitleStorageInterface(InnerHandle); + + TitleStorage.TitleStorageInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the UI Interface. + /// eos_ui.h + /// eos_ui_types.h + /// + /// + /// handle + /// + public UI.UIInterface GetUIInterface() + { + var callResult = Bindings.EOS_Platform_GetUIInterface(InnerHandle); + + UI.UIInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Get a handle to the UserInfo Interface. + /// eos_userinfo.h + /// eos_userinfo_types.h + /// + /// + /// handle + /// + public UserInfo.UserInfoInterface GetUserInfoInterface() + { + var callResult = Bindings.EOS_Platform_GetUserInfoInterface(InnerHandle); + + UserInfo.UserInfoInterface callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Release an Epic Online Services platform instance previously returned from . + /// + /// This function should only be called once per instance returned by . Undefined behavior will result in calling it with a single instance more than once. + /// Typically only a single platform instance needs to be created during the lifetime of a game. + /// You should release each platform instance before calling the function. + /// + public void Release() + { + Bindings.EOS_Platform_Release(InnerHandle); + } + + /// + /// Notify a change in application state. + /// Calling SetApplicationStatus must happen before Tick when foregrounding for the cases where we won't get the background notification. + /// + /// + /// The new status for the application. + /// + /// + /// An that indicates whether we changed the application status successfully. + /// - if the application was changed successfully. + /// - if the value of NewStatus is invalid. + /// - if or are attempted to be set on platforms that do not have such application states. + /// + public Result SetApplicationStatus(ApplicationStatus newStatus) + { + var callResult = Bindings.EOS_Platform_SetApplicationStatus(InnerHandle, newStatus); + + return callResult; + } + + /// + /// Notify a change in network state. + /// + /// + /// The new network status. + /// + /// + /// An that indicates whether we changed the network status successfully. + /// - if the network was changed successfully. + /// - if the value of NewStatus is invalid. + /// + public Result SetNetworkStatus(NetworkStatus newStatus) + { + var callResult = Bindings.EOS_Platform_SetNetworkStatus(InnerHandle, newStatus); + + return callResult; + } + + /// + /// Set the override country code that the SDK will send to services which require it. + /// This is not currently used for anything internally. + /// eos_ecom.h + /// + /// + /// + /// An that indicates whether the override country code was saved. + /// - if the country code was overridden + /// - if you pass an invalid country code + /// + public Result SetOverrideCountryCode(Utf8String newCountryCode) + { + var newCountryCodePointer = IntPtr.Zero; + Helper.Set(newCountryCode, ref newCountryCodePointer); + + var callResult = Bindings.EOS_Platform_SetOverrideCountryCode(InnerHandle, newCountryCodePointer); + + Helper.Dispose(ref newCountryCodePointer); + + return callResult; + } + + /// + /// Set the override locale code that the SDK will send to services which require it. + /// This is used for localization. This follows ISO 639. + /// eos_ecom.h + /// + /// + /// + /// An that indicates whether the override locale code was saved. + /// - if the locale code was overridden + /// - if you pass an invalid locale code + /// + public Result SetOverrideLocaleCode(Utf8String newLocaleCode) + { + var newLocaleCodePointer = IntPtr.Zero; + Helper.Set(newLocaleCode, ref newLocaleCodePointer); + + var callResult = Bindings.EOS_Platform_SetOverrideLocaleCode(InnerHandle, newLocaleCodePointer); + + Helper.Dispose(ref newLocaleCodePointer); + + return callResult; + } + + /// + /// Notify the platform instance to do work. This function must be called frequently in order for the services provided by the SDK to properly + /// function. For tick-based applications, it is usually desirable to call this once per-tick. + /// + public void Tick() + { + Bindings.EOS_Platform_Tick(InnerHandle); + } + + /// + /// Tear down the Epic Online Services SDK. + /// + /// Once this function has been called, no more SDK calls are permitted; calling anything after will result in undefined behavior. + /// + /// + /// An is returned to indicate success or an error. + /// is returned if the SDK is successfully torn down. + /// is returned if a successful call to has not been made. + /// is returned if has already been called. + /// + public static Result Shutdown() + { + var callResult = Bindings.EOS_Shutdown(); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/RTCBackgroundMode.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/RTCBackgroundMode.cs new file mode 100644 index 0000000..58feb80 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/RTCBackgroundMode.cs @@ -0,0 +1,26 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// All background modes supported by the RTC components + /// + public enum RTCBackgroundMode : int + { + /// + /// Upon entering a background application status, all logged in users leave any RTC rooms. All subsequent attempts to join any RTC rooms will be rejected. + /// Upon returning to a foreground application status, all subsequent attempts to join any RTC rooms will be allowed. + /// + LeaveRooms = 0, + /// + /// Application status has no effect on RTC rooms. Audio is captured from input devices and is played to output devices. + /// Games should obtain consent from users and otherwise make users aware this is occurring. + /// + KeepRoomsAlive = 1 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/RTCOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/RTCOptions.cs new file mode 100644 index 0000000..2fb0fed --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/RTCOptions.cs @@ -0,0 +1,57 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + /// + /// Platform RTC options. + /// + public struct RTCOptions + { + /// + /// This field is for platform specific initialization if any. + /// + /// If provided then the structure will be located in "PLATFORM_NAME"/eos_"PLATFORM_NAME".h. + /// The structure will be named EOS_"PLATFORM_NAME"_RTCOptions. + /// + public IntPtr PlatformSpecificOptions { get; set; } + + /// + /// Configures RTC behavior upon entering to any background application statuses + /// + public RTCBackgroundMode BackgroundMode { get; set; } + + /// + /// Reserved field, should be by default + /// + public IntPtr Reserved { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct RTCOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_PlatformSpecificOptions; + private RTCBackgroundMode m_BackgroundMode; + private IntPtr m_Reserved; + + public void Set(ref RTCOptions other) + { + Dispose(); + + m_ApiVersion = PlatformInterface.RTCOPTIONS_API_LATEST; + m_PlatformSpecificOptions = other.PlatformSpecificOptions; + m_BackgroundMode = other.BackgroundMode; + m_Reserved = other.Reserved; + } + + public void Dispose() + { + Helper.Dispose(ref m_PlatformSpecificOptions); + Helper.Dispose(ref m_Reserved); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ReallocateMemoryFunc.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ReallocateMemoryFunc.cs new file mode 100644 index 0000000..fc83ae1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ReallocateMemoryFunc.cs @@ -0,0 +1,20 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + + /// + /// Function prototype type definition for functions that reallocate memory. + /// + /// Functions passed to to serve as memory reallocators should return a to the reallocated memory. + /// The returned should have at least SizeInBytes available capacity and the memory address should be a multiple of alignment. + /// The SDK will always call the provided function with an Alignment that is a power of 2. + /// Reallocation failures should return a . + /// + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + public delegate IntPtr ReallocateMemoryFunc(IntPtr pointer, UIntPtr sizeInBytes, UIntPtr alignment); +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ReleaseMemoryFunc.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ReleaseMemoryFunc.cs new file mode 100644 index 0000000..4979086 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Platform/ReleaseMemoryFunc.cs @@ -0,0 +1,17 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Platform +{ + + /// + /// Function prototype type definition for functions that release memory. + /// + /// When the SDK is done with memory that has been allocated by a custom allocator passed to , it will call the corresponding memory release function. + /// + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + public delegate void ReleaseMemoryFunc(IntPtr pointer); +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/CopyFileMetadataAtIndexOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/CopyFileMetadataAtIndexOptions.cs new file mode 100644 index 0000000..8c7cde6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/CopyFileMetadataAtIndexOptions.cs @@ -0,0 +1,46 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the CopyFileMetadataAtIndex function + /// + public struct CopyFileMetadataAtIndexOptions + { + /// + /// The Product User ID of the local user who is requesting file metadata + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The index to get data for + /// + public uint Index { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyFileMetadataAtIndexOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private uint m_Index; + + public void Set(ref CopyFileMetadataAtIndexOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.COPYFILEMETADATAATINDEX_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + m_Index = other.Index; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/CopyFileMetadataByFilenameOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/CopyFileMetadataByFilenameOptions.cs new file mode 100644 index 0000000..97133fd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/CopyFileMetadataByFilenameOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the CopyFileMetadataByFilename function + /// + public struct CopyFileMetadataByFilenameOptions + { + /// + /// The Product User ID of the local user who is requesting file metadata + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The file's name to get data for + /// + public Utf8String Filename { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyFileMetadataByFilenameOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + + public void Set(ref CopyFileMetadataByFilenameOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.COPYFILEMETADATABYFILENAME_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Filename, ref m_Filename); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Filename); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteCacheCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteCacheCallbackInfo.cs new file mode 100644 index 0000000..0536db0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteCacheCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Structure containing the result of a delete cache operation + /// + public struct DeleteCacheCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the delete cache request + /// + public object ClientData { get; set; } + + /// + /// Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteCacheCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DeleteCacheCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteCacheOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteCacheOptions.cs new file mode 100644 index 0000000..083903c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteCacheOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct DeleteCacheOptions + { + /// + /// Product User ID of the local user who is deleting his cache + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteCacheOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref DeleteCacheOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.DELETECACHE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteFileCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteFileCallbackInfo.cs new file mode 100644 index 0000000..7cd5a75 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteFileCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing the result information for a delete file request + /// + public struct DeleteFileCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the file deletion request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteFileCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DeleteFileCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteFileOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteFileOptions.cs new file mode 100644 index 0000000..bda5232 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DeleteFileOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct DeleteFileOptions + { + /// + /// The Product User ID of the local user who authorizes deletion of the file; must be the file's owner + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The name of the file to delete + /// + public Utf8String Filename { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteFileOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + + public void Set(ref DeleteFileOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.DELETEFILE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Filename, ref m_Filename); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Filename); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DuplicateFileCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DuplicateFileCallbackInfo.cs new file mode 100644 index 0000000..b8bee3e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DuplicateFileCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing the result information for a duplicate file request + /// + public struct DuplicateFileCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the file duplicate request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DuplicateFileCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DuplicateFileCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DuplicateFileOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DuplicateFileOptions.cs new file mode 100644 index 0000000..ba38a0b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/DuplicateFileOptions.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct DuplicateFileOptions + { + /// + /// The Product User ID of the local user who authorized the duplication of the requested file; must be the original file's owner + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The name of the existing file to duplicate + /// + public Utf8String SourceFilename { get; set; } + + /// + /// The name of the new file + /// + public Utf8String DestinationFilename { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DuplicateFileOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_SourceFilename; + private IntPtr m_DestinationFilename; + + public void Set(ref DuplicateFileOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.DUPLICATEFILE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.SourceFilename, ref m_SourceFilename); + Helper.Set(other.DestinationFilename, ref m_DestinationFilename); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_SourceFilename); + Helper.Dispose(ref m_DestinationFilename); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/FileMetadata.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/FileMetadata.cs new file mode 100644 index 0000000..8803e99 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/FileMetadata.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Metadata information for a specific file + /// + public struct FileMetadata + { + /// + /// The total size of the file in bytes (Includes file header in addition to file contents) + /// + public uint FileSizeBytes { get; set; } + + /// + /// The MD5 Hash of the entire file (including additional file header), in hex digits + /// + public Utf8String MD5Hash { get; set; } + + /// + /// The file's name + /// + public Utf8String Filename { get; set; } + + /// + /// The POSIX timestamp when the file was saved last time or if the time is undefined. + /// It will be undefined after a file is written and uploaded at first before a query operation is completed. + /// + public DateTimeOffset? LastModifiedTime { get; set; } + + /// + /// The size of data (payload) in file in unencrypted (original) form. + /// + public uint UnencryptedDataSizeBytes { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct FileMetadataInternal : IGettable + { + private int m_ApiVersion; + private uint m_FileSizeBytes; + private IntPtr m_MD5Hash; + private IntPtr m_Filename; + private long m_LastModifiedTime; + private uint m_UnencryptedDataSizeBytes; + + public void Get(out FileMetadata other) + { + other = default; + + other.FileSizeBytes = m_FileSizeBytes; + Utf8String MD5HashPublic; + Helper.Get(m_MD5Hash, out MD5HashPublic); + other.MD5Hash = MD5HashPublic; + Utf8String FilenamePublic; + Helper.Get(m_Filename, out FilenamePublic); + other.Filename = FilenamePublic; + DateTimeOffset? LastModifiedTimePublic; + Helper.Get(m_LastModifiedTime, out LastModifiedTimePublic); + other.LastModifiedTime = LastModifiedTimePublic; + other.UnencryptedDataSizeBytes = m_UnencryptedDataSizeBytes; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/FileTransferProgressCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/FileTransferProgressCallbackInfo.cs new file mode 100644 index 0000000..c6755ab --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/FileTransferProgressCallbackInfo.cs @@ -0,0 +1,84 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing the information about a file transfer in progress (or one that has completed) + /// + public struct FileTransferProgressCallbackInfo : ICallbackInfo + { + /// + /// Client-specified data passed into the file request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The file name of the file being transferred + /// + public Utf8String Filename { get; set; } + + /// + /// Amount of bytes transferred so far in this request, out of TotalFileSizeBytes + /// + public uint BytesTransferred { get; set; } + + /// + /// The total size of the file being transferred (Includes file header in addition to file contents, can be slightly more than expected) + /// + public uint TotalFileSizeBytes { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct FileTransferProgressCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + private uint m_BytesTransferred; + private uint m_TotalFileSizeBytes; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out FileTransferProgressCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String FilenamePublic; + Helper.Get(m_Filename, out FilenamePublic); + other.Filename = FilenamePublic; + other.BytesTransferred = m_BytesTransferred; + other.TotalFileSizeBytes = m_TotalFileSizeBytes; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/GetFileMetadataCountOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/GetFileMetadataCountOptions.cs new file mode 100644 index 0000000..623eca8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/GetFileMetadataCountOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct GetFileMetadataCountOptions + { + /// + /// The Product User ID of the local user who is requesting file metadata + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetFileMetadataCountOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref GetFileMetadataCountOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.GETFILEMETADATACOUNT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDeleteCacheCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDeleteCacheCompleteCallback.cs new file mode 100644 index 0000000..c1da11f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDeleteCacheCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnDeleteCacheCompleteCallback(ref DeleteCacheCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDeleteCacheCompleteCallbackInternal(ref DeleteCacheCallbackInfoInternal data); + + internal static class OnDeleteCacheCompleteCallbackInternalImplementation + { + private static OnDeleteCacheCompleteCallbackInternal s_Delegate; + public static OnDeleteCacheCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDeleteCacheCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDeleteCacheCompleteCallbackInternal))] + public static void EntryPoint(ref DeleteCacheCallbackInfoInternal data) + { + OnDeleteCacheCompleteCallback callback; + DeleteCacheCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDeleteFileCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDeleteFileCompleteCallback.cs new file mode 100644 index 0000000..2af770d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDeleteFileCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnDeleteFileCompleteCallback(ref DeleteFileCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDeleteFileCompleteCallbackInternal(ref DeleteFileCallbackInfoInternal data); + + internal static class OnDeleteFileCompleteCallbackInternalImplementation + { + private static OnDeleteFileCompleteCallbackInternal s_Delegate; + public static OnDeleteFileCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDeleteFileCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDeleteFileCompleteCallbackInternal))] + public static void EntryPoint(ref DeleteFileCallbackInfoInternal data) + { + OnDeleteFileCompleteCallback callback; + DeleteFileCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDuplicateFileCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDuplicateFileCompleteCallback.cs new file mode 100644 index 0000000..b795598 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnDuplicateFileCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnDuplicateFileCompleteCallback(ref DuplicateFileCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDuplicateFileCompleteCallbackInternal(ref DuplicateFileCallbackInfoInternal data); + + internal static class OnDuplicateFileCompleteCallbackInternalImplementation + { + private static OnDuplicateFileCompleteCallbackInternal s_Delegate; + public static OnDuplicateFileCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDuplicateFileCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDuplicateFileCompleteCallbackInternal))] + public static void EntryPoint(ref DuplicateFileCallbackInfoInternal data) + { + OnDuplicateFileCompleteCallback callback; + DuplicateFileCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnFileTransferProgressCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnFileTransferProgressCallback.cs new file mode 100644 index 0000000..6b97ffe --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnFileTransferProgressCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when there is a progress update for a file transfer in progress + /// + public delegate void OnFileTransferProgressCallback(ref FileTransferProgressCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnFileTransferProgressCallbackInternal(ref FileTransferProgressCallbackInfoInternal data); + + internal static class OnFileTransferProgressCallbackInternalImplementation + { + private static OnFileTransferProgressCallbackInternal s_Delegate; + public static OnFileTransferProgressCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnFileTransferProgressCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnFileTransferProgressCallbackInternal))] + public static void EntryPoint(ref FileTransferProgressCallbackInfoInternal data) + { + OnFileTransferProgressCallback callback; + FileTransferProgressCallbackInfo callbackInfo; + if (Helper.TryGetStructCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnQueryFileCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnQueryFileCompleteCallback.cs new file mode 100644 index 0000000..328100d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnQueryFileCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnQueryFileCompleteCallback(ref QueryFileCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryFileCompleteCallbackInternal(ref QueryFileCallbackInfoInternal data); + + internal static class OnQueryFileCompleteCallbackInternalImplementation + { + private static OnQueryFileCompleteCallbackInternal s_Delegate; + public static OnQueryFileCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryFileCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryFileCompleteCallbackInternal))] + public static void EntryPoint(ref QueryFileCallbackInfoInternal data) + { + OnQueryFileCompleteCallback callback; + QueryFileCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnQueryFileListCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnQueryFileListCompleteCallback.cs new file mode 100644 index 0000000..a18a59a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnQueryFileListCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnQueryFileListCompleteCallback(ref QueryFileListCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryFileListCompleteCallbackInternal(ref QueryFileListCallbackInfoInternal data); + + internal static class OnQueryFileListCompleteCallbackInternalImplementation + { + private static OnQueryFileListCompleteCallbackInternal s_Delegate; + public static OnQueryFileListCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryFileListCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryFileListCompleteCallbackInternal))] + public static void EntryPoint(ref QueryFileListCallbackInfoInternal data) + { + OnQueryFileListCompleteCallback callback; + QueryFileListCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnReadFileCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnReadFileCompleteCallback.cs new file mode 100644 index 0000000..9d0dba8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnReadFileCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnReadFileCompleteCallback(ref ReadFileCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnReadFileCompleteCallbackInternal(ref ReadFileCallbackInfoInternal data); + + internal static class OnReadFileCompleteCallbackInternalImplementation + { + private static OnReadFileCompleteCallbackInternal s_Delegate; + public static OnReadFileCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnReadFileCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnReadFileCompleteCallbackInternal))] + public static void EntryPoint(ref ReadFileCallbackInfoInternal data) + { + OnReadFileCompleteCallback callback; + ReadFileCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnReadFileDataCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnReadFileDataCallback.cs new file mode 100644 index 0000000..1855067 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnReadFileDataCallback.cs @@ -0,0 +1,55 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when we have data ready to be read from the requested file. It is undefined how often this will be called during a single tick. + /// + /// + /// Struct containing a chunk of data to read, as well as some metadata for the file being read + /// + /// + /// The result of the read operation. If this value is not , this callback will not be called again for the same request + /// + public delegate ReadResult OnReadFileDataCallback(ref ReadFileDataCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate ReadResult OnReadFileDataCallbackInternal(ref ReadFileDataCallbackInfoInternal data); + + internal static class OnReadFileDataCallbackInternalImplementation + { + private static OnReadFileDataCallbackInternal s_Delegate; + public static OnReadFileDataCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnReadFileDataCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnReadFileDataCallbackInternal))] + public static ReadResult EntryPoint(ref ReadFileDataCallbackInfoInternal data) + { + OnReadFileDataCallback callback; + ReadFileDataCallbackInfo callbackInfo; + if (Helper.TryGetStructCallback(ref data, out callback, out callbackInfo)) + { + var callResult = callback(ref callbackInfo); + + return callResult; + } + + return default; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnWriteFileCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnWriteFileCompleteCallback.cs new file mode 100644 index 0000000..3914868 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnWriteFileCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when completes + /// + public delegate void OnWriteFileCompleteCallback(ref WriteFileCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnWriteFileCompleteCallbackInternal(ref WriteFileCallbackInfoInternal data); + + internal static class OnWriteFileCompleteCallbackInternalImplementation + { + private static OnWriteFileCompleteCallbackInternal s_Delegate; + public static OnWriteFileCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnWriteFileCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnWriteFileCompleteCallbackInternal))] + public static void EntryPoint(ref WriteFileCallbackInfoInternal data) + { + OnWriteFileCompleteCallback callback; + WriteFileCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnWriteFileDataCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnWriteFileDataCallback.cs new file mode 100644 index 0000000..d814bc9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/OnWriteFileDataCallback.cs @@ -0,0 +1,67 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + + /// + /// Callback for when we are ready to get more data to be written into the requested file. It is undefined how often this will be called during a single tick. + /// + /// + /// Struct containing metadata for the file being written to, as well as the max length in bytes that can be safely written to DataBuffer + /// + /// + /// A buffer to write data into, to be appended to the end of the file that is being written to. The maximum length of this value is provided in the Info parameter. The number of bytes written to this buffer should be set in OutDataWritten. + /// + /// + /// The length of the data written to OutDataBuffer. This must be less than or equal than the DataBufferLengthBytes provided in the Info parameter + /// + /// + /// The result of the write operation. If this value is not , this callback will not be called again for the same request. If this is set to or , all data written during the request will not be saved + /// + public delegate WriteResult OnWriteFileDataCallback(ref WriteFileDataCallbackInfo data, out ArraySegment outDataBuffer); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate WriteResult OnWriteFileDataCallbackInternal(ref WriteFileDataCallbackInfoInternal data, IntPtr outDataBuffer, out uint outDataWritten); + + internal static class OnWriteFileDataCallbackInternalImplementation + { + private static OnWriteFileDataCallbackInternal s_Delegate; + public static OnWriteFileDataCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnWriteFileDataCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnWriteFileDataCallbackInternal))] + public static WriteResult EntryPoint(ref WriteFileDataCallbackInfoInternal data, IntPtr outDataBuffer, out uint outDataWritten) + { + OnWriteFileDataCallback callback; + WriteFileDataCallbackInfo callbackInfo; + if (Helper.TryGetStructCallback(ref data, out callback, out callbackInfo)) + { + var outDataBufferPublic = default(ArraySegment); + + var callResult = callback(ref callbackInfo, out outDataBufferPublic); + + Helper.Get(outDataBufferPublic, out outDataWritten); + Helper.Copy(outDataBufferPublic, outDataBuffer); + + return callResult; + } + + outDataWritten = default; + return default; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/PlayerDataStorageFileTransferRequest.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/PlayerDataStorageFileTransferRequest.cs new file mode 100644 index 0000000..9ce6230 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/PlayerDataStorageFileTransferRequest.cs @@ -0,0 +1,84 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + public sealed partial class PlayerDataStorageFileTransferRequest : Handle + { + public PlayerDataStorageFileTransferRequest() + { + } + + public PlayerDataStorageFileTransferRequest(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Attempt to cancel this file request in progress. This is a best-effort command and is not guaranteed to be successful if the request has completed before this function is called. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - if cancel is successful + /// - if request had already completed (can't be canceled) + /// - if it's already been canceled before (this is a final state for canceled request and won't change over time). + /// + public Result CancelRequest() + { + var callResult = Bindings.EOS_PlayerDataStorageFileTransferRequest_CancelRequest(InnerHandle); + + return callResult; + } + + /// + /// Get the current state of a file request. + /// + /// + /// if complete and successful, if the request is still in progress, or another state for failure. + /// + public Result GetFileRequestState() + { + var callResult = Bindings.EOS_PlayerDataStorageFileTransferRequest_GetFileRequestState(InnerHandle); + + return callResult; + } + + /// + /// Get the file name of the file this request is for. OutStringLength will always be set to the length of the file name if it is not . + /// + /// + /// + /// The maximum number of bytes that can be written to OutStringBuffer + /// + /// + /// The buffer to write the -terminated utf8 file name into, if successful + /// + /// + /// How long the file name is (not including terminator) + /// + /// + /// if the file name was successfully written to OutFilenameBuffer, a failure result otherwise + /// + public Result GetFilename(out Utf8String outStringBuffer) + { + int outStringLength = PlayerDataStorageInterface.FILENAME_MAX_LENGTH_BYTES; + var outStringBufferPointer = Helper.AddAllocation(outStringLength); + + var callResult = Bindings.EOS_PlayerDataStorageFileTransferRequest_GetFilename(InnerHandle, (uint)outStringLength, outStringBufferPointer, out outStringLength); + + Helper.Get(outStringBufferPointer, out outStringBuffer); + Helper.Dispose(ref outStringBufferPointer); + + return callResult; + } + + /// + /// Free the memory used by a cloud-storage file request handle. This will not cancel a request in progress. + /// + public void Release() + { + Bindings.EOS_PlayerDataStorageFileTransferRequest_Release(InnerHandle); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/PlayerDataStorageInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/PlayerDataStorageInterface.cs new file mode 100644 index 0000000..92e1e2f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/PlayerDataStorageInterface.cs @@ -0,0 +1,485 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + public sealed partial class PlayerDataStorageInterface : Handle + { + public PlayerDataStorageInterface() + { + } + + public PlayerDataStorageInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// DEPRECATED! Use instead. + /// + public const int COPYFILEMETADATAATINDEXOPTIONS_API_LATEST = COPYFILEMETADATAATINDEX_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int COPYFILEMETADATAATINDEX_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int COPYFILEMETADATABYFILENAMEOPTIONS_API_LATEST = COPYFILEMETADATABYFILENAME_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int COPYFILEMETADATABYFILENAME_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int DELETECACHEOPTIONS_API_LATEST = DELETECACHE_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int DELETECACHE_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int DELETEFILEOPTIONS_API_LATEST = DELETEFILE_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int DELETEFILE_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int DUPLICATEFILEOPTIONS_API_LATEST = DUPLICATEFILE_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int DUPLICATEFILE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int FILEMETADATA_API_LATEST = 3; + /// + /// Maximum File Name Length in bytes + /// + public const int FILENAME_MAX_LENGTH_BYTES = 64; + /// + /// DEPRECATED! Use instead. + /// + public const int GETFILEMETADATACOUNTOPTIONS_API_LATEST = GETFILEMETADATACOUNT_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int GETFILEMETADATACOUNT_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int QUERYFILELISTOPTIONS_API_LATEST = QUERYFILELIST_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int QUERYFILELIST_API_LATEST = 2; + /// + /// DEPRECATED! Use instead. + /// + public const int QUERYFILEOPTIONS_API_LATEST = QUERYFILE_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int QUERYFILE_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int READFILEOPTIONS_API_LATEST = READFILE_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int READFILE_API_LATEST = 2; + /// + /// Timestamp value representing an undefined time for Player Data Storage. + /// + public const int TIME_UNDEFINED = -1; + /// + /// DEPRECATED! Use instead. + /// + public const int WRITEFILEOPTIONS_API_LATEST = WRITEFILE_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int WRITEFILE_API_LATEST = 2; + + /// + /// Get the cached copy of a file's metadata by index. The metadata will be for the last retrieved or successfully saved version, and will not include any local changes that have not been + /// committed by calling SaveFile. The returned must be released by the user when no longer needed. + /// + /// + /// + /// + /// + /// + /// Object containing properties related to which user is requesting metadata, and at what index + /// + /// + /// A copy of the FileMetadata structure will be set if successful. This data must be released by calling . + /// + /// + /// if the requested metadata is currently cached, otherwise an error result explaining what went wrong + /// + public Result CopyFileMetadataAtIndex(ref CopyFileMetadataAtIndexOptions copyFileMetadataOptions, out FileMetadata? outMetadata) + { + var copyFileMetadataOptionsInternal = default(CopyFileMetadataAtIndexOptionsInternal); + copyFileMetadataOptionsInternal.Set(ref copyFileMetadataOptions); + + var outMetadataPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_PlayerDataStorage_CopyFileMetadataAtIndex(InnerHandle, ref copyFileMetadataOptionsInternal, out outMetadataPointer); + + Helper.Dispose(ref copyFileMetadataOptionsInternal); + + Helper.Get(outMetadataPointer, out outMetadata); + if (outMetadataPointer != IntPtr.Zero) + { + Bindings.EOS_PlayerDataStorage_FileMetadata_Release(outMetadataPointer); + } + + return callResult; + } + + /// + /// Create the cached copy of a file's metadata by filename. The metadata will be for the last retrieved or successfully saved version, and will not include any changes that have not + /// completed writing. The returned must be released by the user when no longer needed. + /// + /// + /// + /// + /// Object containing properties related to which user is requesting metadata, and for which filename + /// + /// + /// A copy of the FileMetadata structure will be set if successful. This data must be released by calling . + /// + /// + /// if the metadata is currently cached, otherwise an error result explaining what went wrong + /// + public Result CopyFileMetadataByFilename(ref CopyFileMetadataByFilenameOptions copyFileMetadataOptions, out FileMetadata? outMetadata) + { + var copyFileMetadataOptionsInternal = default(CopyFileMetadataByFilenameOptionsInternal); + copyFileMetadataOptionsInternal.Set(ref copyFileMetadataOptions); + + var outMetadataPointer = IntPtr.Zero; + + var callResult = Bindings.EOS_PlayerDataStorage_CopyFileMetadataByFilename(InnerHandle, ref copyFileMetadataOptionsInternal, out outMetadataPointer); + + Helper.Dispose(ref copyFileMetadataOptionsInternal); + + Helper.Get(outMetadataPointer, out outMetadata); + if (outMetadataPointer != IntPtr.Zero) + { + Bindings.EOS_PlayerDataStorage_FileMetadata_Release(outMetadataPointer); + } + + return callResult; + } + + /// + /// Clear previously cached file data. This operation will be done asynchronously. All cached files except those corresponding to the transfers in progress will be removed. + /// Warning: Use this with care. Cache system generally tries to clear old and unused cached files from time to time. Unnecessarily clearing cache can degrade performance as SDK will have to re-download data. + /// + /// + /// + /// + /// Object containing properties related to which user is deleting cache + /// + /// + /// Optional to help clients track this request, that is returned in associated callbacks + /// + /// + /// This function is called when the delete cache operation completes + /// + /// + /// if the operation was started correctly, otherwise an error result explaining what went wrong + /// + public Result DeleteCache(ref DeleteCacheOptions options, object clientData, OnDeleteCacheCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var optionsInternal = default(DeleteCacheOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + var callResult = Bindings.EOS_PlayerDataStorage_DeleteCache(InnerHandle, ref optionsInternal, clientDataPointer, OnDeleteCacheCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Deletes an existing file in the cloud. If successful, the file's data will be removed from our local cache. + /// + /// + /// + /// + /// Object containing properties related to which user is deleting the file, and what file name is + /// + /// + /// Optional to help clients track this request, that is returned in the completion callback + /// + /// + /// This function is called when the delete operation completes + /// + public void DeleteFile(ref DeleteFileOptions deleteOptions, object clientData, OnDeleteFileCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var deleteOptionsInternal = default(DeleteFileOptionsInternal); + deleteOptionsInternal.Set(ref deleteOptions); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + Bindings.EOS_PlayerDataStorage_DeleteFile(InnerHandle, ref deleteOptionsInternal, clientDataPointer, OnDeleteFileCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref deleteOptionsInternal); + } + + /// + /// Copies the data of an existing file to a new filename. This action happens entirely on the server and will not upload the contents of the source destination file from the host. This + /// function paired with a subsequent can be used to rename a file. If successful, the destination file's metadata will be updated in our local cache. + /// + /// + /// + /// + /// Object containing properties related to which user is duplicating the file, and what the source and destination file names are + /// + /// + /// Optional to help clients track this request, that is returned in the completion callback + /// + /// + /// This function is called when the duplicate operation completes + /// + public void DuplicateFile(ref DuplicateFileOptions duplicateOptions, object clientData, OnDuplicateFileCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var duplicateOptionsInternal = default(DuplicateFileOptionsInternal); + duplicateOptionsInternal.Set(ref duplicateOptions); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + Bindings.EOS_PlayerDataStorage_DuplicateFile(InnerHandle, ref duplicateOptionsInternal, clientDataPointer, OnDuplicateFileCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref duplicateOptionsInternal); + } + + /// + /// Get the count of files we have previously queried information for and files we have previously read from / written to. + /// + /// + /// + /// + /// Object containing properties related to which user is requesting the metadata count + /// + /// + /// If successful, the count of metadata currently cached + /// + /// + /// if the input was valid, otherwise an error result explaining what went wrong + /// + public Result GetFileMetadataCount(ref GetFileMetadataCountOptions getFileMetadataCountOptions, out int outFileMetadataCount) + { + var getFileMetadataCountOptionsInternal = default(GetFileMetadataCountOptionsInternal); + getFileMetadataCountOptionsInternal.Set(ref getFileMetadataCountOptions); + + var callResult = Bindings.EOS_PlayerDataStorage_GetFileMetadataCount(InnerHandle, ref getFileMetadataCountOptionsInternal, out outFileMetadataCount); + + Helper.Dispose(ref getFileMetadataCountOptionsInternal); + + return callResult; + } + + /// + /// Query a specific file's metadata, such as file names, size, and a MD5 hash of the data. This is not required before a file may be opened, saved, copied, or deleted. Once a file has + /// been queried, its metadata will be available by the and functions. + /// + /// + /// + /// + /// + /// + /// + /// Object containing properties related to which user is querying files, and what file is being queried + /// + /// + /// Optional to help clients track this request, that is returned in the completion callback + /// + /// + /// This function is called when the query operation completes + /// + public void QueryFile(ref QueryFileOptions queryFileOptions, object clientData, OnQueryFileCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var queryFileOptionsInternal = default(QueryFileOptionsInternal); + queryFileOptionsInternal.Set(ref queryFileOptions); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + Bindings.EOS_PlayerDataStorage_QueryFile(InnerHandle, ref queryFileOptionsInternal, clientDataPointer, OnQueryFileCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref queryFileOptionsInternal); + } + + /// + /// Query the file metadata, such as file names, size, and a MD5 hash of the data, for all files owned by this user for this application. This is not required before a file may be opened, + /// saved, copied, or deleted. + /// + /// + /// + /// + /// + /// + /// + /// Object containing properties related to which user is querying files + /// + /// + /// Optional to help clients track this request, that is returned in the completion callback + /// + /// + /// This function is called when the query operation completes + /// + public void QueryFileList(ref QueryFileListOptions queryFileListOptions, object clientData, OnQueryFileListCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var queryFileListOptionsInternal = default(QueryFileListOptionsInternal); + queryFileListOptionsInternal.Set(ref queryFileListOptions); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + Bindings.EOS_PlayerDataStorage_QueryFileList(InnerHandle, ref queryFileListOptionsInternal, clientDataPointer, OnQueryFileListCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref queryFileListOptionsInternal); + } + + /// + /// Retrieve the contents of a specific file, potentially downloading the contents if we do not have a local copy, from the cloud. This request will occur asynchronously, potentially over + /// multiple frames. All callbacks for this function will come from the same thread that the SDK is ticked from. If specified, the FileTransferProgressCallback will always be called at + /// least once if the request is started successfully. + /// + /// + /// + /// + /// + /// Object containing properties related to which user is opening the file, what the file's name is, and related mechanisms for copying the data + /// + /// + /// Optional to help clients track this request, that is returned in associated callbacks + /// + /// + /// This function is called when the read operation completes + /// + /// + /// A valid Player Data Storage File Request handle if successful, or otherwise. Data contained in the completion callback will have more detailed information about issues with the request in failure cases. This handle must be released when it is no longer needed + /// containing the result of the operation. + /// Possible result codes: + /// - if the file is exists and the read operation completes successfully + /// - if no file is found + /// + public PlayerDataStorageFileTransferRequest ReadFile(ref ReadFileOptions readOptions, object clientData, OnReadFileCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var readOptionsInternal = default(ReadFileOptionsInternal); + readOptionsInternal.Set(ref readOptions); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + Helper.AddCallback(clientDataPointer, readOptions.ReadFileDataCallback); + Helper.AddCallback(clientDataPointer, readOptions.FileTransferProgressCallback); + + var callResult = Bindings.EOS_PlayerDataStorage_ReadFile(InnerHandle, ref readOptionsInternal, clientDataPointer, OnReadFileCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref readOptionsInternal); + + PlayerDataStorageFileTransferRequest callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Write new data to a specific file, potentially overwriting any existing file by the same name, to the cloud. This request will occur asynchronously, potentially over multiple frames. + /// All callbacks for this function will come from the same thread that the SDK is ticked from. If specified, the FileTransferProgressCallback will always be called at least once if the + /// request is started successfully. + /// + /// + /// + /// + /// + /// Object containing properties related to which user is writing the file, what the file's name is, and related mechanisms for writing the data + /// + /// + /// Optional to help clients track this request, that is returned in associated callbacks + /// + /// + /// This function is called when the write operation completes + /// + /// + /// A valid Player Data Storage File Request handle if successful, or otherwise. Data contained in the completion callback will have more detailed information about issues with the request in failure cases. This handle must be released when it is no longer needed + /// + public PlayerDataStorageFileTransferRequest WriteFile(ref WriteFileOptions writeOptions, object clientData, OnWriteFileCompleteCallback completionCallback) + { + if (completionCallback == null) + { + throw new ArgumentNullException("completionCallback"); + } + + var writeOptionsInternal = default(WriteFileOptionsInternal); + writeOptionsInternal.Set(ref writeOptions); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionCallback); + + Helper.AddCallback(clientDataPointer, writeOptions.WriteFileDataCallback); + Helper.AddCallback(clientDataPointer, writeOptions.FileTransferProgressCallback); + + var callResult = Bindings.EOS_PlayerDataStorage_WriteFile(InnerHandle, ref writeOptionsInternal, clientDataPointer, OnWriteFileCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref writeOptionsInternal); + + PlayerDataStorageFileTransferRequest callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileCallbackInfo.cs new file mode 100644 index 0000000..72cb487 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing information about a query file request + /// + public struct QueryFileCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the file query request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryFileCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryFileCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileListCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileListCallbackInfo.cs new file mode 100644 index 0000000..32c167e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileListCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing information about a query file list request + /// + public struct QueryFileListCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful request, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the file query request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// A count of files that were found, if successful + /// + public uint FileCount { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryFileListCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private uint m_FileCount; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryFileListCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + other.FileCount = m_FileCount; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileListOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileListOptions.cs new file mode 100644 index 0000000..387e747 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileListOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct QueryFileListOptions + { + /// + /// The Product User ID of the local user who requested file metadata + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryFileListOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref QueryFileListOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.QUERYFILELIST_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileOptions.cs new file mode 100644 index 0000000..25ca181 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/QueryFileOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct QueryFileOptions + { + /// + /// The Product User ID of the local user requesting file metadata + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The name of the file being queried + /// + public Utf8String Filename { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryFileOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + + public void Set(ref QueryFileOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.QUERYFILE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Filename, ref m_Filename); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Filename); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileCallbackInfo.cs new file mode 100644 index 0000000..e090ad8 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileCallbackInfo.cs @@ -0,0 +1,88 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing the result of a read file request + /// + public struct ReadFileCallbackInfo : ICallbackInfo + { + /// + /// The result code for the operation. + /// : The request was successful. + /// : The request was canceled. + /// : There are too many requests in progress for the local user at this time. + /// : There is another requests in progress for the specified file by this user. + /// : The cache directory was not set when calling . + /// : The cache directory provided when calling was invalid. + /// : There were too many requests to the Data Storage service recently by the local user. The application must wait some time before trying again. + /// : The encryption key value was not set when calling . + /// : The downloaded or cached file was corrupted or invalid in some way. What exactly is wrong with the file is returned in the logs (potentially retryable). + /// : The read operation is not allowed (e.g. when application is suspended). + /// : An unexpected error occurred either downloading, or reading the downloaded file. This most commonly means there were file IO issues such as: permission issues, disk is full, etc. (potentially retryable) + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the file read request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The filename of the file that has been finished reading + /// + public Utf8String Filename { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ReadFileCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out ReadFileCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String FilenamePublic; + Helper.Get(m_Filename, out FilenamePublic); + other.Filename = FilenamePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileDataCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileDataCallbackInfo.cs new file mode 100644 index 0000000..a606cd1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileDataCallbackInfo.cs @@ -0,0 +1,96 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing data for a chunk of a file being read + /// + public struct ReadFileDataCallbackInfo : ICallbackInfo + { + /// + /// Client-specified data passed into the file request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The file name being read + /// + public Utf8String Filename { get; set; } + + /// + /// The total file size of the file being read + /// + public uint TotalFileSizeBytes { get; set; } + + /// + /// Is this chunk the last chunk of data? + /// + public bool IsLastChunk { get; set; } + + /// + /// to the start of data to be read + /// + public ArraySegment DataChunk { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ReadFileDataCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + private uint m_TotalFileSizeBytes; + private int m_IsLastChunk; + private uint m_DataChunkLengthBytes; + private IntPtr m_DataChunk; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out ReadFileDataCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String FilenamePublic; + Helper.Get(m_Filename, out FilenamePublic); + other.Filename = FilenamePublic; + other.TotalFileSizeBytes = m_TotalFileSizeBytes; + bool IsLastChunkPublic; + Helper.Get(m_IsLastChunk, out IsLastChunkPublic); + other.IsLastChunk = IsLastChunkPublic; + ArraySegment DataChunkPublic; + Helper.Get(m_DataChunk, out DataChunkPublic, m_DataChunkLengthBytes); + other.DataChunk = DataChunkPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileOptions.cs new file mode 100644 index 0000000..91d8ac5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadFileOptions.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct ReadFileOptions + { + /// + /// The Product User ID of the local user who is reading the requested file + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The file name to read; this file must already exist + /// + public Utf8String Filename { get; set; } + + /// + /// The maximum amount of data in bytes should be available to read in a single call + /// + public uint ReadChunkLengthBytes { get; set; } + + /// + /// Callback function that handles data as it comes in, and can stop the transfer early + /// + public OnReadFileDataCallback ReadFileDataCallback { get; set; } + + /// + /// Optional callback function to be informed of download progress, if the file is not already locally cached; if provided, this will be called at least once before completion if the request is successfully started + /// + public OnFileTransferProgressCallback FileTransferProgressCallback { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct ReadFileOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + private uint m_ReadChunkLengthBytes; + private IntPtr m_ReadFileDataCallback; + private IntPtr m_FileTransferProgressCallback; + + public void Set(ref ReadFileOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.READFILE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Filename, ref m_Filename); + m_ReadChunkLengthBytes = other.ReadChunkLengthBytes; + m_ReadFileDataCallback = other.ReadFileDataCallback != null ? Marshal.GetFunctionPointerForDelegate(OnReadFileDataCallbackInternalImplementation.Delegate) : IntPtr.Zero; + m_FileTransferProgressCallback = other.FileTransferProgressCallback != null ? Marshal.GetFunctionPointerForDelegate(OnFileTransferProgressCallbackInternalImplementation.Delegate) : IntPtr.Zero; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Filename); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadResult.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadResult.cs new file mode 100644 index 0000000..bf1edb1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/ReadResult.cs @@ -0,0 +1,28 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Return results for callbacks to return + /// + public enum ReadResult : int + { + /// + /// Signifies the data was read successfully, and we should continue to the next chunk if possible + /// + ContinueReading = 1, + /// + /// Signifies there was a failure reading the data, and the request should end + /// + FailRequest = 2, + /// + /// Signifies the request should be canceled, but not due to an error + /// + CancelRequest = 3 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileCallbackInfo.cs new file mode 100644 index 0000000..7a1c894 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileCallbackInfo.cs @@ -0,0 +1,87 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// The result information for a request to write data to a file + /// + public struct WriteFileCallbackInfo : ICallbackInfo + { + /// + /// The result code for the operation. + /// : The request was successful. + /// : The request was canceled. + /// : There are too many requests in progress for the local user at this time. + /// : There is another requests in progress for the specified file by this user. + /// : The cache directory was not set when calling . + /// : The cache directory provided when calling was invalid. + /// : There were too many requests to the Data Storage service recently by the local user. The application must wait some time before trying again. + /// : The encryption key value was not set when calling . + /// : The read operation is not allowed (e.g. when application is suspended). + /// : An unexpected error occurred either downloading, or reading the downloaded file. This most commonly means there were file IO issues such as: permission issues, disk is full, etc. (potentially retryable) + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into the file write request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The file name that is being written to + /// + public Utf8String Filename { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct WriteFileCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out WriteFileCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String FilenamePublic; + Helper.Get(m_Filename, out FilenamePublic); + other.Filename = FilenamePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileDataCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileDataCallbackInfo.cs new file mode 100644 index 0000000..9158557 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileDataCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Data containing data for a chunk of a file being written + /// + public struct WriteFileDataCallbackInfo : ICallbackInfo + { + /// + /// Client-specified data passed into the file write request + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the local user who initiated this request + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The file name that is being written to + /// + public Utf8String Filename { get; set; } + + /// + /// The maximum amount of data in bytes that can be written safely to DataBuffer + /// + public uint DataBufferLengthBytes { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct WriteFileDataCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + private uint m_DataBufferLengthBytes; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out WriteFileDataCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String FilenamePublic; + Helper.Get(m_Filename, out FilenamePublic); + other.Filename = FilenamePublic; + other.DataBufferLengthBytes = m_DataBufferLengthBytes; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileOptions.cs new file mode 100644 index 0000000..1d04090 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteFileOptions.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Input data for the function + /// + public struct WriteFileOptions + { + /// + /// The Product User ID of the local user who is writing the requested file to the cloud + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The name of the file to write; if this file already exists, the contents will be replaced if the write request completes successfully + /// + public Utf8String Filename { get; set; } + + /// + /// Requested maximum amount of data (in bytes) that can be written to the file per tick + /// + public uint ChunkLengthBytes { get; set; } + + /// + /// Callback function that provides chunks of data to be written into the requested file + /// + public OnWriteFileDataCallback WriteFileDataCallback { get; set; } + + /// + /// Optional callback function to inform the application of upload progress; will be called at least once if set + /// + public OnFileTransferProgressCallback FileTransferProgressCallback { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct WriteFileOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_Filename; + private uint m_ChunkLengthBytes; + private IntPtr m_WriteFileDataCallback; + private IntPtr m_FileTransferProgressCallback; + + public void Set(ref WriteFileOptions other) + { + Dispose(); + + m_ApiVersion = PlayerDataStorageInterface.WRITEFILE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.Filename, ref m_Filename); + m_ChunkLengthBytes = other.ChunkLengthBytes; + m_WriteFileDataCallback = other.WriteFileDataCallback != null ? Marshal.GetFunctionPointerForDelegate(OnWriteFileDataCallbackInternalImplementation.Delegate) : IntPtr.Zero; + m_FileTransferProgressCallback = other.FileTransferProgressCallback != null ? Marshal.GetFunctionPointerForDelegate(OnFileTransferProgressCallbackInternalImplementation.Delegate) : IntPtr.Zero; + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_Filename); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteResult.cs b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteResult.cs new file mode 100644 index 0000000..f3a88e3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/PlayerDataStorage/WriteResult.cs @@ -0,0 +1,32 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.PlayerDataStorage +{ + /// + /// Return results for callbacks to return + /// + public enum WriteResult : int + { + /// + /// Signifies the data was written successfully, and we should write the data the file + /// + ContinueWriting = 1, + /// + /// Signifies all data has now been written successfully, and we should upload the data to the cloud + /// + CompleteRequest = 2, + /// + /// Signifies there was a failure writing the data, and the request should end + /// + FailRequest = 3, + /// + /// Signifies the request should be canceled, but not due to an error + /// + CancelRequest = 4 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/AddNotifyJoinGameAcceptedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/AddNotifyJoinGameAcceptedOptions.cs new file mode 100644 index 0000000..7378984 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/AddNotifyJoinGameAcceptedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyJoinGameAcceptedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyJoinGameAcceptedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyJoinGameAcceptedOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.ADDNOTIFYJOINGAMEACCEPTED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/AddNotifyOnPresenceChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/AddNotifyOnPresenceChangedOptions.cs new file mode 100644 index 0000000..4bcaadd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/AddNotifyOnPresenceChangedOptions.cs @@ -0,0 +1,33 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct AddNotifyOnPresenceChangedOptions + { + + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyOnPresenceChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + + public void Set(ref AddNotifyOnPresenceChangedOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.ADDNOTIFYONPRESENCECHANGED_API_LATEST; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/CopyPresenceOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/CopyPresenceOptions.cs new file mode 100644 index 0000000..70037bd --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/CopyPresenceOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct CopyPresenceOptions + { + /// + /// The Epic Account ID of the local, logged-in user making the request + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose cached presence data you want to copy from the cache + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CopyPresenceOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref CopyPresenceOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.COPYPRESENCE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/CreatePresenceModificationOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/CreatePresenceModificationOptions.cs new file mode 100644 index 0000000..eafc954 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/CreatePresenceModificationOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct CreatePresenceModificationOptions + { + /// + /// The Epic Account ID of the local, logged-in user making the request + /// + public EpicAccountId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct CreatePresenceModificationOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref CreatePresenceModificationOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.CREATEPRESENCEMODIFICATION_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/DataRecord.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/DataRecord.cs new file mode 100644 index 0000000..488012a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/DataRecord.cs @@ -0,0 +1,60 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// An individual presence data record that belongs to a object. This object is released when its parent object is released. + /// + /// + public struct DataRecord + { + /// + /// The name of this data + /// + public Utf8String Key { get; set; } + + /// + /// The value of this data + /// + public Utf8String Value { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DataRecordInternal : IGettable, ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + private IntPtr m_Value; + + public void Get(out DataRecord other) + { + other = default; + + Utf8String KeyPublic; + Helper.Get(m_Key, out KeyPublic); + other.Key = KeyPublic; + Utf8String ValuePublic; + Helper.Get(m_Value, out ValuePublic); + other.Value = ValuePublic; + } + + public void Set(ref DataRecord other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.DATARECORD_API_LATEST; + Helper.Set(other.Key, ref m_Key); + Helper.Set(other.Value, ref m_Value); + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + Helper.Dispose(ref m_Value); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/GetJoinInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/GetJoinInfoOptions.cs new file mode 100644 index 0000000..5d4ae23 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/GetJoinInfoOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct GetJoinInfoOptions + { + /// + /// The local user's Epic Account ID + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID to query for join info; this value must either be a logged-in local user, or a friend of that user + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct GetJoinInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref GetJoinInfoOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.GETJOININFO_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/HasPresenceOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/HasPresenceOptions.cs new file mode 100644 index 0000000..43dd467 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/HasPresenceOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct HasPresenceOptions + { + /// + /// The Epic Account ID of the local, logged-in user making the request + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose cached presence data you want to locate + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct HasPresenceOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref HasPresenceOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.HASPRESENCE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/Info.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/Info.cs new file mode 100644 index 0000000..ce3d5f9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/Info.cs @@ -0,0 +1,108 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// All the known presence information for a specific user. This object must be released by calling . + /// + /// + /// + public struct Info + { + /// + /// The status of the user + /// + public Status Status { get; set; } + + /// + /// The Epic Account ID of the user + /// + public EpicAccountId UserId { get; set; } + + /// + /// The product ID that the user is logged in from + /// + public Utf8String ProductId { get; set; } + + /// + /// The version of the product the user is logged in from + /// + public Utf8String ProductVersion { get; set; } + + /// + /// The platform of that the user is logged in from + /// + public Utf8String Platform { get; set; } + + /// + /// Rich text of the user. + /// + public Utf8String RichText { get; set; } + + /// + /// The first data record, or if RecordsCount is not at least 1 + /// + public DataRecord[] Records { get; set; } + + /// + /// The user-facing name for the product the user is logged in from + /// + public Utf8String ProductName { get; set; } + + /// + /// The integrated platform that the user is logged in with + /// + public Utf8String IntegratedPlatform { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct InfoInternal : IGettable + { + private int m_ApiVersion; + private Status m_Status; + private IntPtr m_UserId; + private IntPtr m_ProductId; + private IntPtr m_ProductVersion; + private IntPtr m_Platform; + private IntPtr m_RichText; + private int m_RecordsCount; + private IntPtr m_Records; + private IntPtr m_ProductName; + private IntPtr m_IntegratedPlatform; + + public void Get(out Info other) + { + other = default; + + other.Status = m_Status; + EpicAccountId UserIdPublic; + Helper.Get(m_UserId, out UserIdPublic); + other.UserId = UserIdPublic; + Utf8String ProductIdPublic; + Helper.Get(m_ProductId, out ProductIdPublic); + other.ProductId = ProductIdPublic; + Utf8String ProductVersionPublic; + Helper.Get(m_ProductVersion, out ProductVersionPublic); + other.ProductVersion = ProductVersionPublic; + Utf8String PlatformPublic; + Helper.Get(m_Platform, out PlatformPublic); + other.Platform = PlatformPublic; + Utf8String RichTextPublic; + Helper.Get(m_RichText, out RichTextPublic); + other.RichText = RichTextPublic; + DataRecord[] RecordsPublic; + Helper.Get(m_Records, out RecordsPublic, m_RecordsCount, false); + other.Records = RecordsPublic; + Utf8String ProductNamePublic; + Helper.Get(m_ProductName, out ProductNamePublic); + other.ProductName = ProductNamePublic; + Utf8String IntegratedPlatformPublic; + Helper.Get(m_IntegratedPlatform, out IntegratedPlatformPublic); + other.IntegratedPlatform = IntegratedPlatformPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/JoinGameAcceptedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/JoinGameAcceptedCallbackInfo.cs new file mode 100644 index 0000000..2a95e0f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/JoinGameAcceptedCallbackInfo.cs @@ -0,0 +1,89 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Output parameters for the Function. + /// + public struct JoinGameAcceptedCallbackInfo : ICallbackInfo + { + /// + /// Context that was passed into + /// + public object ClientData { get; set; } + + /// + /// The Join Info custom game-data to use to join the target user. + /// Set to a to delete the value. + /// + public Utf8String JoinInfo { get; set; } + + /// + /// The Epic Account ID of the user who accepted the invitation + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who sent the invitation + /// + public EpicAccountId TargetUserId { get; set; } + + /// + /// If the value is not then it must be passed back to the SDK using . + /// This should be done after attempting to join the game and either succeeding or failing to connect. + /// This is necessary to allow the Social Overlay UI to manage the `Join` button. + /// + public ulong UiEventId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinGameAcceptedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_JoinInfo; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + private ulong m_UiEventId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out JoinGameAcceptedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + Utf8String JoinInfoPublic; + Helper.Get(m_JoinInfo, out JoinInfoPublic); + other.JoinInfo = JoinInfoPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + other.UiEventId = m_UiEventId; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnJoinGameAcceptedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnJoinGameAcceptedCallback.cs new file mode 100644 index 0000000..d61b736 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnJoinGameAcceptedCallback.cs @@ -0,0 +1,49 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + + /// + /// Function prototype definition for notifications that come from + /// must be called with any valid UiEventId passed via the data. + /// + /// + /// A containing the output information and result + /// + public delegate void OnJoinGameAcceptedCallback(ref JoinGameAcceptedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnJoinGameAcceptedCallbackInternal(ref JoinGameAcceptedCallbackInfoInternal data); + + internal static class OnJoinGameAcceptedCallbackInternalImplementation + { + private static OnJoinGameAcceptedCallbackInternal s_Delegate; + public static OnJoinGameAcceptedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnJoinGameAcceptedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnJoinGameAcceptedCallbackInternal))] + public static void EntryPoint(ref JoinGameAcceptedCallbackInfoInternal data) + { + OnJoinGameAcceptedCallback callback; + JoinGameAcceptedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnPresenceChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnPresenceChangedCallback.cs new file mode 100644 index 0000000..fba811a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnPresenceChangedCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + + /// + /// Callback for information related to notifications from triggering. + /// + public delegate void OnPresenceChangedCallback(ref PresenceChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnPresenceChangedCallbackInternal(ref PresenceChangedCallbackInfoInternal data); + + internal static class OnPresenceChangedCallbackInternalImplementation + { + private static OnPresenceChangedCallbackInternal s_Delegate; + public static OnPresenceChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnPresenceChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnPresenceChangedCallbackInternal))] + public static void EntryPoint(ref PresenceChangedCallbackInfoInternal data) + { + OnPresenceChangedCallback callback; + PresenceChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnQueryPresenceCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnQueryPresenceCompleteCallback.cs new file mode 100644 index 0000000..d8eb19c --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/OnQueryPresenceCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + + /// + /// Callback for information related to finishing. + /// + public delegate void OnQueryPresenceCompleteCallback(ref QueryPresenceCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnQueryPresenceCompleteCallbackInternal(ref QueryPresenceCallbackInfoInternal data); + + internal static class OnQueryPresenceCompleteCallbackInternalImplementation + { + private static OnQueryPresenceCompleteCallbackInternal s_Delegate; + public static OnQueryPresenceCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnQueryPresenceCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnQueryPresenceCompleteCallbackInternal))] + public static void EntryPoint(ref QueryPresenceCallbackInfoInternal data) + { + OnQueryPresenceCompleteCallback callback; + QueryPresenceCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceChangedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceChangedCallbackInfo.cs new file mode 100644 index 0000000..6bcc304 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceChangedCallbackInfo.cs @@ -0,0 +1,70 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data containing which users presence has changed + /// + public struct PresenceChangedCallbackInfo : ICallbackInfo + { + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user who is being informed for PresenceUserId's presence change + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user who had their presence changed + /// + public EpicAccountId PresenceUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return null; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceChangedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_PresenceUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out PresenceChangedCallbackInfo other) + { + other = default; + + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId PresenceUserIdPublic; + Helper.Get(m_PresenceUserId, out PresenceUserIdPublic); + other.PresenceUserId = PresenceUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceInterface.cs new file mode 100644 index 0000000..7a9a405 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceInterface.cs @@ -0,0 +1,452 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Presence +{ + public sealed partial class PresenceInterface : Handle + { + public PresenceInterface() + { + } + + public PresenceInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYJOINGAMEACCEPTED_API_LATEST = 2; + /// + /// The most recent version of the API. + /// + public const int ADDNOTIFYONPRESENCECHANGED_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int COPYPRESENCE_API_LATEST = 3; + /// + /// The most recent version of the API. + /// + public const int CREATEPRESENCEMODIFICATION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int DATARECORD_API_LATEST = 1; + /// + /// The maximum of allowed individual pieces of data a user may have. This value is subject to change and data structures should be designed to allow for greater + /// numbers than this. + /// + public const int DATA_MAX_KEYS = 32; + /// + /// The maximum allowed length a data's key may be. This value is subject to change and data structures should be designed to allow for greater numbers than this. + /// + public const int DATA_MAX_KEY_LENGTH = 64; + /// + /// The maximum allowed length a data's value may be. This value is subject to change and data structures should be designed to allow for greater numbers than this. + /// + public const int DATA_MAX_VALUE_LENGTH = 255; + /// + /// DEPRECATED! Use instead. + /// + public const int DELETEDATA_API_LATEST = PRESENCEMODIFICATION_DELETEDATA_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int GETJOININFO_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int HASPRESENCE_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int INFO_API_LATEST = 3; + /// + /// The presence key used to specify the local platform's presence on platforms that use tokenized presence. + /// For use with . + /// + /// + /// + public static readonly Utf8String KEY_PLATFORM_PRESENCE = "EOS_PlatformPresence"; + /// + /// The most recent version of the API. + /// + public const int PRESENCEMODIFICATION_DATARECORDID_API_LATEST = 1; + /// + /// Most recent version of the API. + /// + public const int PRESENCEMODIFICATION_DELETEDATA_API_LATEST = 1; + /// + /// The maximum allowed length that the JoinInfo value may be. This value is subject to change and data structures should be designed to allow for greater numbers than this. + /// + public const int PRESENCEMODIFICATION_JOININFO_MAX_LENGTH = DATA_MAX_VALUE_LENGTH; + /// + /// The most recent version of the API. + /// + public const int PRESENCEMODIFICATION_SETDATA_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int PRESENCEMODIFICATION_SETJOININFO_API_LATEST = 1; + /// + /// The most recent version of the function. + /// + public const int PRESENCEMODIFICATION_SETRAWRICHTEXT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int PRESENCEMODIFICATION_SETSTATUS_API_LATEST = 1; + /// + /// Most recent version of the API + /// + public const int PRESENCEMODIFICATION_SETTEMPLATEDATA_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int PRESENCEMODIFICATION_SETTEMPLATEID_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int QUERYPRESENCE_API_LATEST = 1; + /// + /// The maximum allowed length a user's rich text may be. This value is subject to change and data structures should be designed to allow for greater numbers + /// than this. + /// + public const int RICH_TEXT_MAX_VALUE_LENGTH = 255; + /// + /// DEPRECATED! Use instead. + /// + public const int SETDATA_API_LATEST = PRESENCEMODIFICATION_SETDATA_API_LATEST; + /// + /// The most recent version of the API. + /// + public const int SETPRESENCE_API_LATEST = 1; + /// + /// DEPRECATED! Use instead. + /// + public const int SETRAWRICHTEXT_API_LATEST = PRESENCEMODIFICATION_SETRAWRICHTEXT_API_LATEST; + /// + /// DEPRECATED! Use instead. + /// + public const int SETSTATUS_API_LATEST = PRESENCEMODIFICATION_SETSTATUS_API_LATEST; + + /// + /// Register to receive notifications when a user accepts a join game option via the social overlay. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// Structure containing information about the request. + /// + /// + /// Data the is returned to when NotificationHandler is invoked + /// + /// + /// A callback that is fired when a a notification is received. + /// + /// + /// handle representing the registered callback + /// + public ulong AddNotifyJoinGameAccepted(ref AddNotifyJoinGameAcceptedOptions options, object clientData, OnJoinGameAcceptedCallback notificationFn) + { + if (notificationFn == null) + { + throw new ArgumentNullException("notificationFn"); + } + + var optionsInternal = default(AddNotifyJoinGameAcceptedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationFn); + + var callResult = Bindings.EOS_Presence_AddNotifyJoinGameAccepted(InnerHandle, ref optionsInternal, clientDataPointer, OnJoinGameAcceptedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Register to receive notifications when presence changes. + /// If the returned NotificationId is valid, you must call when you no longer wish to have your NotificationHandler called. + /// + /// + /// + /// + /// + /// + /// Data the is returned to when NotificationHandler is invoked + /// + /// + /// The callback to be fired when a presence change occurs + /// + /// + /// Notification ID representing the registered callback if successful, an invalid NotificationId if not + /// + public ulong AddNotifyOnPresenceChanged(ref AddNotifyOnPresenceChangedOptions options, object clientData, OnPresenceChangedCallback notificationHandler) + { + if (notificationHandler == null) + { + throw new ArgumentNullException("notificationHandler"); + } + + var optionsInternal = default(AddNotifyOnPresenceChangedOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, notificationHandler); + + var callResult = Bindings.EOS_Presence_AddNotifyOnPresenceChanged(InnerHandle, ref optionsInternal, clientDataPointer, OnPresenceChangedCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + + Helper.AssignNotificationIdToCallback(clientDataPointer, callResult); + + return callResult; + } + + /// + /// Get a user's cached presence object. If successful, this data must be released by calling + /// + /// + /// + /// + /// + /// Object containing properties related to who is requesting presence and for what user + /// + /// + /// A to a of Presence Info. If the returned result is success, this will be set to data that must be later released, otherwise this will be set to + /// + /// + /// Success if we have cached data, or an error result if the request was invalid or we do not have cached data. + /// + public Result CopyPresence(ref CopyPresenceOptions options, out Info? outPresence) + { + var optionsInternal = default(CopyPresenceOptionsInternal); + optionsInternal.Set(ref options); + + var outPresencePointer = IntPtr.Zero; + + var callResult = Bindings.EOS_Presence_CopyPresence(InnerHandle, ref optionsInternal, out outPresencePointer); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outPresencePointer, out outPresence); + if (outPresencePointer != IntPtr.Zero) + { + Bindings.EOS_Presence_Info_Release(outPresencePointer); + } + + return callResult; + } + + /// + /// Creates a presence modification handle. This handle can used to add multiple changes to your presence that can be applied with . + /// The resulting handle must be released by calling once it has been passed to . + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// + /// Object containing properties related to the user modifying their presence + /// + /// + /// to a Presence Modification Handle to be set if successful + /// + /// + /// Success if we successfully created the Presence Modification Handle pointed at in OutPresenceModificationHandle, or an error result if the input data was invalid + /// + public Result CreatePresenceModification(ref CreatePresenceModificationOptions options, out PresenceModification outPresenceModificationHandle) + { + var optionsInternal = default(CreatePresenceModificationOptionsInternal); + optionsInternal.Set(ref options); + + var outPresenceModificationHandleInnerHandle = IntPtr.Zero; + + var callResult = Bindings.EOS_Presence_CreatePresenceModification(InnerHandle, ref optionsInternal, out outPresenceModificationHandleInnerHandle); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outPresenceModificationHandleInnerHandle, out outPresenceModificationHandle); + + return callResult; + } + + /// + /// Gets a join info custom game-data for a specific user. This is a helper function for reading the presence data related to how a user can be joined. + /// Its meaning is entirely application dependent. + /// + /// This value will be valid only after a QueryPresence call has successfully completed. + /// + /// + /// + /// + /// Object containing an associated user + /// + /// + /// The buffer into which the character data should be written. The buffer must be long enough to hold a of . + /// + /// + /// Used as an input to define the OutBuffer length. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer. + /// + /// + /// An that indicates whether the location was copied into the OutBuffer. + /// - if the information is available and passed out in OutBuffer + /// - if you pass a for the out parameter + /// - if there is user or the location was not found. + /// - - The OutBuffer is not large enough to receive the location . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result GetJoinInfo(ref GetJoinInfoOptions options, out Utf8String outBuffer) + { + var optionsInternal = default(GetJoinInfoOptionsInternal); + optionsInternal.Set(ref options); + + int inOutBufferLength = PRESENCEMODIFICATION_JOININFO_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_Presence_GetJoinInfo(InnerHandle, ref optionsInternal, outBufferPointer, ref inOutBufferLength); + + Helper.Dispose(ref optionsInternal); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + + /// + /// Check if we already have presence for a user + /// + /// + /// + /// Object containing properties related to who is requesting presence and for what user + /// + /// + /// if we have presence for the requested user, or if the request was invalid or we do not have cached data + /// + public bool HasPresence(ref HasPresenceOptions options) + { + var optionsInternal = default(HasPresenceOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_Presence_HasPresence(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + bool callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Query a user's presence. This must complete successfully before CopyPresence will have valid results. If HasPresence returns for a remote + /// user, this does not need to be called. + /// + /// + /// + /// + /// Object containing properties related to who is querying presence and for what user + /// + /// + /// Optional to help track this request, that is returned in the completion callback + /// + /// + /// to a function that handles receiving the completion information + /// + public void QueryPresence(ref QueryPresenceOptions options, object clientData, OnQueryPresenceCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(QueryPresenceOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Presence_QueryPresence(InnerHandle, ref optionsInternal, clientDataPointer, OnQueryPresenceCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Unregister from receiving notifications when a user accepts a join game option via the social overlay. + /// + /// + /// Handle representing the registered callback + /// + public void RemoveNotifyJoinGameAccepted(ulong inId) + { + Bindings.EOS_Presence_RemoveNotifyJoinGameAccepted(InnerHandle, inId); + + Helper.RemoveCallbackByNotificationId(inId); + } + + /// + /// Unregister a previously bound notification handler from receiving presence update notifications + /// + /// + /// The Notification ID representing the registered callback + /// + public void RemoveNotifyOnPresenceChanged(ulong notificationId) + { + Bindings.EOS_Presence_RemoveNotifyOnPresenceChanged(InnerHandle, notificationId); + + Helper.RemoveCallbackByNotificationId(notificationId); + } + + /// + /// Sets your new presence with the data applied to a PresenceModificationHandle. The PresenceModificationHandle can be released safely after calling this function. + /// + /// + /// + /// + /// + /// + /// Object containing a PresenceModificationHandle and associated user data + /// + /// + /// Optional to help track this request, that is returned in the completion callback + /// + /// + /// to a function that handles receiving the completion information + /// + public void SetPresence(ref SetPresenceOptions options, object clientData, SetPresenceCompleteCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(SetPresenceOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_Presence_SetPresence(InnerHandle, ref optionsInternal, clientDataPointer, SetPresenceCompleteCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModification.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModification.cs new file mode 100644 index 0000000..b2965b6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModification.cs @@ -0,0 +1,193 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.Presence +{ + public sealed partial class PresenceModification : Handle + { + public PresenceModification() + { + } + + public PresenceModification(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Removes one or more rows of user-defined presence data for a local user. At least one DeleteDataInfo object + /// must be specified. + /// + /// + /// + /// + /// + /// Object containing an array of new presence data. + /// + /// + /// Success if modification was added successfully, otherwise an error code related to the problem + /// + public Result DeleteData(ref PresenceModificationDeleteDataOptions options) + { + var optionsInternal = default(PresenceModificationDeleteDataOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_DeleteData(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Release the memory associated with an handle. This must be called on Handles retrieved from . + /// This can be safely called on a presence modification handle. This also may be safely called while a call to SetPresence is still pending. + /// + /// + /// + /// The presence modification handle to release + /// + public void Release() + { + Bindings.EOS_PresenceModification_Release(InnerHandle); + } + + /// + /// Modifies one or more rows of user-defined presence data for a local user. At least one InfoData object + /// must be specified. + /// + /// + /// + /// + /// + /// Object containing an array of new presence data. + /// + /// + /// Success if modification was added successfully, otherwise an error code related to the problem + /// + public Result SetData(ref PresenceModificationSetDataOptions options) + { + var optionsInternal = default(PresenceModificationSetDataOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_SetData(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Sets your new join info custom game-data . This is a helper function for reading the presence data related to how a user can be joined. + /// Its meaning is entirely application dependent. + /// + /// + /// + /// Object containing a join info and associated user data + /// + /// + /// Success if modification was added successfully, otherwise an error code related to the problem + /// + public Result SetJoinInfo(ref PresenceModificationSetJoinInfoOptions options) + { + var optionsInternal = default(PresenceModificationSetJoinInfoOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_SetJoinInfo(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Modifies a user's Rich Presence to a new state. This is the exact value other users will see + /// when they query the local user's presence. + /// + /// + /// + /// Object containing properties related to setting a user's RichText + /// + /// + /// Success if modification was added successfully, otherwise an error code related to the problem + /// + public Result SetRawRichText(ref PresenceModificationSetRawRichTextOptions options) + { + var optionsInternal = default(PresenceModificationSetRawRichTextOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_SetRawRichText(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Modifies a user's online status to be the new state. + /// + /// + /// Object containing properties related to setting a user's Status + /// + /// + /// Success if modification was added successfully, otherwise an error code related to the problem + /// + public Result SetStatus(ref PresenceModificationSetStatusOptions options) + { + var optionsInternal = default(PresenceModificationSetStatusOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_SetStatus(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Adds variable data to a Presence Update template much like a format-arg would. This value will be localized + /// by the backend and displayed to users. This function can be called multiple times for each variable. Subsequent + /// calls for the sane variable will replace the value with the latest version. + /// + /// + /// Object containing properties related to setting a named variable value on a Localized Presence Template + /// + /// + /// Success if the value was updated successfully, otherwise an error code related to the problem + /// + public Result SetTemplateData(ref PresenceModificationSetTemplateDataOptions options) + { + var optionsInternal = default(PresenceModificationSetTemplateDataOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_SetTemplateData(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Modifies a user's Rich Presence to a new state using a localized template. This represents + /// a template ID that may contain one or more variables that must be supplied via SetTemplateData. This + /// function is mutually exclusive with SetRawRichText meaning only one can be used on a modification. + /// + /// + /// Object containing the TemplateId for a pre-cofnigured a Localized Presence Template + /// + /// + /// Success if the value was updated successfully, otherwise an error code related to the problem + /// + public Result SetTemplateId(ref PresenceModificationSetTemplateIdOptions options) + { + var optionsInternal = default(PresenceModificationSetTemplateIdOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_PresenceModification_SetTemplateId(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationDataRecordId.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationDataRecordId.cs new file mode 100644 index 0000000..fbbc8e6 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationDataRecordId.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for identifying which data records should be deleted. + /// + public struct PresenceModificationDataRecordId + { + /// + /// The key to be deleted from the data record + /// + public Utf8String Key { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationDataRecordIdInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + + public void Set(ref PresenceModificationDataRecordId other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_DATARECORDID_API_LATEST; + Helper.Set(other.Key, ref m_Key); + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationDeleteDataOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationDeleteDataOptions.cs new file mode 100644 index 0000000..ddf9b31 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationDeleteDataOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct PresenceModificationDeleteDataOptions + { + /// + /// The to start of a sequential array + /// + public PresenceModificationDataRecordId[] Records { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationDeleteDataOptionsInternal : ISettable + { + private int m_ApiVersion; + private int m_RecordsCount; + private IntPtr m_Records; + + public void Set(ref PresenceModificationDeleteDataOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_DELETEDATA_API_LATEST; + Helper.Set(other.Records, ref m_Records, out m_RecordsCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_Records); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetDataOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetDataOptions.cs new file mode 100644 index 0000000..f7ba482 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetDataOptions.cs @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct PresenceModificationSetDataOptions + { + /// + /// The to start of a sequential array of Presence DataRecords + /// + public DataRecord[] Records { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationSetDataOptionsInternal : ISettable + { + private int m_ApiVersion; + private int m_RecordsCount; + private IntPtr m_Records; + + public void Set(ref PresenceModificationSetDataOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_SETDATA_API_LATEST; + Helper.Set(other.Records, ref m_Records, out m_RecordsCount, false); + } + + public void Dispose() + { + Helper.Dispose(ref m_Records); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetJoinInfoOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetJoinInfoOptions.cs new file mode 100644 index 0000000..fc8ab5b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetJoinInfoOptions.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct PresenceModificationSetJoinInfoOptions + { + /// + /// The which will be advertised as this player's join info. + /// An application is expected to freely define the meaning of this to use for connecting to an active game session. + /// The should not exceed in length. + /// This affects the ability of the Social Overlay to show game related actions to take in the player's social graph. + /// The Social Overlay can handle only one of the following three options at a time: + /// * using the bPresenceEnabled flags within the Sessions interface + /// * using the bPresenceEnabled flags within the Lobby interface + /// * using + /// + /// + /// + /// + /// + public Utf8String JoinInfo { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationSetJoinInfoOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_JoinInfo; + + public void Set(ref PresenceModificationSetJoinInfoOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_SETJOININFO_API_LATEST; + Helper.Set(other.JoinInfo, ref m_JoinInfo); + } + + public void Dispose() + { + Helper.Dispose(ref m_JoinInfo); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetRawRichTextOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetRawRichTextOptions.cs new file mode 100644 index 0000000..bcf1bc9 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetRawRichTextOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the API. + /// + public struct PresenceModificationSetRawRichTextOptions + { + /// + /// The status of the user + /// + public Utf8String RichText { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationSetRawRichTextOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_RichText; + + public void Set(ref PresenceModificationSetRawRichTextOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_SETRAWRICHTEXT_API_LATEST; + Helper.Set(other.RichText, ref m_RichText); + } + + public void Dispose() + { + Helper.Dispose(ref m_RichText); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetStatusOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetStatusOptions.cs new file mode 100644 index 0000000..19c88fb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetStatusOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct PresenceModificationSetStatusOptions + { + /// + /// The status of the user + /// + public Status Status { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationSetStatusOptionsInternal : ISettable + { + private int m_ApiVersion; + private Status m_Status; + + public void Set(ref PresenceModificationSetStatusOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_SETSTATUS_API_LATEST; + m_Status = other.Status; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateDataOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateDataOptions.cs new file mode 100644 index 0000000..259628b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateDataOptions.cs @@ -0,0 +1,50 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the API. + /// + public struct PresenceModificationSetTemplateDataOptions + { + /// + /// Key for the named template parameter + /// + public Utf8String Key { get; set; } + + /// + /// Union storage for template typed values + /// + public PresenceModificationSetTemplateDataOptionsValue Value { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationSetTemplateDataOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_Key; + private PresenceModificationSetTemplateDataOptionsValueInternal m_Value; + private PresenceModificationTemplateType m_ValueType; + + public void Set(ref PresenceModificationSetTemplateDataOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_SETTEMPLATEDATA_API_LATEST; + Helper.Set(other.Key, ref m_Key); + Helper.Set(other.Value, ref m_Value); + + m_ValueType = other.Value.ValueType; + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + Helper.Dispose(ref m_Value); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateDataOptionsValue.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateDataOptionsValue.cs new file mode 100644 index 0000000..689b454 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateDataOptionsValue.cs @@ -0,0 +1,111 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Union storage for template typed values + /// + public struct PresenceModificationSetTemplateDataOptionsValue + { + private int? m_AsInt32; + private Utf8String m_AsStringId; + private PresenceModificationTemplateType m_ValueType; + + /// + /// Localized integer + /// + public int? AsInt32 + { + get + { + if (m_ValueType == PresenceModificationTemplateType.Int) + { + return m_AsInt32; + } + + return default; + } + set + { + m_AsInt32 = value; + m_ValueType = PresenceModificationTemplateType.Int; + } + } + + /// + /// Reference a StringId in the Backend + /// + public Utf8String AsStringId + { + get + { + if (m_ValueType == PresenceModificationTemplateType.String) + { + return m_AsStringId; + } + + return default; + } + set + { + m_AsStringId = value; + m_ValueType = PresenceModificationTemplateType.String; + } + } + public PresenceModificationTemplateType ValueType + { + get + { + return m_ValueType; + } + } + + public static implicit operator PresenceModificationSetTemplateDataOptionsValue(int? value) + { + return new PresenceModificationSetTemplateDataOptionsValue() { AsInt32 = value }; + } + + public static implicit operator PresenceModificationSetTemplateDataOptionsValue(Utf8String value) + { + return new PresenceModificationSetTemplateDataOptionsValue() { AsStringId = value }; + } + + public static implicit operator PresenceModificationSetTemplateDataOptionsValue(string value) + { + return new PresenceModificationSetTemplateDataOptionsValue() { AsStringId = value }; + } + } + + [StructLayout(LayoutKind.Explicit)] + internal struct PresenceModificationSetTemplateDataOptionsValueInternal : ISettable + { + [FieldOffset(0)] + private int m_AsInt32; + [FieldOffset(0)] + private IntPtr m_AsStringId; + + public void Set(ref PresenceModificationSetTemplateDataOptionsValue other) + { + Dispose(); + + if (other.ValueType == PresenceModificationTemplateType.Int) + { + Helper.Set(other.AsInt32, ref m_AsInt32); + } + + if (other.ValueType == PresenceModificationTemplateType.String) + { + Helper.Set(other.AsStringId, ref m_AsStringId); + } + } + + public void Dispose() + { + Helper.Dispose(ref m_AsStringId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateIdOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateIdOptions.cs new file mode 100644 index 0000000..e63db10 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationSetTemplateIdOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct PresenceModificationSetTemplateIdOptions + { + /// + /// The RichPresence Template ID. Setting this value will prevent SetRawRichText from being used on this handle + /// + public Utf8String TemplateId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct PresenceModificationSetTemplateIdOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_TemplateId; + + public void Set(ref PresenceModificationSetTemplateIdOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.PRESENCEMODIFICATION_SETTEMPLATEID_API_LATEST; + Helper.Set(other.TemplateId, ref m_TemplateId); + } + + public void Dispose() + { + Helper.Dispose(ref m_TemplateId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationTemplateType.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationTemplateType.cs new file mode 100644 index 0000000..51263fc --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/PresenceModificationTemplateType.cs @@ -0,0 +1,24 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Enum representing the types that may be passed as template data. + /// + public enum PresenceModificationTemplateType : int + { + /// + /// (32-bit) integer type + /// + Int = 1, + /// + /// UTF8 as an identifier + /// + String = 2 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/QueryPresenceCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/QueryPresenceCallbackInfo.cs new file mode 100644 index 0000000..51de163 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/QueryPresenceCallbackInfo.cs @@ -0,0 +1,77 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// The result meta-data for a presence query. + /// + public struct QueryPresenceCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned for a successful query, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user who made this request + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose presence was potentially queried + /// + public EpicAccountId TargetUserId { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryPresenceCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out QueryPresenceCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + EpicAccountId TargetUserIdPublic; + Helper.Get(m_TargetUserId, out TargetUserIdPublic); + other.TargetUserId = TargetUserIdPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/QueryPresenceOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/QueryPresenceOptions.cs new file mode 100644 index 0000000..1115979 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/QueryPresenceOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function + /// + public struct QueryPresenceOptions + { + /// + /// The Epic Account ID of the local, logged-in user making the request + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The Epic Account ID of the user whose presence data you want to retrieve; this value must be either the user making the request, or a friend of that user + /// + public EpicAccountId TargetUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct QueryPresenceOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_TargetUserId; + + public void Set(ref QueryPresenceOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.QUERYPRESENCE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.TargetUserId, ref m_TargetUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_TargetUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceCallbackInfo.cs new file mode 100644 index 0000000..a3cad79 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceCallbackInfo.cs @@ -0,0 +1,75 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// The result meta-data from setting a user's presence. + /// + public struct SetPresenceCallbackInfo : ICallbackInfo + { + /// + /// Result code for the operation. is returned if presence was successfully set, other codes indicate an error + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into + /// + public object ClientData { get; set; } + + /// + /// The Epic Account ID of the local user that had their presence set + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// Result code for the Rich presence operation. is returned if the Rich presence was successfully set, other code indicates an error. + /// + public Result RichPresenceResultCode { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetPresenceCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private Result m_RichPresenceResultCode; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SetPresenceCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + EpicAccountId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + other.RichPresenceResultCode = m_RichPresenceResultCode; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceCompleteCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceCompleteCallback.cs new file mode 100644 index 0000000..e83d60f --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceCompleteCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + + /// + /// Callback for information related to finishing. + /// + public delegate void SetPresenceCompleteCallback(ref SetPresenceCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void SetPresenceCompleteCallbackInternal(ref SetPresenceCallbackInfoInternal data); + + internal static class SetPresenceCompleteCallbackInternalImplementation + { + private static SetPresenceCompleteCallbackInternal s_Delegate; + public static SetPresenceCompleteCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new SetPresenceCompleteCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(SetPresenceCompleteCallbackInternal))] + public static void EntryPoint(ref SetPresenceCallbackInfoInternal data) + { + SetPresenceCompleteCallback callback; + SetPresenceCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceOptions.cs new file mode 100644 index 0000000..71cc94e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/SetPresenceOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Data for the function. + /// + public struct SetPresenceOptions + { + /// + /// The Epic Account ID of the local, logged-in user making the request + /// + public EpicAccountId LocalUserId { get; set; } + + /// + /// The handle to the presence update + /// + public PresenceModification PresenceModificationHandle { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SetPresenceOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_PresenceModificationHandle; + + public void Set(ref SetPresenceOptions other) + { + Dispose(); + + m_ApiVersion = PresenceInterface.SETPRESENCE_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.PresenceModificationHandle, ref m_PresenceModificationHandle); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_PresenceModificationHandle); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/Presence/Status.cs b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/Status.cs new file mode 100644 index 0000000..77ff35e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/Presence/Status.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.Presence +{ + /// + /// Presence Status states of a user + /// + /// + /// + public enum Status : int + { + /// + /// The status of the account is offline or not known + /// + Offline = 0, + /// + /// The status of the account is online + /// + Online = 1, + /// + /// The status of the account is away + /// + Away = 2, + /// + /// The status of the account is away, and has been away for a while + /// + ExtendedAway = 3, + /// + /// The status of the account is do-not-disturb + /// + DoNotDisturb = 4 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProductUserId.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProductUserId.cs new file mode 100644 index 0000000..b231107 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProductUserId.cs @@ -0,0 +1,127 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices +{ + public sealed partial class ProductUserId : Handle + { + public ProductUserId() + { + } + + public ProductUserId(IntPtr innerHandle) : base(innerHandle) + { + } + /// + /// Retrieve an from a raw representing an Epic Online Services Product User ID. The input must be -terminated. + /// NOTE: There is no validation on the format, this should only be used with values serialized from legitimate sources such as + /// + /// + /// The stringified product user ID for which to retrieve the Epic Online Services Product User ID + /// + /// + /// The that corresponds to the ProductUserIdString + /// + public static ProductUserId FromString(Utf8String productUserIdString) + { + var productUserIdStringPointer = IntPtr.Zero; + Helper.Set(productUserIdString, ref productUserIdStringPointer); + + var callResult = Bindings.EOS_ProductUserId_FromString(productUserIdStringPointer); + + Helper.Dispose(ref productUserIdStringPointer); + + ProductUserId callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + public static explicit operator ProductUserId(Utf8String productUserIdString) + { + return FromString(productUserIdString); + } + + /// + /// Check whether or not the given account unique ID is considered valid + /// NOTE: This will return for any created with as there is no validation + /// + /// + /// The Product User ID to check for validity + /// + /// + /// if the is valid, otherwise + /// + public bool IsValid() + { + var callResult = Bindings.EOS_ProductUserId_IsValid(InnerHandle); + + bool callResultReturn; + Helper.Get(callResult, out callResultReturn); + return callResultReturn; + } + + /// + /// Retrieve a -terminated stringified Product User ID from an . This is useful for replication of Product User IDs in multiplayer games. + /// This will be no larger than + 1 and will only contain UTF8-encoded printable characters as well as the -terminator. + /// + /// + /// The Product User ID for which to retrieve the stringified version. + /// + /// + /// The buffer into which the character data should be written + /// + /// + /// The size of the OutBuffer in characters. + /// The input buffer should include enough space to be -terminated. + /// When the function returns, this parameter will be filled with the length of the copied into OutBuffer including the -termination character. + /// + /// + /// An that indicates whether the Product User ID was copied into the OutBuffer. + /// - The OutBuffer was filled, and InOutBufferLength contains the number of characters copied into OutBuffer including the -terminator. + /// - Either OutBuffer or InOutBufferLength were passed as parameters. + /// - The AccountId is invalid and cannot be stringified. + /// - The OutBuffer is not large enough to receive the Product User ID . InOutBufferLength contains the required minimum length to perform the operation successfully. + /// + public Result ToString(out Utf8String outBuffer) + { + int inOutBufferLength = Common.PRODUCTUSERID_MAX_LENGTH + 1; + var outBufferPointer = Helper.AddAllocation(inOutBufferLength); + + var callResult = Bindings.EOS_ProductUserId_ToString(InnerHandle, outBufferPointer, ref inOutBufferLength); + + Helper.Get(outBufferPointer, out outBuffer); + Helper.Dispose(ref outBufferPointer); + + return callResult; + } + public override string ToString() + { + Utf8String callResult; + ToString(out callResult); + return callResult; + } + + public override string ToString(string format, IFormatProvider formatProvider) + { + if (format != null) + { + return string.Format(format, ToString()); + } + + return ToString(); + } + + public static explicit operator Utf8String(ProductUserId accountId) + { + Utf8String callResult = null; + + if (accountId != null) + { + accountId.ToString(out callResult); + } + + return callResult; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/AddProgressionOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/AddProgressionOptions.cs new file mode 100644 index 0000000..b6ff982 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/AddProgressionOptions.cs @@ -0,0 +1,54 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Input parameters for the function. + /// + public struct AddProgressionOptions + { + /// + /// The Snapshot Id received via a function. + /// + public uint SnapshotId { get; set; } + + /// + /// The key in a key/value pair of progression entry + /// + public Utf8String Key { get; set; } + + /// + /// The value in a key/value pair of progression entry + /// + public Utf8String Value { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddProgressionOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_SnapshotId; + private IntPtr m_Key; + private IntPtr m_Value; + + public void Set(ref AddProgressionOptions other) + { + Dispose(); + + m_ApiVersion = ProgressionSnapshotInterface.ADDPROGRESSION_API_LATEST; + m_SnapshotId = other.SnapshotId; + Helper.Set(other.Key, ref m_Key); + Helper.Set(other.Value, ref m_Value); + } + + public void Dispose() + { + Helper.Dispose(ref m_Key); + Helper.Dispose(ref m_Value); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/BeginSnapshotOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/BeginSnapshotOptions.cs new file mode 100644 index 0000000..8c585cb --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/BeginSnapshotOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Input parameters for the function. + /// + public struct BeginSnapshotOptions + { + /// + /// The Product User ID of the local user to whom the key/value pair belong + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct BeginSnapshotOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref BeginSnapshotOptions other) + { + Dispose(); + + m_ApiVersion = ProgressionSnapshotInterface.BEGINSNAPSHOT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/DeleteSnapshotCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/DeleteSnapshotCallbackInfo.cs new file mode 100644 index 0000000..ac2f1b3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/DeleteSnapshotCallbackInfo.cs @@ -0,0 +1,68 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Output parameters for the Function. + /// + public struct DeleteSnapshotCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// The Product User ID of the local user to whom the key/value pair belong + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteSnapshotCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_LocalUserId; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DeleteSnapshotCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/DeleteSnapshotOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/DeleteSnapshotOptions.cs new file mode 100644 index 0000000..6829604 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/DeleteSnapshotOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Input parameters for the function. + /// + public struct DeleteSnapshotOptions + { + /// + /// The Product User ID of the local user to whom the key/value pair belong + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DeleteSnapshotOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref DeleteSnapshotOptions other) + { + Dispose(); + + m_ApiVersion = ProgressionSnapshotInterface.DELETESNAPSHOT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/EndSnapshotOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/EndSnapshotOptions.cs new file mode 100644 index 0000000..7693b2e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/EndSnapshotOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Input parameters for the function. + /// + public struct EndSnapshotOptions + { + /// + /// The Snapshot Id received via a function. + /// + public uint SnapshotId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct EndSnapshotOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_SnapshotId; + + public void Set(ref EndSnapshotOptions other) + { + Dispose(); + + m_ApiVersion = ProgressionSnapshotInterface.ENDSNAPSHOT_API_LATEST; + m_SnapshotId = other.SnapshotId; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/OnDeleteSnapshotCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/OnDeleteSnapshotCallback.cs new file mode 100644 index 0000000..021f9f0 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/OnDeleteSnapshotCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnDeleteSnapshotCallback(ref DeleteSnapshotCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDeleteSnapshotCallbackInternal(ref DeleteSnapshotCallbackInfoInternal data); + + internal static class OnDeleteSnapshotCallbackInternalImplementation + { + private static OnDeleteSnapshotCallbackInternal s_Delegate; + public static OnDeleteSnapshotCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDeleteSnapshotCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDeleteSnapshotCallbackInternal))] + public static void EntryPoint(ref DeleteSnapshotCallbackInfoInternal data) + { + OnDeleteSnapshotCallback callback; + DeleteSnapshotCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/OnSubmitSnapshotCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/OnSubmitSnapshotCallback.cs new file mode 100644 index 0000000..2fbf89d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/OnSubmitSnapshotCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + + /// + /// Function prototype definition for callbacks passed to + /// + /// + /// A containing the output information and result + /// + public delegate void OnSubmitSnapshotCallback(ref SubmitSnapshotCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnSubmitSnapshotCallbackInternal(ref SubmitSnapshotCallbackInfoInternal data); + + internal static class OnSubmitSnapshotCallbackInternalImplementation + { + private static OnSubmitSnapshotCallbackInternal s_Delegate; + public static OnSubmitSnapshotCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnSubmitSnapshotCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnSubmitSnapshotCallbackInternal))] + public static void EntryPoint(ref SubmitSnapshotCallbackInfoInternal data) + { + OnSubmitSnapshotCallback callback; + SubmitSnapshotCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/ProgressionSnapshotInterface.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/ProgressionSnapshotInterface.cs new file mode 100644 index 0000000..c7e777e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/ProgressionSnapshotInterface.cs @@ -0,0 +1,171 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + public sealed partial class ProgressionSnapshotInterface : Handle + { + public ProgressionSnapshotInterface() + { + } + + public ProgressionSnapshotInterface(IntPtr innerHandle) : base(innerHandle) + { + } + + /// + /// The most recent version of the API. + /// + public const int ADDPROGRESSION_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int BEGINSNAPSHOT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int DELETESNAPSHOT_API_LATEST = 1; + /// + /// The most recent version of the API. + /// + public const int ENDSNAPSHOT_API_LATEST = 1; + /// + /// An invalid ProgressionSnapshot Id. + /// + public const int INVALID_PROGRESSIONSNAPSHOTID = 0; + /// + /// The most recent version of the API. + /// + public const int SUBMITSNAPSHOT_API_LATEST = 1; + + /// + /// Stores a Key/Value pair in memory for a given snapshot. + /// If multiple calls happen with the same key, the last invocation wins, overwriting the previous value for that + /// given key. + /// + /// The order in which the Key/Value pairs are added is stored as is for later retrieval/display. + /// Ideally, you would make multiple calls to AddProgression() followed by a single call to SubmitSnapshot(). + /// + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - when successful + /// - oherwise + /// + public Result AddProgression(ref AddProgressionOptions options) + { + var optionsInternal = default(AddProgressionOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_ProgressionSnapshot_AddProgression(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Creates a new progression-snapshot resource for a given user. + /// + /// + /// + /// Object containing properties that identifies the PUID this Snapshot will belong to. + /// + /// + /// A progression-snapshot identifier output parameter. Use that identifier to reference the snapshot in the other APIs. + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - when successful. + /// - when no IDs are available. This is irrecoverable state. + /// + public Result BeginSnapshot(ref BeginSnapshotOptions options, out uint outSnapshotId) + { + var optionsInternal = default(BeginSnapshotOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_ProgressionSnapshot_BeginSnapshot(InnerHandle, ref optionsInternal, out outSnapshotId); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Wipes out all progression data for the given user from the service. However, any previous progression data that haven't + /// been submitted yet are retained. + /// + /// + /// + public void DeleteSnapshot(ref DeleteSnapshotOptions options, object clientData, OnDeleteSnapshotCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(DeleteSnapshotOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_ProgressionSnapshot_DeleteSnapshot(InnerHandle, ref optionsInternal, clientDataPointer, OnDeleteSnapshotCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + + /// + /// Cleans up and releases resources associated with the given progression snapshot identifier. + /// + /// + /// + /// containing the result of the operation. + /// Possible result codes: + /// - when successful + /// - otherwise + /// + public Result EndSnapshot(ref EndSnapshotOptions options) + { + var optionsInternal = default(EndSnapshotOptionsInternal); + optionsInternal.Set(ref options); + + var callResult = Bindings.EOS_ProgressionSnapshot_EndSnapshot(InnerHandle, ref optionsInternal); + + Helper.Dispose(ref optionsInternal); + + return callResult; + } + + /// + /// Saves the previously added Key/Value pairs of a given Snapshot to the service. + /// + /// Note: This will overwrite any prior progression data stored with the service that's associated with the user. + /// + /// + /// + public void SubmitSnapshot(ref SubmitSnapshotOptions options, object clientData, OnSubmitSnapshotCallback completionDelegate) + { + if (completionDelegate == null) + { + throw new ArgumentNullException("completionDelegate"); + } + + var optionsInternal = default(SubmitSnapshotOptionsInternal); + optionsInternal.Set(ref options); + + var clientDataPointer = IntPtr.Zero; + + Helper.AddCallback(out clientDataPointer, clientData, completionDelegate); + + Bindings.EOS_ProgressionSnapshot_SubmitSnapshot(InnerHandle, ref optionsInternal, clientDataPointer, OnSubmitSnapshotCallbackInternalImplementation.Delegate); + + Helper.Dispose(ref optionsInternal); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/SubmitSnapshotCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/SubmitSnapshotCallbackInfo.cs new file mode 100644 index 0000000..ede0a49 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/SubmitSnapshotCallbackInfo.cs @@ -0,0 +1,66 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Output parameters for the Function. + /// + public struct SubmitSnapshotCallbackInfo : ICallbackInfo + { + /// + /// The code for the operation. indicates that the operation succeeded; other codes indicate errors. + /// + public Result ResultCode { get; set; } + + /// + /// The Snapshot Id used in the Submit function. + /// + public uint SnapshotId { get; set; } + + /// + /// Context that was passed into . + /// + public object ClientData { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SubmitSnapshotCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private uint m_SnapshotId; + private IntPtr m_ClientData; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out SubmitSnapshotCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + other.SnapshotId = m_SnapshotId; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/SubmitSnapshotOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/SubmitSnapshotOptions.cs new file mode 100644 index 0000000..10de386 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/ProgressionSnapshot/SubmitSnapshotOptions.cs @@ -0,0 +1,38 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.ProgressionSnapshot +{ + /// + /// Input parameters for the function. + /// + public struct SubmitSnapshotOptions + { + /// + /// The Snapshot Id received via a function. + /// + public uint SnapshotId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct SubmitSnapshotOptionsInternal : ISettable + { + private int m_ApiVersion; + private uint m_SnapshotId; + + public void Set(ref SubmitSnapshotOptions other) + { + Dispose(); + + m_ApiVersion = ProgressionSnapshotInterface.SUBMITSNAPSHOT_API_LATEST; + m_SnapshotId = other.SnapshotId; + } + + public void Dispose() + { + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyDisconnectedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyDisconnectedOptions.cs new file mode 100644 index 0000000..5daa278 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyDisconnectedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is used to call . + /// + public struct AddNotifyDisconnectedOptions + { + /// + /// The Product User ID of the user trying to request this operation. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room this event is registered on. + /// + public Utf8String RoomName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyDisconnectedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + + public void Set(ref AddNotifyDisconnectedOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.ADDNOTIFYDISCONNECTED_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RoomName, ref m_RoomName); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RoomName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyParticipantStatusChangedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyParticipantStatusChangedOptions.cs new file mode 100644 index 0000000..52de5ac --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyParticipantStatusChangedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is used to call . + /// + public struct AddNotifyParticipantStatusChangedOptions + { + /// + /// The Product User ID of the user trying to request this operation. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room this event is registered on. + /// + public Utf8String RoomName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyParticipantStatusChangedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + + public void Set(ref AddNotifyParticipantStatusChangedOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.ADDNOTIFYPARTICIPANTSTATUSCHANGED_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RoomName, ref m_RoomName); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RoomName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyRoomBeforeJoinOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyRoomBeforeJoinOptions.cs new file mode 100644 index 0000000..eb0653e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyRoomBeforeJoinOptions.cs @@ -0,0 +1,39 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// Input parameters for the function. + /// + public struct AddNotifyRoomBeforeJoinOptions + { + /// + /// The Product User ID of the user trying to request this operation. + /// + public ProductUserId LocalUserId { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRoomBeforeJoinOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + + public void Set(ref AddNotifyRoomBeforeJoinOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.ADDNOTIFYROOMBEFOREJOIN_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyRoomStatisticsUpdatedOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyRoomStatisticsUpdatedOptions.cs new file mode 100644 index 0000000..e5983a7 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/AddNotifyRoomStatisticsUpdatedOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is used to call . + /// + public struct AddNotifyRoomStatisticsUpdatedOptions + { + /// + /// The Product User ID of the user trying to request this operation. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room this event is registered on. + /// + public Utf8String RoomName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct AddNotifyRoomStatisticsUpdatedOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + + public void Set(ref AddNotifyRoomStatisticsUpdatedOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.ADDNOTIFYROOMSTATISTICSUPDATED_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RoomName, ref m_RoomName); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RoomName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/BlockParticipantCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/BlockParticipantCallbackInfo.cs new file mode 100644 index 0000000..f733323 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/BlockParticipantCallbackInfo.cs @@ -0,0 +1,97 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is passed in with a call to . + /// + public struct BlockParticipantCallbackInfo : ICallbackInfo + { + /// + /// This returns: + /// if the channel was successfully blocked. + /// otherwise. + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the user who initiated this request. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room the users should be blocked on. + /// + public Utf8String RoomName { get; set; } + + /// + /// The Product User ID of the participant being blocked + /// + public ProductUserId ParticipantId { get; set; } + + /// + /// The block state that should have been set + /// + public bool Blocked { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct BlockParticipantCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + private IntPtr m_ParticipantId; + private int m_Blocked; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out BlockParticipantCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String RoomNamePublic; + Helper.Get(m_RoomName, out RoomNamePublic); + other.RoomName = RoomNamePublic; + ProductUserId ParticipantIdPublic; + Helper.Get(m_ParticipantId, out ParticipantIdPublic); + other.ParticipantId = ParticipantIdPublic; + bool BlockedPublic; + Helper.Get(m_Blocked, out BlockedPublic); + other.Blocked = BlockedPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/BlockParticipantOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/BlockParticipantOptions.cs new file mode 100644 index 0000000..d094f7b --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/BlockParticipantOptions.cs @@ -0,0 +1,62 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is passed in with a call to . + /// + public struct BlockParticipantOptions + { + /// + /// Product User ID of the user trying to request this operation. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room the users should be blocked on. + /// + public Utf8String RoomName { get; set; } + + /// + /// Product User ID of the participant to block + /// + public ProductUserId ParticipantId { get; set; } + + /// + /// Block or unblock the participant + /// + public bool Blocked { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct BlockParticipantOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + private IntPtr m_ParticipantId; + private int m_Blocked; + + public void Set(ref BlockParticipantOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.BLOCKPARTICIPANT_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RoomName, ref m_RoomName); + Helper.Set(other.ParticipantId, ref m_ParticipantId); + Helper.Set(other.Blocked, ref m_Blocked); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RoomName); + Helper.Dispose(ref m_ParticipantId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/DisconnectedCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/DisconnectedCallbackInfo.cs new file mode 100644 index 0000000..2ef8ae1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/DisconnectedCallbackInfo.cs @@ -0,0 +1,82 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is passed in with a call to registered event. + /// + public struct DisconnectedCallbackInfo : ICallbackInfo + { + /// + /// This returns: + /// The room was left cleanly. + /// : There was a network issue connecting to the server (retryable). + /// : The user has been kicked by the server (retryable). + /// : A known error occurred during interaction with the server (retryable). + /// Unexpected error (retryable). + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the user who initiated this request. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room associated with this event. + /// + public Utf8String RoomName { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct DisconnectedCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out DisconnectedCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String RoomNamePublic; + Helper.Get(m_RoomName, out RoomNamePublic); + other.RoomName = RoomNamePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomCallbackInfo.cs new file mode 100644 index 0000000..b7baaa1 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomCallbackInfo.cs @@ -0,0 +1,93 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is passed in with a call to . + /// + public struct JoinRoomCallbackInfo : ICallbackInfo + { + /// + /// This returns: + /// if the channel was successfully joined. + /// : unable to connect to RTC servers (retryable). + /// : if the token is invalid (not retryable). + /// : if the room cannot accept more participants (not retryable). + /// : if the room name belongs to the Lobby voice system (not retryable). + /// otherwise (retryable). + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the user who initiated this request. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room the user was trying to join. + /// + public Utf8String RoomName { get; set; } + + /// + /// The room option items. + /// + public Option[] RoomOptions { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinRoomCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + private uint m_RoomOptionsCount; + private IntPtr m_RoomOptions; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out JoinRoomCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String RoomNamePublic; + Helper.Get(m_RoomName, out RoomNamePublic); + other.RoomName = RoomNamePublic; + Option[] RoomOptionsPublic; + Helper.Get(m_RoomOptions, out RoomOptionsPublic, m_RoomOptionsCount, false); + other.RoomOptions = RoomOptionsPublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomFlags.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomFlags.cs new file mode 100644 index 0000000..f14831e --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomFlags.cs @@ -0,0 +1,42 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// Join room flags. + /// + [Flags] + public enum JoinRoomFlags : uint + { + /// + /// No flags. + /// + None = 0x0, + /// + /// Enables echo mode. + /// This can be used during development to have the server send your voice back to you so you don't need 2 clients to test + /// if voice is being sent and received. + /// + /// + EnableEcho = 0x01, + /// + /// Enables the (optional) data channel feature for RTC rooms. This feature allows members of a room to send packets to all + /// members of a room they are in, and automatically receive data packets sent by other players in that room. + /// Data packets sent this way will be automatically relayed by EOS RTC servers to all other members of the room that are listening. + /// It is not currently possible to send packets to only a subset of members of a room chosen by the sender, all members + /// listening will receive the data. + /// + /// + EnableDatachannel = 0x04, + /// + /// The flag is reserved for future use. + /// + /// + ReservedVoiceFeature = 0x08 + } + +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomOptions.cs new file mode 100644 index 0000000..691c9f2 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/JoinRoomOptions.cs @@ -0,0 +1,94 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is used to call . + /// + public struct JoinRoomOptions + { + /// + /// The product user id of the user trying to request this operation. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room the user would like to join. + /// + public Utf8String RoomName { get; set; } + + /// + /// The room the user would like to join. + /// + public Utf8String ClientBaseUrl { get; set; } + + /// + /// Authorization credential token to join the room. + /// + public Utf8String ParticipantToken { get; set; } + + /// + /// The participant id used to join the room. If set to the LocalUserId will be used instead. + /// + public ProductUserId ParticipantId { get; set; } + + /// + /// Join room flags, e.g. . This is a bitwise-or union of the defined flags. + /// + public JoinRoomFlags Flags { get; set; } + + /// + /// Enable or disable Manual Audio Input. If manual audio input is enabled audio recording is not started and the audio + /// buffers must be passed manually using . + /// + public bool ManualAudioInputEnabled { get; set; } + + /// + /// Enable or disable Manual Audio Output. If manual audio output is enabled audio rendering is not started and the audio + /// buffers must be received with and rendered manually. + /// + public bool ManualAudioOutputEnabled { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct JoinRoomOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + private IntPtr m_ClientBaseUrl; + private IntPtr m_ParticipantToken; + private IntPtr m_ParticipantId; + private JoinRoomFlags m_Flags; + private int m_ManualAudioInputEnabled; + private int m_ManualAudioOutputEnabled; + + public void Set(ref JoinRoomOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.JOINROOM_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RoomName, ref m_RoomName); + Helper.Set(other.ClientBaseUrl, ref m_ClientBaseUrl); + Helper.Set(other.ParticipantToken, ref m_ParticipantToken); + Helper.Set(other.ParticipantId, ref m_ParticipantId); + m_Flags = other.Flags; + Helper.Set(other.ManualAudioInputEnabled, ref m_ManualAudioInputEnabled); + Helper.Set(other.ManualAudioOutputEnabled, ref m_ManualAudioOutputEnabled); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RoomName); + Helper.Dispose(ref m_ClientBaseUrl); + Helper.Dispose(ref m_ParticipantToken); + Helper.Dispose(ref m_ParticipantId); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/LeaveRoomCallbackInfo.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/LeaveRoomCallbackInfo.cs new file mode 100644 index 0000000..1e070d5 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/LeaveRoomCallbackInfo.cs @@ -0,0 +1,80 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is passed in with a call to . + /// + public struct LeaveRoomCallbackInfo : ICallbackInfo + { + /// + /// This returns: + /// if the channel was successfully left. + /// if the room name belongs to the Lobby voice system. + /// otherwise. + /// + public Result ResultCode { get; set; } + + /// + /// Client-specified data passed into . + /// + public object ClientData { get; set; } + + /// + /// The Product User ID of the user who initiated this request. + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room the user was trying to leave. + /// + public Utf8String RoomName { get; set; } + + public object GetClientData() + { + return ClientData; + } + + public Result? GetResultCode() + { + return ResultCode; + } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveRoomCallbackInfoInternal : ICallbackInfoInternal, IGettable + { + private Result m_ResultCode; + private IntPtr m_ClientData; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + + public IntPtr ClientDataPointer + { + get + { + return m_ClientData; + } + } + + public void Get(out LeaveRoomCallbackInfo other) + { + other = default; + + other.ResultCode = m_ResultCode; + object ClientDataPublic; + Helper.Get(m_ClientData, out ClientDataPublic); + other.ClientData = ClientDataPublic; + ProductUserId LocalUserIdPublic; + Helper.Get(m_LocalUserId, out LocalUserIdPublic); + other.LocalUserId = LocalUserIdPublic; + Utf8String RoomNamePublic; + Helper.Get(m_RoomName, out RoomNamePublic); + other.RoomName = RoomNamePublic; + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/LeaveRoomOptions.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/LeaveRoomOptions.cs new file mode 100644 index 0000000..9257b1d --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/LeaveRoomOptions.cs @@ -0,0 +1,47 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is used to call . + /// + public struct LeaveRoomOptions + { + /// + /// Product User ID of the user requesting to leave the room + /// + public ProductUserId LocalUserId { get; set; } + + /// + /// The room to leave. + /// + public Utf8String RoomName { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct LeaveRoomOptionsInternal : ISettable + { + private int m_ApiVersion; + private IntPtr m_LocalUserId; + private IntPtr m_RoomName; + + public void Set(ref LeaveRoomOptions other) + { + Dispose(); + + m_ApiVersion = RTCInterface.LEAVEROOM_API_LATEST; + Helper.Set(other.LocalUserId, ref m_LocalUserId); + Helper.Set(other.RoomName, ref m_RoomName); + } + + public void Dispose() + { + Helper.Dispose(ref m_LocalUserId); + Helper.Dispose(ref m_RoomName); + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnBlockParticipantCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnBlockParticipantCallback.cs new file mode 100644 index 0000000..9ca5775 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnBlockParticipantCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Callback for completion of block participants request. + /// + public delegate void OnBlockParticipantCallback(ref BlockParticipantCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnBlockParticipantCallbackInternal(ref BlockParticipantCallbackInfoInternal data); + + internal static class OnBlockParticipantCallbackInternalImplementation + { + private static OnBlockParticipantCallbackInternal s_Delegate; + public static OnBlockParticipantCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnBlockParticipantCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnBlockParticipantCallbackInternal))] + public static void EntryPoint(ref BlockParticipantCallbackInfoInternal data) + { + OnBlockParticipantCallback callback; + BlockParticipantCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnDisconnectedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnDisconnectedCallback.cs new file mode 100644 index 0000000..c674853 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnDisconnectedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// A containing the output information and result + /// + public delegate void OnDisconnectedCallback(ref DisconnectedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnDisconnectedCallbackInternal(ref DisconnectedCallbackInfoInternal data); + + internal static class OnDisconnectedCallbackInternalImplementation + { + private static OnDisconnectedCallbackInternal s_Delegate; + public static OnDisconnectedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnDisconnectedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnDisconnectedCallbackInternal))] + public static void EntryPoint(ref DisconnectedCallbackInfoInternal data) + { + OnDisconnectedCallback callback; + DisconnectedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnJoinRoomCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnJoinRoomCallback.cs new file mode 100644 index 0000000..951cc1a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnJoinRoomCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Callback for completion of room join request. + /// + public delegate void OnJoinRoomCallback(ref JoinRoomCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnJoinRoomCallbackInternal(ref JoinRoomCallbackInfoInternal data); + + internal static class OnJoinRoomCallbackInternalImplementation + { + private static OnJoinRoomCallbackInternal s_Delegate; + public static OnJoinRoomCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnJoinRoomCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnJoinRoomCallbackInternal))] + public static void EntryPoint(ref JoinRoomCallbackInfoInternal data) + { + OnJoinRoomCallback callback; + JoinRoomCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnLeaveRoomCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnLeaveRoomCallback.cs new file mode 100644 index 0000000..4ff9974 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnLeaveRoomCallback.cs @@ -0,0 +1,45 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Callback for completion of room leave request. + /// + public delegate void OnLeaveRoomCallback(ref LeaveRoomCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnLeaveRoomCallbackInternal(ref LeaveRoomCallbackInfoInternal data); + + internal static class OnLeaveRoomCallbackInternalImplementation + { + private static OnLeaveRoomCallbackInternal s_Delegate; + public static OnLeaveRoomCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnLeaveRoomCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnLeaveRoomCallbackInternal))] + public static void EntryPoint(ref LeaveRoomCallbackInfoInternal data) + { + OnLeaveRoomCallback callback; + LeaveRoomCallbackInfo callbackInfo; + if (Helper.TryGetAndRemoveCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnParticipantStatusChangedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnParticipantStatusChangedCallback.cs new file mode 100644 index 0000000..119f794 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnParticipantStatusChangedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// A containing the output information and result + /// + public delegate void OnParticipantStatusChangedCallback(ref ParticipantStatusChangedCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnParticipantStatusChangedCallbackInternal(ref ParticipantStatusChangedCallbackInfoInternal data); + + internal static class OnParticipantStatusChangedCallbackInternalImplementation + { + private static OnParticipantStatusChangedCallbackInternal s_Delegate; + public static OnParticipantStatusChangedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnParticipantStatusChangedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnParticipantStatusChangedCallbackInternal))] + public static void EntryPoint(ref ParticipantStatusChangedCallbackInfoInternal data) + { + OnParticipantStatusChangedCallback callback; + ParticipantStatusChangedCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnRoomBeforeJoinCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnRoomBeforeJoinCallback.cs new file mode 100644 index 0000000..3359ec3 --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnRoomBeforeJoinCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Function prototype definition for notifications that comes from + /// + /// + /// containing the RTC room name which is about to be created and joined. + /// + public delegate void OnRoomBeforeJoinCallback(ref RoomBeforeJoinCallbackInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRoomBeforeJoinCallbackInternal(ref RoomBeforeJoinCallbackInfoInternal data); + + internal static class OnRoomBeforeJoinCallbackInternalImplementation + { + private static OnRoomBeforeJoinCallbackInternal s_Delegate; + public static OnRoomBeforeJoinCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRoomBeforeJoinCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRoomBeforeJoinCallbackInternal))] + public static void EntryPoint(ref RoomBeforeJoinCallbackInfoInternal data) + { + OnRoomBeforeJoinCallback callback; + RoomBeforeJoinCallbackInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnRoomStatisticsUpdatedCallback.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnRoomStatisticsUpdatedCallback.cs new file mode 100644 index 0000000..3f112df --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/OnRoomStatisticsUpdatedCallback.cs @@ -0,0 +1,48 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + + /// + /// Function prototype definition for notifications that come from + /// + /// + /// A containing the output information and result + /// + public delegate void OnRoomStatisticsUpdatedCallback(ref RoomStatisticsUpdatedInfo data); + + [UnmanagedFunctionPointer(Common.LIBRARY_CALLING_CONVENTION)] + internal delegate void OnRoomStatisticsUpdatedCallbackInternal(ref RoomStatisticsUpdatedInfoInternal data); + + internal static class OnRoomStatisticsUpdatedCallbackInternalImplementation + { + private static OnRoomStatisticsUpdatedCallbackInternal s_Delegate; + public static OnRoomStatisticsUpdatedCallbackInternal Delegate + { + get + { + if (s_Delegate == null) + { + s_Delegate = new OnRoomStatisticsUpdatedCallbackInternal(EntryPoint); + } + + return s_Delegate; + } + } + + [MonoPInvokeCallback(typeof(OnRoomStatisticsUpdatedCallbackInternal))] + public static void EntryPoint(ref RoomStatisticsUpdatedInfoInternal data) + { + OnRoomStatisticsUpdatedCallback callback; + RoomStatisticsUpdatedInfo callbackInfo; + if (Helper.TryGetCallback(ref data, out callback, out callbackInfo)) + { + callback(ref callbackInfo); + } + } + } +} diff --git a/FusionAPI/Dependencies/EOSSDK/Generated/RTC/Option.cs b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/Option.cs new file mode 100644 index 0000000..45a255a --- /dev/null +++ b/FusionAPI/Dependencies/EOSSDK/Generated/RTC/Option.cs @@ -0,0 +1,44 @@ +// Copyright Epic Games, Inc. All Rights Reserved. +// This file is automatically generated. Changes to this file may be overwritten. + +using System; +using System.Runtime.InteropServices; + +namespace Epic.OnlineServices.RTC +{ + /// + /// This struct is used to get information about a specific option. + /// + public struct Option + { + /// + /// The unique key of the option. The max size of the is . + /// + public Utf8String Key { get; set; } + + /// + /// The value of the option. The max size of the is . + /// + public Utf8String Value { get; set; } + } + + [StructLayout(LayoutKind.Sequential)] + internal struct OptionInternal : IGettable