diff --git a/Aaru.Archives/Symbian/Enums.cs b/Aaru.Archives/Symbian/Enums.cs index 191939a26..b922c68bf 100644 --- a/Aaru.Archives/Symbian/Enums.cs +++ b/Aaru.Archives/Symbian/Enums.cs @@ -38,14 +38,434 @@ namespace Aaru.Archives; [SuppressMessage("ReSharper", "UnusedMember.Local")] [SuppressMessage("ReSharper", "UnusedType.Local")] [SuppressMessage("ReSharper", "UnusedType.Global")] +[SuppressMessage("ReSharper", "InconsistentNaming")] public partial class Symbian { +#region Nested type: Attribute + + enum Attribute : uint + { + /// + /// + /// + Manufacturer = 0x00000000, + /// + /// 0x0100 = 1.00 + /// + ManufacturerHardwareRev = 0x00000001, + /// + /// 0x0100 = 1.00 + /// + ManufacturerSoftwareRev = 0x00000002, + /// + /// Manufacturer specific + /// + ManufacturerSoftwareBuild = 0x00000003, + Model = 0x00000004, + /// + /// Device specific values for products as defined in epoc32\include\hal_data.h + /// + MachineUid = 0x00000005, + /// + /// + /// + DeviceFamily = 0x00000006, + /// + /// 0x0100 = 1.00 + /// + DeviceFamilyRev = 0x00000007, + /// + /// + /// + CPU = 0x00000008, + /// + /// + /// + CPUArch = 0x00000009, + /// + /// + /// + CPUABI = 0x0000000a, + /// + /// CPU clock speed / 1024, e.g. 36864=36MHz + /// + CPUSpeed = 0x0000000b, + /// + /// Tick period in microseconds + /// + SystemTickPeriod = 0x0000000e, + /// + /// Approximate speed relative to Psion Series 5 = 100 + /// + SystemSpeed = 0x0000000e, + /// + /// Total RAM size in bytes + /// + MemoryRAM = 0x0000000f, + /// + /// Free RAM size in bytes + /// + MemoryRAMFree = 0x00000010, + /// + /// Total ROM size + /// + MemoryROM = 0x00000011, + /// + /// Size of memory management unit pages + /// + MemoryPageSize = 0x00000012, + /// + /// 0=none, 1=supported + /// + PowerBackup = 0x00000015, + /// + /// 0=none, 1=keypad, 2=full, 3=both + /// + Keyboard = 0x00000018, + /// + /// Number of device specific keys + /// + KeyboardDeviceKeys = 0x00000019, + /// + /// Number of application keys + /// + KeyboardAppKeys = 0x0000001a, + /// + /// 0=none, 1=supported + /// + KeyboardClick = 0x0000001b, + KeyboardClickVolumeMax = 0x0000001e, + /// + /// Screen width in pixels + /// + DisplayXPixels = 0x0000001f, + /// + /// Screen height in pixels + /// + DisplayYPixels = 0x00000020, + /// + /// Screen width in twips (1/1440 inch) + /// + DisplayXTwips = 0x00000021, + /// + /// Screen height in twips (1/1440 inch) + /// + DisplayYTwips = 0x00000022, + /// + /// 2, 4, 16, 256, 65536, etc + /// + DisplayColors = 0x00000023, + DisplayContrastMax = 0x00000026, + /// + /// 0=none, 1=supported + /// + Backlight = 0x00000027, + /// + /// 0=none, 1=supported + /// + Pen = 0x00000029, + /// + /// Pen horizontal resolution + /// + PenX = 0x0000002a, + /// + /// Pen vertical resolution + /// + PenY = 0x0000002b, + /// + /// 0=no 1=yes + /// + PenDisplayOn = 0x0000002c, + /// + /// 0=none, 1=supported + /// + PenClick = 0x0000002d, + PenClickVolumeMax = 0x00000030, + /// + /// 0=none, 1=supported + /// + Mouse = 0x00000031, + /// + /// Mouse horizontal resolution + /// + MouseX = 0x00000032, + /// + /// Mouse vertical resolution + /// + MouseY = 0x00000033, + /// + /// Number of mouse buttons + /// + MouseButtons = 0x00000037, + /// + /// 0=none, 1=supported + /// + CaseSwitch = 0x0000003a, + /// + /// Number of LEDs + /// + LEDs = 0x0000003d, + /// + /// 0=none, 1=supported + /// + IntegratedPhone = 0x0000003f, + DisplayBrightnessMax = 0x00000041, + KeyboardBacklightState = 0x00000042, + AccessoryPower = 0x00000043, + /// + /// Number of supported HAL attributes + /// + NumHalAttributes = 0x00000059, + /// + /// Machine language + /// + Language = 0x00001000, + /// + /// 0=Symbian OS based install, 1=installation via a PC + /// + RemoteInstall = 0x00001001 + } + +#endregion + +#region Nested type: ConditionalType + + enum ConditionalType : uint + { + /// + /// a == b + /// + Equals, + /// + /// a != b + /// + Differs, + /// + /// a > b + /// + GreaterThan, + /// + /// a < b + /// + LessThan, + /// + /// a >= b + /// + GreaterOrEqualThan, + /// + /// a <= b + /// + LessOrEqualThan, + /// + /// a AND b + /// + And, + /// + /// a OR b + /// + Or, + /// + /// exists(filename) + /// + Exists, + /// + /// devcap(capability) + /// + DeviceCapability, + /// + /// appcap(uid, capability) + /// + ApplicationCapability, + /// + /// NOT a + /// + Not, + /// + /// String + /// + String, + /// + /// Attribute + /// + Attribute, + /// + /// Number + /// + Number + } + +#endregion + +#region Nested type: CpuAbiCode + + enum CpuAbiCode + { + ARM4 = 0, + ARMI = 1, + Thumb = 2, + MCORE = 3, + MSVC = 4 + } + +#endregion + +#region Nested type: CpuArchitecture + + enum CpuArchitecture + { + ARM4 = 0x400, + ARM4T = 0x410, + ARM5 = 0x500, + M340 = 0x300 + } + +#endregion + +#region Nested type: CpuCode + + enum CpuCode + { + ARM = 0, + MCORE = 1, + x86 = 2 + } + +#endregion + +#region Nested type: DeviceFamilyCode + + enum DeviceFamilyCode + { + Crystal = 0, + Pearl = 1, + Quartz = 2 + } + +#endregion + +#region Nested type: FileDetails + + /// + /// Gives some specific details about how to handle some special files + /// + enum FileDetails : uint + { + /// + /// Show the continue button and continue installing + /// + TextContinue = 0, + /// + /// Show a yes and a no button and skip next file on no + /// + TextSkip = 1, + /// + /// Show a yes and a no button and abort installation on no + /// + TextAbort = 2, + /// + /// Show a yes and a no button and abort and undo installation on no + /// + TextExit = 3, + /// + /// Run during installation + /// + RunInstall = 0, + /// + /// Run during uninstallation + /// + RunRemove = 1, + /// + /// Run during both installation and uninstallation + /// + RunBoth = 2, + /// + /// Works as a flag. Close when installation is complete. + /// + RunsEnd = 0x100, + /// + /// Works as a flag. Wait for it to close before continuing. + /// + RunWait = 0x200, + /// + /// Works as a flag. Close when installation is complete. + /// + OpenClose = 0x100, + /// + /// Works as a flag. Wait for it to close before continuing. + /// + OpenWait = 0x200 + } + +#endregion + +#region Nested type: FileRecordType + + /// + /// Define the file record type and therefore its structure + /// + enum FileRecordType : uint + { + /// + /// Points to a single file + /// + SimpleFile = 0, + /// + /// Points to an array of files sorted by the language codes + /// + MultipleLanguageFiles = 1, + /// + /// Points to an array of option strings + /// + Options = 2, + If = 3, + ElseIf = 4, + Else = 5, + EndIf = 6 + } + +#endregion + +#region Nested type: FileType + + /// + /// Defines the file type + /// + enum FileType : uint + { + /// + /// Standard file + /// + File = 0, + /// + /// Text file to show during installation + /// + FileText = 1, + /// + /// SIS component + /// + Component = 2, + /// + /// File to run during installation + /// + FileRun = 3, + /// + /// File does not exist in SIS, will be created when application runs + /// + FileNull = 4, + /// + /// Open file using whatever app is associated with its MIME type + /// + FileMime = 5 + } + +#endregion + #region Nested type: LanguageCodes [SuppressMessage("ReSharper", "InconsistentNaming")] enum LanguageCodes { - Test, + Test = 0, EN, FR, GE, @@ -146,6 +566,22 @@ public partial class Symbian #endregion +#region Nested type: ManufacturerCode + + enum ManufacturerCode + { + Ericsson = 0, + Motorola = 1, + Nokia = 2, + Panasonic = 3, + Psion = 4, + Intel = 5, + Cogent = 6, + Cirrus = 7 + } + +#endregion + #region Nested type: SymbianOptions ///