// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Sessions { /// /// An attribution value and its advertisement setting stored with a session. /// public class SessionDetailsAttribute : ISettable { /// /// Key/Value pair describing the attribute /// public AttributeData Data { get; set; } /// /// Is this attribution advertised with the backend or simply stored locally /// public SessionAttributeAdvertisementType AdvertisementType { get; set; } internal void Set(SessionDetailsAttributeInternal? other) { if (other != null) { Data = other.Value.Data; AdvertisementType = other.Value.AdvertisementType; } } public void Set(object other) { Set(other as SessionDetailsAttributeInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct SessionDetailsAttributeInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_Data; private SessionAttributeAdvertisementType m_AdvertisementType; public AttributeData Data { get { AttributeData value; Helper.TryMarshalGet(m_Data, out value); return value; } set { Helper.TryMarshalSet(ref m_Data, value); } } public SessionAttributeAdvertisementType AdvertisementType { get { return m_AdvertisementType; } set { m_AdvertisementType = value; } } public void Set(SessionDetailsAttribute other) { if (other != null) { m_ApiVersion = SessionDetails.SessiondetailsAttributeApiLatest; Data = other.Data; AdvertisementType = other.AdvertisementType; } } public void Set(object other) { Set(other as SessionDetailsAttribute); } public void Dispose() { Helper.TryMarshalDispose(ref m_Data); } } }