// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
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 false 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 string.
///
public Utf8String AccountId { get; set; }
///
/// Platform that the user is connected from.
///
/// This value may be set to an empty string.
///
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 string.
///
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 Result? GetResultCode()
{
return ResultCode;
}
internal void Set(ref VerifyIdTokenCallbackInfoInternal other)
{
ResultCode = other.ResultCode;
ClientData = other.ClientData;
ProductUserId = other.ProductUserId;
IsAccountInfoPresent = other.IsAccountInfoPresent;
AccountIdType = other.AccountIdType;
AccountId = other.AccountId;
Platform = other.Platform;
DeviceType = other.DeviceType;
ClientId = other.ClientId;
ProductId = other.ProductId;
SandboxId = other.SandboxId;
DeploymentId = other.DeploymentId;
}
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)]
internal struct VerifyIdTokenCallbackInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable
{
private Result m_ResultCode;
private System.IntPtr m_ClientData;
private System.IntPtr m_ProductUserId;
private int m_IsAccountInfoPresent;
private ExternalAccountType m_AccountIdType;
private System.IntPtr m_AccountId;
private System.IntPtr m_Platform;
private System.IntPtr m_DeviceType;
private System.IntPtr m_ClientId;
private System.IntPtr m_ProductId;
private System.IntPtr m_SandboxId;
private System.IntPtr m_DeploymentId;
public Result ResultCode
{
get
{
return m_ResultCode;
}
set
{
m_ResultCode = value;
}
}
public object ClientData
{
get
{
object value;
Helper.Get(m_ClientData, out value);
return value;
}
set
{
Helper.Set(value, ref m_ClientData);
}
}
public System.IntPtr ClientDataAddress
{
get
{
return m_ClientData;
}
}
public ProductUserId ProductUserId
{
get
{
ProductUserId value;
Helper.Get(m_ProductUserId, out value);
return value;
}
set
{
Helper.Set(value, ref m_ProductUserId);
}
}
public bool IsAccountInfoPresent
{
get
{
bool value;
Helper.Get(m_IsAccountInfoPresent, out value);
return value;
}
set
{
Helper.Set(value, ref m_IsAccountInfoPresent);
}
}
public ExternalAccountType AccountIdType
{
get
{
return m_AccountIdType;
}
set
{
m_AccountIdType = value;
}
}
public Utf8String AccountId
{
get
{
Utf8String value;
Helper.Get(m_AccountId, out value);
return value;
}
set
{
Helper.Set(value, ref m_AccountId);
}
}
public Utf8String Platform
{
get
{
Utf8String value;
Helper.Get(m_Platform, out value);
return value;
}
set
{
Helper.Set(value, ref m_Platform);
}
}
public Utf8String DeviceType
{
get
{
Utf8String value;
Helper.Get(m_DeviceType, out value);
return value;
}
set
{
Helper.Set(value, ref m_DeviceType);
}
}
public Utf8String ClientId
{
get
{
Utf8String value;
Helper.Get(m_ClientId, out value);
return value;
}
set
{
Helper.Set(value, ref m_ClientId);
}
}
public Utf8String ProductId
{
get
{
Utf8String value;
Helper.Get(m_ProductId, out value);
return value;
}
set
{
Helper.Set(value, ref m_ProductId);
}
}
public Utf8String SandboxId
{
get
{
Utf8String value;
Helper.Get(m_SandboxId, out value);
return value;
}
set
{
Helper.Set(value, ref m_SandboxId);
}
}
public Utf8String DeploymentId
{
get
{
Utf8String value;
Helper.Get(m_DeploymentId, out value);
return value;
}
set
{
Helper.Set(value, ref m_DeploymentId);
}
}
public void Set(ref VerifyIdTokenCallbackInfo other)
{
ResultCode = other.ResultCode;
ClientData = other.ClientData;
ProductUserId = other.ProductUserId;
IsAccountInfoPresent = other.IsAccountInfoPresent;
AccountIdType = other.AccountIdType;
AccountId = other.AccountId;
Platform = other.Platform;
DeviceType = other.DeviceType;
ClientId = other.ClientId;
ProductId = other.ProductId;
SandboxId = other.SandboxId;
DeploymentId = other.DeploymentId;
}
public void Set(ref VerifyIdTokenCallbackInfo? other)
{
if (other.HasValue)
{
ResultCode = other.Value.ResultCode;
ClientData = other.Value.ClientData;
ProductUserId = other.Value.ProductUserId;
IsAccountInfoPresent = other.Value.IsAccountInfoPresent;
AccountIdType = other.Value.AccountIdType;
AccountId = other.Value.AccountId;
Platform = other.Value.Platform;
DeviceType = other.Value.DeviceType;
ClientId = other.Value.ClientId;
ProductId = other.Value.ProductId;
SandboxId = other.Value.SandboxId;
DeploymentId = other.Value.DeploymentId;
}
}
public void Dispose()
{
Helper.Dispose(ref m_ClientData);
Helper.Dispose(ref m_ProductUserId);
Helper.Dispose(ref m_AccountId);
Helper.Dispose(ref m_Platform);
Helper.Dispose(ref m_DeviceType);
Helper.Dispose(ref m_ClientId);
Helper.Dispose(ref m_ProductId);
Helper.Dispose(ref m_SandboxId);
Helper.Dispose(ref m_DeploymentId);
}
public void Get(out VerifyIdTokenCallbackInfo output)
{
output = new VerifyIdTokenCallbackInfo();
output.Set(ref this);
}
}
}