2025-09-26 10:20:48 -04:00
|
|
|
using System.Xml.Serialization;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
2025-09-26 13:06:18 -04:00
|
|
|
namespace SabreTools.Data.Models.Metadata
|
2025-09-26 10:20:48 -04:00
|
|
|
{
|
|
|
|
|
[JsonObject("device"), XmlRoot("device")]
|
|
|
|
|
public class Device : DatItem
|
|
|
|
|
{
|
2026-04-02 02:18:08 -04:00
|
|
|
#region Properties
|
|
|
|
|
|
|
|
|
|
/// <remarks>(unknown|cartridge|floppydisk|harddisk|cylinder|cassette|punchcard|punchtape|printout|serial|parallel|snapshot|quickload|memcard|cdrom|magtape|romimage|midiin|midiout|picture|vidfile)</remarks>
|
|
|
|
|
public DeviceType? DeviceType { get; set; }
|
|
|
|
|
|
2026-04-02 02:43:29 -04:00
|
|
|
/// <remarks>(0|1) "0"</remarks>
|
|
|
|
|
public bool? Mandatory { get; set; }
|
|
|
|
|
|
2026-04-02 11:18:49 -04:00
|
|
|
public string? Tag { get; set; }
|
|
|
|
|
|
2026-04-02 02:18:08 -04:00
|
|
|
#endregion
|
|
|
|
|
|
2025-09-26 10:20:48 -04:00
|
|
|
#region Keys
|
|
|
|
|
|
|
|
|
|
/// <remarks>Extension[]</remarks>
|
|
|
|
|
[NoFilter]
|
|
|
|
|
public const string ExtensionKey = "extension";
|
|
|
|
|
|
|
|
|
|
/// <remarks>string</remarks>
|
|
|
|
|
public const string FixedImageKey = "fixed_image";
|
|
|
|
|
|
|
|
|
|
/// <remarks>Instance</remarks>
|
|
|
|
|
[NoFilter]
|
|
|
|
|
public const string InstanceKey = "instance";
|
|
|
|
|
|
|
|
|
|
/// <remarks>string</remarks>
|
|
|
|
|
public const string InterfaceKey = "interface";
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
2026-04-01 11:24:33 -04:00
|
|
|
public Device() => ItemType = ItemType.Device;
|
2025-09-26 10:20:48 -04:00
|
|
|
}
|
|
|
|
|
}
|