// 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 struct CatalogItem { /// /// Product namespace in which this item exists /// public Utf8String CatalogNamespace { get; set; } /// /// The ID of this item /// public Utf8String Id { get; set; } /// /// The entitlement name associated with this item /// public Utf8String EntitlementName { get; set; } /// /// Localized UTF-8 title of this item /// public Utf8String TitleText { get; set; } /// /// Localized UTF-8 description of this item /// public Utf8String DescriptionText { get; set; } /// /// Localized UTF-8 long description of this item /// public Utf8String LongDescriptionText { get; set; } /// /// Localized UTF-8 technical details of this item /// public Utf8String TechnicalDetailsText { get; set; } /// /// Localized UTF-8 developer of this item /// public Utf8String 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(ref CatalogItemInternal other) { 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; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CatalogItemInternal : IGettable, 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 Utf8String CatalogNamespace { get { Utf8String value; Helper.Get(m_CatalogNamespace, out value); return value; } set { Helper.Set(value, ref m_CatalogNamespace); } } public Utf8String Id { get { Utf8String value; Helper.Get(m_Id, out value); return value; } set { Helper.Set(value, ref m_Id); } } public Utf8String EntitlementName { get { Utf8String value; Helper.Get(m_EntitlementName, out value); return value; } set { Helper.Set(value, ref m_EntitlementName); } } public Utf8String TitleText { get { Utf8String value; Helper.Get(m_TitleText, out value); return value; } set { Helper.Set(value, ref m_TitleText); } } public Utf8String DescriptionText { get { Utf8String value; Helper.Get(m_DescriptionText, out value); return value; } set { Helper.Set(value, ref m_DescriptionText); } } public Utf8String LongDescriptionText { get { Utf8String value; Helper.Get(m_LongDescriptionText, out value); return value; } set { Helper.Set(value, ref m_LongDescriptionText); } } public Utf8String TechnicalDetailsText { get { Utf8String value; Helper.Get(m_TechnicalDetailsText, out value); return value; } set { Helper.Set(value, ref m_TechnicalDetailsText); } } public Utf8String DeveloperText { get { Utf8String value; Helper.Get(m_DeveloperText, out value); return value; } set { Helper.Set(value, ref m_DeveloperText); } } 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(ref CatalogItem other) { 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(ref CatalogItem? other) { if (other.HasValue) { m_ApiVersion = EcomInterface.CatalogitemApiLatest; 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 Dispose() { Helper.Dispose(ref m_CatalogNamespace); Helper.Dispose(ref m_Id); Helper.Dispose(ref m_EntitlementName); Helper.Dispose(ref m_TitleText); Helper.Dispose(ref m_DescriptionText); Helper.Dispose(ref m_LongDescriptionText); Helper.Dispose(ref m_TechnicalDetailsText); Helper.Dispose(ref m_DeveloperText); } public void Get(out CatalogItem output) { output = new CatalogItem(); output.Set(ref this); } } }