Conditions

A condition can be structured in any of the following ways:

Name Usage

condition-primitive

(condition)

AND

(condition) AND (condition)

OR

(condition) OR (condition)

NOT

NOT(condition)

Note: Specify the condition within braces, when using IF statement with NOT operator. For example:

IF NOT (MachineUid = 0x101fb3dd)

condition-primitive

A condition-primitive can be any of the following:

Usage Description

attrib=value

Condition to test the Equal to expression.

attrib<>value

Condition to test the Less than or greater than expression

attrib>value

Condition to test the Greater than expression.

attrib<value

Condition to test the Less than expression.

attrib>=value

Condition to test the Greater than or equal to expression.

attrib<=value

Condition to test Less than or equal to expression.

exists(filename)

Tests for the existence of a file.

appprop(uid,propid)

Retrieves the properties from another registry entry.

package(package_uid)

Tests for the existence of an installed package.

version(package_uid,rel_operator,v_major,v_minor,v_build)

Tests for the existence of a specific version of the installed package.

v_major = major component of the version (range 0-127); v_minor = minor component of the version (range 0-99); v_build = build component of the version (range 0-32,767)

attrib

attrib can be one of the attributes defined in HALData::TAttribute. These attributes correspond to hardware properties of the device. It must be specified in uppercase and without the initial letter E. The following attributes are supported:

PKG variable name

HALData attribute (as retrieved by HAL::Get())

MANUFACTURER

HALData::EManufacturer

MANUFACTURERHARDWAREREV

HALData::EManufacturerHardwareRev

MANUFACTURERSOFTWAREREV

HALData::EManufacturerSoftwareRev

MANUFACTURERSOFTWAREBUILD

HALData::EManufacturerSoftwareBuild

MODEL

HALData::EModel

MACHINEUID

HALData::EMachineUid

DEVICEFAMILY

HALData::EDeviceFamily

DEVICEFAMILYREV

HALData::EDeviceFamilyRev

CPU

HALData::ECPU

CPUARCH

HALData::ECPUArch

CPUABI

HALData::ECPUABI

CPUSPEED

HALData::ECPUSpeed

SYSTEMTICKPERIOD

HALData::ESystemTickPeriod

MEMORYRAM

HALData::EMemoryRAM

MEMORYRAMFREE

HALData::EMemoryRAMFree

MEMORYROM

HALData::EMemoryROM

MEMORYPAGESIZE

HALData::EMemoryPageSize

POWERBACKUP

HALData::EPowerBackup

KEYBOARD

HALData::EKeyboard

KEYBOARDDEVICEKEYS

HALData::EKeyboardDeviceKeys

KEYBOARDAPPKEYS

HALData::EKeyboardAppKeys

KEYBOARDCLICK

HALData::EKeyboardClick

KEYBOARDCLICKVOLUMEMAX

HALData::EKeyboardClickVolumeMax

DISPLAYXPIXELS

HALData::EDisplayXPixels

DISPLAYYPIXELS

HALData::EDisplayYPixels

DISPLAYXTWIPS

HALData::EDisplayXTwips

DISPLAYYTWIPS

HALData::EDisplayYTwips

DISPLAYCOLORS

HALData::EDisplayColors

DISPLAYCONTRASTMAX

HALData::EDisplayContrastMax

BACKLIGHT

HALData::EBacklight

PEN

HALData::EPen

PENX

HALData::EPenX

PENY

HALData::EPenY

PENDISPLAYON

HALData::EPenDisplayOn

PENCLICK

HALData::EPenClick

PENCLICKVOLUMEMAX

HALData::EPenClickVolumeMax

MOUSE

HALData::EMouse

MOUSEX

HALData::EMouseX

MOUSEY

HALData::EMouseY

MOUSEBUTTONS

HALData::EMouseButtons

CASESWITCH

HALData::ECaseSwitch

LEDS

HALData::ELEDs

INTEGRATEDPHONE

HALData::EIntegratedPhone

DISPLAYBRIGHTNESS

HALData::EDisplayBrightness

DISPLAYBRIGHTNESSMAX

HALData::EDisplayBrightnessMax

KEYBOARDBACKLIGHTSTATE

HALData::EKeyboardBacklightState

ACCESSORYPOWER

HALData::EAccessoryPower

SYSTEMDRIVE

HALData::ESystemDrive

FPHARDWARE

HALData::EHardwareFloatingPoint

NUMHALATTRIBUTES

HALData::ENumHalAttributes

The following attributes, which are not stored in the HAL, can additionally be specified:

Attribute Description

LANGUAGE

An integer that identifies the language selected by the Symbian device user, during installation. For possible values, see the TLanguage enumeration defined in e32lang.h.

Note: It is recommended to use language blocks to install language-specific files.

Option<n>

Specifies the options that are displayed to the Symbian device user during installation. See Option-List for more information.