// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Friends { /// /// Structure containing information about a friend status update. /// public struct OnFriendsUpdateInfo : ICallbackInfo { /// /// Client-specified data passed into /// public object ClientData { get; set; } /// /// The Epic Account ID of the local user who is receiving the update /// public EpicAccountId LocalUserId { get; set; } /// /// The Epic Account ID of the user whose status is being updated. /// public EpicAccountId TargetUserId { get; set; } /// /// The previous status of the user. /// public FriendsStatus PreviousStatus { get; set; } /// /// The current status of the user. /// public FriendsStatus CurrentStatus { get; set; } public Result? GetResultCode() { return null; } internal void Set(ref OnFriendsUpdateInfoInternal other) { ClientData = other.ClientData; LocalUserId = other.LocalUserId; TargetUserId = other.TargetUserId; PreviousStatus = other.PreviousStatus; CurrentStatus = other.CurrentStatus; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct OnFriendsUpdateInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private System.IntPtr m_ClientData; private System.IntPtr m_LocalUserId; private System.IntPtr m_TargetUserId; private FriendsStatus m_PreviousStatus; private FriendsStatus m_CurrentStatus; 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 EpicAccountId LocalUserId { get { EpicAccountId value; Helper.Get(m_LocalUserId, out value); return value; } set { Helper.Set(value, ref m_LocalUserId); } } public EpicAccountId TargetUserId { get { EpicAccountId value; Helper.Get(m_TargetUserId, out value); return value; } set { Helper.Set(value, ref m_TargetUserId); } } public FriendsStatus PreviousStatus { get { return m_PreviousStatus; } set { m_PreviousStatus = value; } } public FriendsStatus CurrentStatus { get { return m_CurrentStatus; } set { m_CurrentStatus = value; } } public void Set(ref OnFriendsUpdateInfo other) { ClientData = other.ClientData; LocalUserId = other.LocalUserId; TargetUserId = other.TargetUserId; PreviousStatus = other.PreviousStatus; CurrentStatus = other.CurrentStatus; } public void Set(ref OnFriendsUpdateInfo? other) { if (other.HasValue) { ClientData = other.Value.ClientData; LocalUserId = other.Value.LocalUserId; TargetUserId = other.Value.TargetUserId; PreviousStatus = other.Value.PreviousStatus; CurrentStatus = other.Value.CurrentStatus; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_TargetUserId); } public void Get(out OnFriendsUpdateInfo output) { output = new OnFriendsUpdateInfo(); output.Set(ref this); } } }