Symbian3/SDK/Source/GUID-ACD9E338-DF75-5811-B696-C3900B498218.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     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&amp;             
       
    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&amp;
       
    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>