// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. #if DEBUG #define EOS_DEBUG #endif #if UNITY_EDITOR #define EOS_EDITOR #endif #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_PS4 || UNITY_XBOXONE || UNITY_SWITCH || UNITY_IOS || UNITY_ANDROID #define EOS_UNITY #endif #if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN || PLATFORM_64BITS || PLATFORM_32BITS #if UNITY_EDITOR_WIN || UNITY_64 || PLATFORM_64BITS #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_PS4 #define EOS_PLATFORM_PS4 #elif UNITY_XBOXONE #define EOS_PLATFORM_XBOXONE #elif UNITY_SWITCH #define EOS_PLATFORM_SWITCH #elif UNITY_IOS || __IOS__ #define EOS_PLATFORM_IOS #elif UNITY_ANDROID || __ANDROID__ #define EOS_PLATFORM_ANDROID #endif #if EOS_EDITOR #define EOS_DYNAMIC_BINDINGS #endif #if EOS_DYNAMIC_BINDINGS #if EOS_PLATFORM_WINDOWS_32 #define EOS_DYNAMIC_BINDINGS_NAME_TYPE3 #elif EOS_PLATFORM_OSX #define EOS_DYNAMIC_BINDINGS_NAME_TYPE2 #else #define EOS_DYNAMIC_BINDINGS_NAME_TYPE1 #endif #endif using System; using System.Runtime.InteropServices; namespace Epic.OnlineServices { public static class IOSBindings { #if EOS_DYNAMIC_BINDINGS_NAME_TYPE1 private const string EOS_Auth_LoginName = "EOS_Auth_Login"; #endif #if EOS_DYNAMIC_BINDINGS_NAME_TYPE2 private const string EOS_Auth_LoginName = "_EOS_Auth_Login"; #endif #if EOS_DYNAMIC_BINDINGS_NAME_TYPE3 private const string EOS_Auth_LoginName = "_EOS_Auth_Login@16"; #endif #if EOS_DYNAMIC_BINDINGS /// /// Hooks the dynamic SDK API bindings. EOS_DYNAMIC_BINDINGS or EOS_EDITOR must be set. /// /// The library handle to find functions in. The type is platform dependent, but would typically be . /// A delegate that gets a function pointer using the given library handle and function name. public static void Hook(TLibraryHandle libraryHandle, Func getFunctionPointer) { System.IntPtr functionPointer; functionPointer = getFunctionPointer(libraryHandle, EOS_Auth_LoginName); if (functionPointer == System.IntPtr.Zero) throw new DynamicBindingException(EOS_Auth_LoginName); EOS_Auth_Login = (EOS_Auth_LoginDelegate)Marshal.GetDelegateForFunctionPointer(functionPointer, typeof(EOS_Auth_LoginDelegate)); } #endif #if EOS_DYNAMIC_BINDINGS /// /// Unhooks the dynamic SDK API bindings. EOS_DYNAMIC_BINDINGS or EOS_EDITOR must be set. /// public static void Unhook() { EOS_Auth_Login = null; } #endif #if EOS_DYNAMIC_BINDINGS [UnmanagedFunctionPointer(Config.LibraryCallingConvention)] internal delegate void EOS_Auth_LoginDelegate(System.IntPtr handle, ref Auth.IOSLoginOptionsInternal options, System.IntPtr clientData, Auth.OnLoginCallbackInternal completionDelegate); internal static EOS_Auth_LoginDelegate EOS_Auth_Login; #endif #if !EOS_DYNAMIC_BINDINGS [DllImport(Config.LibraryName)] internal static extern void EOS_Auth_Login(System.IntPtr handle, ref Auth.IOSLoginOptionsInternal options, System.IntPtr clientData, Auth.OnLoginCallbackInternal completionDelegate); #endif } }