Using the features
Tool
A feature manager database (DB) is a master record of all features in a
specific platform. It includes information on the feature names, the feature
UID values and the default ranges that describe attributes for a block of
features.
The features
tool takes a feature manager database (xml
file) as input. It generates either a header file, feature choices IBY file, a
features.dat
file or a combination of these based on the command
line options and feature entries in the xml file.
To determine the status of a feature during runtime, specify the feature
UID referred to in the header file to the feature manager API. At runtime the
Enhanced Feature Manager (EFM) server looks in a feature-set data file, to
determine the feature flags defined in the specific platform. The feature-set
dat file is used to determine the features specific to a device.
Header file
The header file contains feature UIDs. An example of a header file,
featureUIDs.h
generated from a
feature manager database is
given below:
Example header file
// publicfeatureUID.h
/**
@IM_type
@Status
*/
namespace NSdkFeatures {
// default present
/**
Feature = Bluetooth, status = "Supported" this feature should go to SDK
*/
const TUid KBluetooth = {0x10279808};
/**
Feature = FAX, status = "Supported" this feature should go to SDK
*/
const TUid KFax = {0x10279806};
// default not present
/**
Feature = KeypadNoSlider, status = "Supported" this feature should go to SDK
*/
const TUid KKeypadNoSlider = {0x102835B1};
}
Feature choices IBY file
The feature choices IBY file is used to create different ROM images. An
example of an IBY file generated from a
feature manager database is
given below:
Example IBY file
An example of an IBY file:
#ifndef __FEATURE_IBY__
#define __FEATURE_IBY__
#ifdef SYMBIAN_INCLUDE_BLUETOOTH
/**
Feature = Bluetooth, status = "Supported" this feature should go to SDK
*/
FEATURE Bluetooth SF 0x00000001 UD 0x00000000
#else
EXCLUDE_FEATURE Bluetooth SF 0x00000001 UD 0x00000000
#endif
#ifdef SYMBIAN_EXCLUDE_FAX
EXCLUDE_FEATURE Fax SF 0x00000001 UD 0x00000000
#else
/**
Feature = FAX, status = "Supported" this feature should go to SDK
*/
FEATURE Fax SF 0x00000001 UD 0x00000000
#endif
#ifdef SYMBIAN_EXCLUDE_KEYPADNOSLIDER
EXCLUDE_FEATURE KeypadNoSlider SF 0x00000001 UD 0x00000001
#else
/**
Feature = KeypadNoSlider, status = "Supported" this feature should go to SDK
*/
FEATURE KeypadNoSlider SF 0x00000001 UD 0x00000001
#endif
#endif //__FEATURE_IBY__
Feature set data file
The features.dat
file, a binary file, is used as a default
configuration file by the emulator. It provides information such as whether a
feature is included or excluded. It is placed in the following directory:
?:\private\10205054\...
Notes
-
The features
tool requires at least one feature manager
database as input.
-
If the feature manager database does not include an
ibyname
attribute or the headerfile name attribute, the
corresponding IBY and header file will not be generated.
-
The feature entry in the feature manager database should be unique.
Also, the feature UID should be unique.
See also
Symbian OS Library >> Symbian OS build guide >> Build
Tools Reference >> Features command syntax
Feature Database Manager DTD