// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.Ecom { /// /// Contains information about a single item within the catalog. Instances of this structure are created /// by . They must be passed to . /// public class CatalogItem : ISettable { /// /// Product namespace in which this item exists /// public string CatalogNamespace { get; set; } /// /// The ID of this item /// public string Id { get; set; } /// /// The entitlement name associated with this item /// public string EntitlementName { get; set; } /// /// Localized UTF-8 title of this item /// public string TitleText { get; set; } /// /// Localized UTF-8 description of this item /// public string DescriptionText { get; set; } /// /// Localized UTF-8 long description of this item /// public string LongDescriptionText { get; set; } /// /// Localized UTF-8 technical details of this item /// public string TechnicalDetailsText { get; set; } /// /// Localized UTF-8 developer of this item /// public string DeveloperText { get; set; } /// /// The type of item as defined in the catalog /// public EcomItemType ItemType { get; set; } /// /// If not -1 then this is the POSIX timestamp that the entitlement will end /// public long EntitlementEndTimestamp { get; set; } internal void Set(CatalogItemInternal? other) { if (other != null) { CatalogNamespace = other.Value.CatalogNamespace; Id = other.Value.Id; EntitlementName = other.Value.EntitlementName; TitleText = other.Value.TitleText; DescriptionText = other.Value.DescriptionText; LongDescriptionText = other.Value.LongDescriptionText; TechnicalDetailsText = other.Value.TechnicalDetailsText; DeveloperText = other.Value.DeveloperText; ItemType = other.Value.ItemType; EntitlementEndTimestamp = other.Value.EntitlementEndTimestamp; } } public void Set(object other) { Set(other as CatalogItemInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CatalogItemInternal : ISettable, System.IDisposable { private int m_ApiVersion; private System.IntPtr m_CatalogNamespace; private System.IntPtr m_Id; private System.IntPtr m_EntitlementName; private System.IntPtr m_TitleText; private System.IntPtr m_DescriptionText; private System.IntPtr m_LongDescriptionText; private System.IntPtr m_TechnicalDetailsText; private System.IntPtr m_DeveloperText; private EcomItemType m_ItemType; private long m_EntitlementEndTimestamp; public string CatalogNamespace { get { string value; Helper.TryMarshalGet(m_CatalogNamespace, out value); return value; } set { Helper.TryMarshalSet(ref m_CatalogNamespace, value); } } public string Id { get { string value; Helper.TryMarshalGet(m_Id, out value); return value; } set { Helper.TryMarshalSet(ref m_Id, value); } } public string EntitlementName { get { string value; Helper.TryMarshalGet(m_EntitlementName, out value); return value; } set { Helper.TryMarshalSet(ref m_EntitlementName, value); } } public string TitleText { get { string value; Helper.TryMarshalGet(m_TitleText, out value); return value; } set { Helper.TryMarshalSet(ref m_TitleText, value); } } public string DescriptionText { get { string value; Helper.TryMarshalGet(m_DescriptionText, out value); return value; } set { Helper.TryMarshalSet(ref m_DescriptionText, value); } } public string LongDescriptionText { get { string value; Helper.TryMarshalGet(m_LongDescriptionText, out value); return value; } set { Helper.TryMarshalSet(ref m_LongDescriptionText, value); } } public string TechnicalDetailsText { get { string value; Helper.TryMarshalGet(m_TechnicalDetailsText, out value); return value; } set { Helper.TryMarshalSet(ref m_TechnicalDetailsText, value); } } public string DeveloperText { get { string value; Helper.TryMarshalGet(m_DeveloperText, out value); return value; } set { Helper.TryMarshalSet(ref m_DeveloperText, value); } } public EcomItemType ItemType { get { return m_ItemType; } set { m_ItemType = value; } } public long EntitlementEndTimestamp { get { return m_EntitlementEndTimestamp; } set { m_EntitlementEndTimestamp = value; } } public void Set(CatalogItem other) { if (other != null) { m_ApiVersion = EcomInterface.CatalogitemApiLatest; CatalogNamespace = other.CatalogNamespace; Id = other.Id; EntitlementName = other.EntitlementName; TitleText = other.TitleText; DescriptionText = other.DescriptionText; LongDescriptionText = other.LongDescriptionText; TechnicalDetailsText = other.TechnicalDetailsText; DeveloperText = other.DeveloperText; ItemType = other.ItemType; EntitlementEndTimestamp = other.EntitlementEndTimestamp; } } public void Set(object other) { Set(other as CatalogItem); } public void Dispose() { Helper.TryMarshalDispose(ref m_CatalogNamespace); Helper.TryMarshalDispose(ref m_Id); Helper.TryMarshalDispose(ref m_EntitlementName); Helper.TryMarshalDispose(ref m_TitleText); Helper.TryMarshalDispose(ref m_DescriptionText); Helper.TryMarshalDispose(ref m_LongDescriptionText); Helper.TryMarshalDispose(ref m_TechnicalDetailsText); Helper.TryMarshalDispose(ref m_DeveloperText); } } }