<?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-5E6CA805-6861-54B1-8687-B997A6F4E6EE"><title>Quality Profile API Overview</title><shortdesc>The Quality Profile API allows system components to read the quality profiles. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes the Quality Profile API which can be used by LBS system components (such as a Network Protocol Module, or A-GPS Integration Module) to get information about LBS quality profiles. </p> <p>When an application or network-based service makes a location request it can supply quality criteria as part of the request. The supplied quality criteria are used by LBS to choose the most appropriate positioning technology to use to get the location fix. When not quality criteria are supplied, LBS uses a Quality Profile to obtain default quality criteria. </p> </section> <section><title>Quality Profile API library detail</title> <table id="GUID-26F1BC3C-EEC3-55DB-8023-3E157392D8D8"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short description</entry> </row> </thead> <tbody><row><entry><p> <filepath>lbsqualityprofileapi.dll</filepath> </p> </entry> <entry><p> <filepath>lbsqualityprofileapi.lib</filepath> </p> </entry> <entry><p>LBS Quality Profile API </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Description</title> <p>The Quality Profile API is defined by the class <xref href="GUID-163A58F0-D4F4-3362-BAF4-59106D6FEE8D.dita"><apiname>CLbsQualityProfileApi</apiname></xref>. </p> <codeblock id="GUID-839BDCEA-C763-53FD-9436-FBCA33921C11" xml:space="preserve">class CLbsQualityProfileApi : public CBase
{
public:
IMPORT_C static CLbsQualityProfileApi* NewL();
virtual ~CLbsQualityProfileApi();
template <typename T> inline TInt Get(const TLbsQualityProfileId& aProfileId,
const TLbsQualityProfileApiSetting& aSetting,
T& aValue) const;
};
</codeblock> <p>The API is defined in <filepath>lbsqualityprofileapi.h</filepath> and packaged in <filepath>lbsqualityprofileapi.dll</filepath>. Components that use the API link to <filepath>lbsqualityprofileapi.lib</filepath>. </p> <p>Each one of the quality profile values defined in <filepath>lbsprofile.ini</filepath> can be retrieved by calling the template function <xref href="GUID-163A58F0-D4F4-3362-BAF4-59106D6FEE8D.dita#GUID-163A58F0-D4F4-3362-BAF4-59106D6FEE8D/GUID-4CC90CA9-E483-3995-8230-CFD23D097A80"><apiname>CLbsQualityProfileApi::Get()</apiname></xref>, passing three parameters: </p> <ul><li id="GUID-54FC0D57-B788-5E83-B335-F7B08B55FB92"><p>A <xref href="GUID-80C50826-27BB-3D42-887F-3FE756BED8C5.dita"><apiname>TLbsQualityProfileId</apiname></xref> reference. This specifies the quality profile ID as defined by <codeph>ProfileID</codeph> in <filepath>lbsprofile.ini</filepath>. </p> </li> <li id="GUID-F4CA55D7-39B6-5EFB-83D3-C697220FF0FF"><p>A <xref href="GUID-B411A8CE-5D8A-3060-A4F7-C9E2CF5F4FCA.dita"><apiname>TLbsQualityProfileApiSetting</apiname></xref> reference. This specifies the particular data value to be obtained for the quality profile, such as <codeph>MaxTime</codeph> or <codeph>HorizontalAccuracy</codeph>. </p> </li> <li id="GUID-239FFD84-4F50-5E0C-A94C-90563C4DB627"><p>A reference of the appropriate type to store the quality profile value. This is a reference of type <xref href="GUID-58CA4B68-0A0F-31E2-A624-0F78F47EE458.dita"><apiname>TReal32</apiname></xref> to obtain horizontal and vertical accuracy values, or <xref href="GUID-B7D6F874-1ABD-3AC6-9329-19DC54C12F18.dita"><apiname>TTimeIntervalMicroSeconds</apiname></xref> to obtain time values. </p> </li> </ul> </section> <section><title>Using the Quality Profile API</title> <p>See <xref href="GUID-0D49DE9F-AE0D-552F-8769-D056BC505FC1.dita">How to use the Quality Profile API</xref> </p> </section> </conbody></concept>