// Copyright Epic Games, Inc. All Rights Reserved. // This file is automatically generated. Changes to this file may be overwritten. namespace Epic.OnlineServices.TitleStorage { /// /// Structure containing data for a chunk of a file being read /// public struct ReadFileDataCallbackInfo : ICallbackInfo { /// /// Client-specified data passed into the file request /// public object ClientData { get; set; } /// /// Product User ID of the local user who initiated this request (optional, will only be present in case it was provided during operation start) /// public ProductUserId LocalUserId { get; set; } /// /// The file name being read /// public Utf8String Filename { get; set; } /// /// The total file size of the file being read /// public uint TotalFileSizeBytes { get; set; } /// /// Is this chunk the last chunk of data? /// public bool IsLastChunk { get; set; } /// /// Pointer to the start of data to be read /// public System.ArraySegment DataChunk { get; set; } public Result? GetResultCode() { return null; } internal void Set(ref ReadFileDataCallbackInfoInternal other) { ClientData = other.ClientData; LocalUserId = other.LocalUserId; Filename = other.Filename; TotalFileSizeBytes = other.TotalFileSizeBytes; IsLastChunk = other.IsLastChunk; DataChunk = other.DataChunk; } } [System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential, Pack = 8)] internal struct ReadFileDataCallbackInfoInternal : ICallbackInfoInternal, IGettable, ISettable, System.IDisposable { private System.IntPtr m_ClientData; private System.IntPtr m_LocalUserId; private System.IntPtr m_Filename; private uint m_TotalFileSizeBytes; private int m_IsLastChunk; private uint m_DataChunkLengthBytes; private System.IntPtr m_DataChunk; 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 ProductUserId LocalUserId { get { ProductUserId value; Helper.Get(m_LocalUserId, out value); return value; } set { Helper.Set(value, ref m_LocalUserId); } } public Utf8String Filename { get { Utf8String value; Helper.Get(m_Filename, out value); return value; } set { Helper.Set(value, ref m_Filename); } } public uint TotalFileSizeBytes { get { return m_TotalFileSizeBytes; } set { m_TotalFileSizeBytes = value; } } public bool IsLastChunk { get { bool value; Helper.Get(m_IsLastChunk, out value); return value; } set { Helper.Set(value, ref m_IsLastChunk); } } public System.ArraySegment DataChunk { get { System.ArraySegment value; Helper.Get(m_DataChunk, out value, m_DataChunkLengthBytes); return value; } set { Helper.Set(value, ref m_DataChunk, out m_DataChunkLengthBytes); } } public void Set(ref ReadFileDataCallbackInfo other) { ClientData = other.ClientData; LocalUserId = other.LocalUserId; Filename = other.Filename; TotalFileSizeBytes = other.TotalFileSizeBytes; IsLastChunk = other.IsLastChunk; DataChunk = other.DataChunk; } public void Set(ref ReadFileDataCallbackInfo? other) { if (other.HasValue) { ClientData = other.Value.ClientData; LocalUserId = other.Value.LocalUserId; Filename = other.Value.Filename; TotalFileSizeBytes = other.Value.TotalFileSizeBytes; IsLastChunk = other.Value.IsLastChunk; DataChunk = other.Value.DataChunk; } } public void Dispose() { Helper.Dispose(ref m_ClientData); Helper.Dispose(ref m_LocalUserId); Helper.Dispose(ref m_Filename); Helper.Dispose(ref m_DataChunk); } public void Get(out ReadFileDataCallbackInfo output) { output = new ReadFileDataCallbackInfo(); output.Set(ref this); } } }