Symbian3/PDK/Source/GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
parent 5 f345bda72bc4
child 9 59758314f811
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept xml:lang="en" id="GUID-D0C20045-FCC5-53CB-BBDB-7AA058C9139E"><title>GPS/A-GPS PSY Overview</title><shortdesc>This document describes the GPS/A-GPS PSY, which connects the Location Server <codeph>eposserver.exe</codeph> to the A-GPS Location Manager. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The GPS/A-GPS PSY connects the Location Server <codeph>eposserver.exe</codeph> to the A-GPS Location Manager. The PSY does not interface directly with GPS hardware. A device creator must install an A-GPS Integration Module to use the GPS/A-GPS PSY. </p> <p>This document is for device creators. </p> </section> <section><title>Required background</title> <p>This document assumes a knowledge of the material covered in the following: </p> <ul><li id="GUID-3B9C0250-913C-552B-A948-98A9AF4F6A19"><p><xref href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita">LBS Architecture Overview</xref>  </p> </li> <li id="GUID-0DF4BBA8-7A11-5625-BFC9-FC376463FB0B"><p><xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">LBS Integration and Configuration Guide</xref>  </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <dl><dlentry><dt>PSY</dt> <dd><p>A Positioning Plug-in. The GPS/A-GPS PSY implements the Positioning Plug-in API to interface with the Location Server. It uses the Positioning Plug-in Information API (which defines Central Repository key/value pairs) to register itself with the Location Server. </p> </dd> </dlentry> <dlentry><dt>Assisted GPS (A-GPS)</dt> <dd><p>A mode of GPS operation that uses assistance data from the network to reduce the time required to get the first position fix (TTFF) from GPS hardware. The GPS/A-GPS PSY supports assisted GPS (terminal based mode and terminal assisted mode). </p> </dd> </dlentry> <dlentry><dt>Autonomous GPS</dt> <dd><p>A mode of GPS operation that does not use assistance data from the network. The TTFF is typically longer than if assistance data is used. The GPS/A-GPS PSY supports autonomous GPS. </p> </dd> </dlentry> </dl> </section> <section><title>Architecture</title> <p>Figure 1 shows the GPS/A-GPS PSY component with associated LBS components. </p> <fig id="GUID-53A419A1-B9EA-5F71-87CB-A08629D89BDA"><title>
             Figure 1. GPS/A-GPS PSY with components on which it depends. 
          </title> <image href="GUID-A79EB018-1465-5103-BC0C-24C5923A69E8_d0e476515_href.png" placement="inline"/></fig> <p>The GPS/A-GPS PSY implements the Positioning Plug-in API. This PSY does not interface directly with A-GPS hardware in the mobile device. It connects with hardware by using the A-GPS Location Manager and an A-GPS Integration Module. To use the GPS/A-GPS PSY, you must install an A-GPS Integration Module. </p> <p>The GPS/A-GPS PSY contains two implementations of the PSY interface: </p> <ul><li id="GUID-73060B1C-64F6-5013-BE20-73D6F31C7F45"><p>An A-GPS PSY that supports assisted GPS. </p> <p>Location Acquisition API client applications select this PSY to use assisted GPS. The exact GPS positioning mode that is used by the PSY is determined by the value of the LBS administration settings <codeph>KLbsSettingHomeGpsMode</codeph> (used when the mobile device is in the home network) and <codeph>KLbsSettingRoamingGpsMode</codeph> (used when the mobile device is outside of the home network). </p> <p>Note: If the administration setting specifies autonomous GPS then the A-GPS PSY will behave like the GPS PSY. </p> </li> <li id="GUID-C7188613-9CF6-54B9-8D87-6115CBE826A9"><p>GPS PSY that supports only autonomous GPS. </p> <p>Location Acquisition API client applications select this PSY to use autonomous GPS. A user typically wants to use this PSY to ensure that there is no monetary charge caused by connecting to the network to get A-GPS assistance data. </p> </li> </ul> <p>The GPS/A-GPS PSY is packaged in the library <filepath>lbsgpsagpspsy.dll</filepath>. This DLL contains the two implementations of the PSY interface which can be instantiated by the Location Server. The code below shows the PSY implementations defined in the DLL. </p> <codeblock id="GUID-82A94E56-16CF-5BEB-BFA3-0B65FC057AA8" xml:space="preserve">
const TImplementationProxy ImplementationTable[] = 
  {
  IMPLEMENTATION_PROXY_ENTRY(KPosGPSPSYImplUid,  CGpsPositioner::NewL),
  IMPLEMENTATION_PROXY_ENTRY(KPosAGPSPSYImplUid, CAgpsPositioner::NewL)
  };
</codeblock> <p>You include the GPS/A-GPS PSY in your LBS ROM using the LBS <codeph>buildrom</codeph> macros. The GPS PSY and A-GPS PSY appear as two different PSYs to the Location Server. Each one can be selected by a Location Acquisition API client application either explicitly by UID, or by the Default PSY. See <xref href="GUID-6FE3CBB5-869E-5F45-B74D-E2C86BD3746B.dita">GPS/A-GPS PSY Tutorial</xref> for an explanation of how to configure and use the GPS/A-GPS PSY. </p> </section> <section><title>APIs</title> <p>The GPS/A-GPS PSY implements the Positioning Plug-in API to integrate with the LBS subsystem. The code distribution for this PSY includes a Central Repository initialisation file that contains keys and values as specified by the Positioning Plug-in Information API. </p> <p>The GPS/A-GPS PSY does not provide any APIs for use by device creators. </p> </section> <section><title>Typical uses</title> <p>The GPS/A-GPS PSY is used by the LBS Location Server <codeph>eposserver.exe</codeph> to obtain position fixes using either autonomous or assisted GPS mode. </p> </section> </conbody><related-links><link href="GUID-E045124D-D0A3-538A-89D6-74349BF4B627.dita"><linktext>GPS/A-GPS PSY
                Tutorial</linktext> </link> <link href="GUID-7233BC33-6060-5D6B-A5D2-01135F059337.dita"><linktext>LBS Architecture Overview</linktext> </link> <link href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita"><linktext>LBS
                Integration and Configuration Guide</linktext> </link> <link href="GUID-85DD1F91-2430-5C86-A13A-8360DDCC4A2F.dita"><linktext>Positioning
                Plug-in API (PSY API)</linktext> </link> <link href="GUID-7CE5CF4C-7661-5FE1-87CA-CC4EB1CECE34.dita"><linktext>Default
                PSY</linktext> </link> </related-links></concept>