Creating registration resource files

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 file used to make the sis installation file.

To create a registration resource file:

  1. Determine the requirements of your application.

  2. Create a text file with the name <application_name>_reg.rss.

  3. 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.

  4. 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.

  5. Add a statement for the UID3 value of the application as follows:

    UID3 <uid3 value for application>
  6. 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.

    The header file for the registration resource files is appinfo.rh and is located in the ./epoc32/include folder.

For a commented example, see HelloWorldBasic_reg.rss.