Including the Bluetooth GPS PSY in ROM

This describes how to include the PSY in ROM using buildrom macros.

The PSY is packaged in the libraries nlabtgpspsy.dll and lbsbtgpsconfig.dll. Library nlabtgpspsy.dll packages the PSY as an ECom plug-in that contains one implementation of the PSY interface.

The ROM build macros described in this document include the Bluetooth GPS PSY ECom plug-in and associated files in a device ROM.

  1. To install the Bluetooth GPS PSY, use the macro SYMBIAN_INCLUDE_BLUETOOTH_GPS_PM when you build the LBS ROM. The example below shows how to include the Bluetooth GPS PSY in a ROM image. You may want to specify additional macros depending on which other optional LBS components you may also want to install (such as other PSYs).
    
    buildrom lbs.oby 
    -DSYMBIAN_INCLUDE_LOCATION_API_VARIANT2
    -DSYMBIAN_INCLUDE_BLUETOOTH_GPS_PM
    

  2. Your file lbs.oby must include the .iby files necessary to build the LBS ROM (see LBS ROM macros for more information about the LBS .iby files). The LBS .iby file lbsbtgpspsy.iby contains the commands to copy the Bluetooth GPS PSY DLL and all supporting files to the target build location:
    
    #ifndef __LBS_BTPSY_IBY__
    #define __LBS_BTPSY_IBY__
    
    #if !defined(SYMBIAN_EXCLUDE_LOCATION)
    
    #if defined(SYMBIAN_INCLUDE_BLUETOOTH_GPS_PM)
    #ifdef _DEBUG
    ECOM_PLUGIN_UDEB(nlabtgpspsy.dll, nlabtgpspsy.rsc)
    #else
    ECOM_PLUGIN(nlabtgpspsy.dll, nlabtgpspsy.rsc)
    #endif //_DEBUG
    
    data=ZRESOURCE\nlabtgpspsyconstants.rsc                    resource\nlabtgpspsyconstants.rsc
    data=ZRESOURCE\nlabtgpspsy_name.rsc                        resource\nlabtgpspsy_name.rsc
    
    #if !defined(CONFIG_USE_GENERATED)
    data=EPOCROOT##epoc32\data\z\private\10202BE9\101fe999.cre                private\10202be9\101fe999.cre
    #endif // CONFIG_USE_GENERATED
    
    #ifdef SYMBIAN_LOCATION_BTGPSCONFIG
    file=ABI_DIR\DEBUG_DIR\lbsbtgpsconfig.dll                System\libs\lbsbtgpsconfig.dll
    data=EPOCROOT##epoc32\data\Z\private\10202be9\102869C1.cre    private\10202be9\102869C1.cre
    #endif // SYMBIAN_LOCATION_BTGPSCONFIG
    
    #endif // SYMBIAN_INCLUDE_BLUETOOTH_GPS_PM
    
    #endif
    
    #endif // __LBS_BTPSY_IBY__
    
    The file 101fe999.cre is the binary Central Repository initialisation file that defines values for the keys specified by the Positioning Plug-in Information API to register the Bluetooth GPS PSY with the LBS subsystem.

  3. To change values in this file, modify the source text version of the initialisation file 101fe999.txt as described in Modifying the Bluetooth GPS PSY Central Repository Initialisation File, then build a binary version of it. To build a binary version of the file you can use the makefile createlbsbtgpsconfigstore.mk, which is included with the source distribution of the Bluetooth GPS PSY. The library lbsbtgpsconfig.dll contains the Bluetooth GPS PSY Configuration API which is also copied into the target ROM.