// Copyright Epic Games, Inc. All Rights Reserved.
// This file is automatically generated. Changes to this file may be overwritten.
namespace Epic.OnlineServices.AntiCheatCommon
{
public struct LogEventOptions
{
///
/// Optional client who this event is primarily associated with. If not applicable, use 0.
///
public System.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; }
}
[System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)]
internal struct LogEventOptionsInternal : ISettable, System.IDisposable
{
private int m_ApiVersion;
private System.IntPtr m_ClientHandle;
private uint m_EventId;
private uint m_ParamsCount;
private System.IntPtr m_Params;
public System.IntPtr ClientHandle
{
set
{
m_ClientHandle = value;
}
}
public uint EventId
{
set
{
m_EventId = value;
}
}
public LogEventParamPair[] Params
{
set
{
Helper.Set(ref value, ref m_Params, out m_ParamsCount);
}
}
public void Set(ref LogEventOptions other)
{
m_ApiVersion = AntiCheatCommonInterface.LogeventApiLatest;
ClientHandle = other.ClientHandle;
EventId = other.EventId;
Params = other.Params;
}
public void Set(ref LogEventOptions? other)
{
if (other.HasValue)
{
m_ApiVersion = AntiCheatCommonInterface.LogeventApiLatest;
ClientHandle = other.Value.ClientHandle;
EventId = other.Value.EventId;
Params = other.Value.Params;
}
}
public void Dispose()
{
Helper.Dispose(ref m_ClientHandle);
Helper.Dispose(ref m_Params);
}
}
}