[Symbian Installer File] Add all known enumerations.

This commit is contained in:
2023-10-07 00:33:12 +01:00
parent 5a614bd375
commit 1753c43836

View File

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