// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. 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 Result? GetResultCode() { return ResultCode; } internal void Set(ref SendCustomInviteCallbackInfoInternal other) { ResultCode = other.ResultCode; ClientData = other.ClientData; LocalUserId = other.LocalUserId; TargetUserIds = other.TargetUserIds; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SendCustomInviteCallbackInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private Result m_ResultCode; private System.IntPtr m_ClientData; private System.IntPtr m_LocalUserId; private System.IntPtr m_TargetUserIds; private uint m_TargetUserIdsCount; 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 LocalUserId { get { ProductUserId value; Helper.Get(m_LocalUserId, out value); return value; } set { Helper.Set(value, ref m_LocalUserId); } } public ProductUserId[] TargetUserIds { get { ProductUserId[] value; Helper.GetHandle(m_TargetUserIds, out value, m_TargetUserIdsCount); return value; } set { Helper.Set(value, ref m_TargetUserIds, out m_TargetUserIdsCount); } } public void Set(ref SendCustomInviteCallbackInfo other) { ResultCode = other.ResultCode; ClientData = other.ClientData; LocalUserId = other.LocalUserId; TargetUserIds = other.TargetUserIds; } public void Set(ref SendCustomInviteCallbackInfo? other) { if (other.HasValue) { ResultCode = other.Value.ResultCode; ClientData = other.Value.ClientData; LocalUserId = other.Value.LocalUserId; TargetUserIds = other.Value.TargetUserIds; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_TargetUserIds); } public void Get(out SendCustomInviteCallbackInfo output) { output = new SendCustomInviteCallbackInfo(); output.Set(ref this); } } }