You need to register your applications in order to make them visible
to the application menu and to provide other information to the underlying
system. To register, you need to provide a registration resource file, typically
named <application_name>_reg.rss
, that contains the
non-localized information for your application. You also need to provide the localizable registration
information. The registration resource file is compiled during the
build process and included in the pkg
package
file used to make the sis
installation
file.
To create a registration resource file:
Determine the requirements of your application.
Create a text
file with the name <application_name>_reg.rss
.
Include the appropriate header files. Typically, you need to include the following files:
appinfo.rh
, which is the resource header
file that includes the data structure declaration for the resource statement
used in the registration resource file
compiled resource header file for the resource file with the symbolic ID for the localizable registration information
localization file, depending on you implementation of the registration resource file
For more information on pre-processor statement syntax, see C++ pre-processor statements in the Symbian OS Library.
Add a statement for the UID2 value for the registration resource file as follows:.
UID2 KUidAppRegistrationResourceFile
UID2 always has the same value in registration resource files.
Add a statement for the UID3 value of the application as follows
UID3 <uid3 value for application>
Create a APP_REGISTRATION_INFO
resource
for your application. The definition for the registration code block is as
follows:
RESOURCE APP_REGISTRATION_INFO { app_file = ""; // name of application binary file (not including extension) - mandatory attributes = 0; localisable_resource_file = ""; // path (not including drive) and name of localisable resource file localisable_resource_id = r_name36; hidden = KAppNotHidden; embeddability = KAppNotEmbeddable; newfile = KAppDoesNotSupportNewFile; launch = KAppLaunchInForeground; group_name(KAppMaxGroupName) = ""; default_screen_number = 0; datatype_list[]; // SUPPORTED DATATYPES file_ownership_list[]; // FILE_OWNERSHIP_INFO service_list[]; // SERVICE_INFO opaque_data = 0; // use for opaque data to send to non-native application launchers i.e. MIDlet id }
where,
app_file
indicates the name of the application
executable binary file without the extension
localisable_resource_file
indicates
the path and name of the localizable resource file for the application
localisable_resource_id
indicates the
symbolic name of the resource for the localizable
registration resource
newfile
indicates whether the application
is document-based and supports the creation of new files. The default value
is KAppDoesNotSupportNewFile
.
embeddability
indicates whether an application
is embeddable.
The default value is KAppNotEmbeddable
.
For more information on embeddability, see FAQ-1129 What is an embeddable application? in the Symbian OS Library.
The header file for the registration resource files is appinfo.rh
and
is located in the ./epoc32/include
folder.
For more information on the other values in the resource, see Defining application icons, captions and properties in the Symbian OS Library.
For a commented example, see HelloWorldBasic_reg.rss.