using System;

namespace EOSDigital.API
{
	public interface IDownloadInfo
	{
		/// <summary>
		/// Pointer to the downloadable object
		/// </summary>
		IntPtr Reference { get; }

		/// <summary>
		/// The name of the file. You can change it before you pass it to the
		/// <see cref="Camera.DownloadFile(DownloadInfo)"/> or
		/// <see cref="Camera.DownloadFile(DownloadInfo, string)"/> method.
		/// </summary>
		string FileName { get; set; }

		/// <summary>
		/// The files size in bytes
		/// </summary>
		int Size { get; }

		/// <summary>
		/// The files size in bytes (as ulong)
		/// </summary>
		long Size64 { get; }

		/// <summary>
		/// States if the file is a RAW file or not
		/// </summary>
		bool IsRAW { get; }
	}
}