Network Positioning Proxy Configuration APIChanges in Network Positioning Proxy Configuration API documentation
Changes in Network Positioning Proxy Configuration API
PurposeNetwork Positioning Proxy Configuration API instructs the licensees on how to configure Network Positioning Proxy to have licensees' own PSY that implements the network-based positioning technology to be used by Network Positioning Proxy. This API is a type of setting API which defines Central Repository UID and keys. API descriptionThe logical type of this API is Settings API based on Central Repository service and the technical type of the API is a Method call API. This API also defines basic rules of implementing network based positioning technology to be hidden behind Network Positioning Proxy. OverviewIn some terminal configurations, there might be multiple PSYs that implement network based positioning technologies. These technologies are similar to each other from the end user’s point of view. End users see them as similar functions, even though PSYs may use different protocols or techniques to obtain the position information. For example, SUPL PSY makes use of user plane protocols to obtain the location. Licensees can implement similar functions by using control plane protocols. What is common for these PSYs is that they have similar performance parameters, such as time to first fix, time to next fix, etc. These similar PSYs that implement network-based positioning technologies can be hidden behind Network Positioning Proxy (NPP PSY). NPP PSY show those PSYs as one technology to the end user. If the PSY needs to be hidden behind NPP PSY, it must list its UID to the specific central repository key defined by Network Positioning Proxy Configuration API. It must also set the visibility property "off" from its own Central Repository file as defined by Positioning Plug-in Information API. When location request is received by NPP PSY, it tries to obtain the position of each PSY defined in the PSY list in order. The PSY list is predefined in Central Repository. The order of the hidden PSYs on the PSY list can be varied at build time and changed during runtime. All communication between the hidden PSYs and NPP PSY is handled via Positioining Plug-in API. SeePositioining Plug-in API and Positioning Plug-in Information API for detailed information on how to implement a PSY. PrerequisitesThere is a ROM image creation time feature flag for NPP PSY. The feature flag is __NP_PROXY and it can be found from \epoc32\include\oem\bldvariant.hrh. The feature flag must be defined to have Network Positioning Proxy included in ROM. Implementation of a hidden PSYThe implementation of a hidden PSY is very similar to implementing a normal PSY. See Positioining Plug-in API and Positioning Plug-in Information API for a detailed description on how to implement a hidden PSY. NPP PSY configurationAny hidden PSY to be hidden behind NPP PSY must add its implementation
UID in the PSY list. The PSY list is stored in Central Repository. The UID
of the PSY list repository is
When Network Positioning Proxy receives a location request, it reads the PSY list from Central Repository. PSYs are tried in the listed priority order. Normally the list is not updated during runtime. However, the system does not exclude such usage. When a hidden PSY is installed, it adds its UID to the PSY list during installation. If an installed hidden PSY is uninstalled, it removes its UID from the PSY list. Changing the PSY list does not affect the ongoing location request. If a hidden PSY's UID is removed from the PSY list before it is tried during the fallback execution, the PSY might still be used. A hidden PSY that is added to the list during the fallback execution is not tried. Furthermore, if the list has been updated during runtime before the location request arrives to Network Positioning Proxy, the new PSY list is taken into use immediately for the next location request. There is a frozen flag in front of the PSY list. It indicates the freeze mode of the PSY list. The different freezing modes are as follows:
After the frozen flag, all implementation UIDs of hidden PSYs are listed in hexadecimal according to the priority. The hidden PSY with the highest priority is listed first. The case is unimportant, and the field separation is any white space character. The following example shows a PSY list in normal mode with three hidden PSYs:
Related APIs
Using Network Positioning Proxy Configuration APIConfigures PSY list during build time
To configure PSY list during build time, the Central Repository initialization file of NPP PSY must be updated. This default PSY list setting is generated from the file keys_npppsy.xls released under the \cenrep directory. The Central Repository initialization file generated from key_npppsy.xls is 10206915.txt. This file is in Unicode format. The generated TXT file is stored to the private data cage of Central Repository server on the Z drive during the ROM building process: z:\private\10202BE9. The following example shows the Central Repository initialization file of NPP PSY. Note, the last line is the PSY list configuration key. This key shall be configured by licensees. Configures PSY list during runtime
The PSY list can be configured during runtime. The following code clip shows how to update PSY list during runtime. GlossaryAbbreviationsAbbreviations
DefinitionsDefinitions
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: EPL
|