// 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 release within the catalog. Instances of this structure are /// created by . They must be passed to . /// public class CatalogRelease : ISettable { /// /// A list of compatible APP IDs /// public string[] CompatibleAppIds { get; set; } /// /// A list of compatible Platforms /// public string[] CompatiblePlatforms { get; set; } /// /// Release note for compatible versions /// public string ReleaseNote { get; set; } internal void Set(CatalogReleaseInternal? other) { if (other != null) { CompatibleAppIds = other.Value.CompatibleAppIds; CompatiblePlatforms = other.Value.CompatiblePlatforms; ReleaseNote = other.Value.ReleaseNote; } } public void Set(object other) { Set(other as CatalogReleaseInternal?); } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct CatalogReleaseInternal : ISettable, System.IDisposable { private int m_ApiVersion; private uint m_CompatibleAppIdCount; private System.IntPtr m_CompatibleAppIds; private uint m_CompatiblePlatformCount; private System.IntPtr m_CompatiblePlatforms; private System.IntPtr m_ReleaseNote; public string[] CompatibleAppIds { get { string[] value; Helper.TryMarshalGet(m_CompatibleAppIds, out value, m_CompatibleAppIdCount, true); return value; } set { Helper.TryMarshalSet(ref m_CompatibleAppIds, value, out m_CompatibleAppIdCount, true); } } public string[] CompatiblePlatforms { get { string[] value; Helper.TryMarshalGet(m_CompatiblePlatforms, out value, m_CompatiblePlatformCount, true); return value; } set { Helper.TryMarshalSet(ref m_CompatiblePlatforms, value, out m_CompatiblePlatformCount, true); } } public string ReleaseNote { get { string value; Helper.TryMarshalGet(m_ReleaseNote, out value); return value; } set { Helper.TryMarshalSet(ref m_ReleaseNote, value); } } public void Set(CatalogRelease other) { if (other != null) { m_ApiVersion = EcomInterface.CatalogreleaseApiLatest; CompatibleAppIds = other.CompatibleAppIds; CompatiblePlatforms = other.CompatiblePlatforms; ReleaseNote = other.ReleaseNote; } } public void Set(object other) { Set(other as CatalogRelease); } public void Dispose() { Helper.TryMarshalDispose(ref m_CompatibleAppIds); Helper.TryMarshalDispose(ref m_CompatiblePlatforms); Helper.TryMarshalDispose(ref m_ReleaseNote); } } }