|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-ACD9E338-DF75-5811-B696-C3900B498218" xml:lang="en"><title>Privacy |
|
13 Requester Classes</title><shortdesc>This document describes the classes that were used in earlier versions |
|
14 of the Symbian platform to identify the requester of location information |
|
15 to the LBS subsystem. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
16 <p>Use of these classes is now optional. It is recommended that you still |
|
17 use them if your LBS applications must run on devices based on earlier versions |
|
18 of Symbian. </p> |
|
19 <section><title>Purpose</title> <p>The privacy requester classes were defined |
|
20 as part of the Location Acquisition API before platform security was introduced |
|
21 in Symbian OS v9. On all platforms based on Symbian OS v9 and later, client |
|
22 applications are required to have the <codeph>Location</codeph> capability |
|
23 to use the Location Acquisition API. Platform security checks fulfil much |
|
24 of the role of the privacy requester classes. </p> </section> |
|
25 <section><title>Privacy requester classes</title> <p>This section describes |
|
26 the privacy requester classes. </p> <p><b>Class |
|
27 description</b> </p> <p>Figure 1 shows the Privacy classes provided by the |
|
28 Location Acquisition API. </p> <fig id="GUID-BE65E6CB-5286-5DFE-B50C-8C088960432B"> |
|
29 <title> Figure 1. Location Acquisition API privacy classes. |
|
30 </title> |
|
31 <image href="GUID-24F464D8-36C1-592A-9BDB-673E771A5707_d0e270493_href.png" placement="inline"/> |
|
32 </fig> <p>A requester is defined as an agent |
|
33 that requests location information. There are two requester types: </p> <ul> |
|
34 <li id="GUID-79C7473E-C3DD-5011-BE50-F8D1075E9B07"><p>Service requesters </p> <p>A |
|
35 service requester represents any terminal or network application or service. </p> </li> |
|
36 <li id="GUID-FCEA02C9-CB00-5BD4-89FB-55D703DDE0B4"><p>Contact requesters </p> <p>A |
|
37 contact requester represents an individual person requesting the location. </p> </li> |
|
38 </ul> <p> <xref href="GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA.dita#GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA/GUID-B484D0AF-BEB1-3D08-8D14-8E510AB8C465"><apiname>CRequestor::RequestorType()</apiname></xref> defines the type |
|
39 of the requester. The requester information is sent to Location Server before |
|
40 requesting location estimates. </p> <p><b>Defining |
|
41 requesters</b> </p> <p>Requesters may be defined in one of two ways: </p> <p><b>Defining a single requester</b> </p> <p>A single requester is defined by |
|
42 calling <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-E1B082DC-9C01-3852-B1D8-B2FD18235319"><apiname>RPositioner::SetRequestorL()</apiname></xref>. The method signature |
|
43 is: <codeph>TInt SetRequestor(CRequestor::TRequestorType aType, |
|
44 CRequestor::TRequestorFormat aFormat, const TDesC& |
|
45 aData)</codeph>. </p> <p>The requester is defined directly by the values |
|
46 supplied to the function’s parameters. This case is used by applications or |
|
47 services if they are the only request source. </p> <p> <xref href="GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA.dita#GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA/GUID-5EE5AFBF-D212-34A9-8DF5-9B193673FA3F"><apiname>CRequestor::TRequestorType</apiname></xref> defines |
|
48 the type of requester: a service or contact. </p> <p> <xref href="GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA.dita#GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA/GUID-EF476AFD-2F46-39FA-B6E2-74759B549223"><apiname>CRequestor::TRequestorFormat</apiname></xref> defines |
|
49 the format of the requester identifier passed in <codeph>aData</codeph>: an |
|
50 application name, contact, email address etc. </p> <p><b>Defining a stack of requesters</b> </p> <p>If an application requests |
|
51 location information on behalf of another agent or agents, it can specify |
|
52 the chain of requesters by calling a second variant of <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-E1B082DC-9C01-3852-B1D8-B2FD18235319"><apiname>RPositioner::SetRequestorL()</apiname></xref>. |
|
53 The method signature is: <codeph>TInt SetRequestor(const RRequestorStack& |
|
54 aRequestorStack)</codeph> </p> <p> <xref href="GUID-BAB32310-D928-3314-B253-9685721EABE0.dita"><apiname>RRequestorStack</apiname></xref> is |
|
55 a container for a list of the requesters on behalf of which the request is |
|
56 made. Each requester in the stack is represented by a <xref href="GUID-AA0D6BF8-DFD6-3A6D-8366-CFCB301D17CA.dita"><apiname>CRequestor</apiname></xref> class. </p> <p>Note: Regardless of the number of requesters, there is always one service |
|
57 requester, because the application executing the location request must be |
|
58 always shown, even if it made the request on behalf of a contact requester. |
|
59 For this reason, the last item in the requester stack must always be a service |
|
60 requester (type <xref href="GUID-B59CCB2E-400A-3359-B27D-06F75AC588A6.dita#GUID-B59CCB2E-400A-3359-B27D-06F75AC588A6/GUID-33B2120D-3388-304B-A0DC-E08F86F696FB"><apiname>CRequestorBase::ERequestorService</apiname></xref>). </p> </section> |
|
61 </conbody><related-links> |
|
62 <link href="GUID-70E1117B-17F0-5CF4-A5D0-35D3BEBB0FEA.dita"><linktext>Position |
|
63 Area Data Classes</linktext></link> |
|
64 </related-links></concept> |