using System;
namespace SabreTools.Metadata.DatItems
{
///
/// Determines which type of duplicate a file is
///
[Flags]
public enum DupeType
{
// Type of match
Hash = 1 << 0,
All = 1 << 1,
// Location of match
Internal = 1 << 2,
External = 1 << 3,
}
///
/// A subset of fields that can be used as keys
///
public enum ItemKey
{
NULL = 0,
Machine,
CRC16,
CRC,
CRC64,
MD2,
MD4,
MD5,
RIPEMD128,
RIPEMD160,
SHA1,
SHA256,
SHA384,
SHA512,
SpamSum,
}
///
/// Determine what type of file an item is
///
public enum ItemType
{
///
/// This is a fake flag that is used for filter only
///
NULL = 0,
// "Actionable" item types
/// "rom"
Rom,
/// "disk"
Disk,
/// "file"
File,
/// "media"
Media,
// "Auxiliary" item types
/// "adjuster"
Adjuster,
/// "analog"
Analog,
/// "archive"
Archive,
/// "biosset"
BiosSet,
/// "chip"
Chip,
/// "condition"
Condition,
/// "configuration"
Configuration,
/// "conflocation"
ConfLocation,
/// "confsetting"
ConfSetting,
/// "control"
Control,
/// "dataarea"
DataArea,
/// "device"
Device,
/// "device_ref", "deviceref"
DeviceRef,
/// "diplocation"
DipLocation,
/// "dipswitch"
DipSwitch,
/// "dipvalue"
DipValue,
/// "diskarea"
DiskArea,
/// "display"
Display,
/// "driver"
Driver,
/// "extension"
Extension,
/// "feature"
Feature,
/// "info"
Info,
/// "input"
Input,
/// "instance"
Instance,
/// "original"
Original,
/// "part"
Part,
/// "part_feature", "partfeature"
PartFeature,
/// "port"
Port,
/// "ramoption", "ram_option"
RamOption,
/// "release"
Release,
/// "release_details", "releasedetails"
ReleaseDetails,
/// "sample"
Sample,
/// "serials"
Serials,
/// "sharedfeat", "shared_feat", "sharedfeature", "shared_feature"
SharedFeat,
/// "slot"
Slot,
/// "slotoption", "slot_option"
SlotOption,
/// "softwarelist", "software_list"
SoftwareList,
/// "sound"
Sound,
/// "source_details", "sourcedetails"
SourceDetails,
/// "blank"
Blank = 99, // This is not a real type, only used internally
}
///
/// Determine what type of machine it is
///
[Flags]
public enum MachineType
{
/// "none"
None = 0,
/// "bios"
Bios = 1 << 0,
/// "device", "dev"
Device = 1 << 1,
/// "mechanical", "mech"
Mechanical = 1 << 2,
}
}