// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.Connect
{
///
/// Input parameters for the function.
///
public class LoginOptions
{
///
/// Credentials specified for a given login method
///
public Credentials Credentials { get; set; }
///
/// Additional non-authoritative information about the local user.
///
/// This field is required to be set and only used when authenticating the user using Amazon, Apple, Google, Nintendo Account, Nintendo Service Account, Oculus or the Device ID feature login.
/// When using other identity providers, set to NULL.
///
public UserLoginInfo UserLoginInfo { get; set; }
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)]
internal struct LoginOptionsInternal : ISettable, System.IDisposable
{
private int m_ApiVersion;
private System.IntPtr m_Credentials;
private System.IntPtr m_UserLoginInfo;
public Credentials Credentials
{
set
{
Helper.TryMarshalSet(ref m_Credentials, value);
}
}
public UserLoginInfo UserLoginInfo
{
set
{
Helper.TryMarshalSet(ref m_UserLoginInfo, value);
}
}
public void Set(LoginOptions other)
{
if (other != null)
{
m_ApiVersion = ConnectInterface.LoginApiLatest;
Credentials = other.Credentials;
UserLoginInfo = other.UserLoginInfo;
}
}
public void Set(object other)
{
Set(other as LoginOptions);
}
public void Dispose()
{
Helper.TryMarshalDispose(ref m_Credentials);
Helper.TryMarshalDispose(ref m_UserLoginInfo);
}
}
}