Symbian3/PDK/Source/GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
equal deleted inserted replaced
11:5072524fcc79 12:80ef3a206772
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept xml:lang="en" id="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23"><title>Privacy Notifiers</title><shortdesc>  Privacy Notifiers notify a user of privacy requests received from the network. A licensee must implement either Privacy Notifiers as described in this document, or a Privacy Controller to handle privacy requests. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes LBS privacy notifiers and the data types that licensees can use to create notifiers to notify a user of privacy requests. A licensee must implement either a Privacy Controller or the Privacy Notifiers described in this document to handle privacy requests. See <xref href="GUID-2E565B8E-D262-5769-96E6-A532154D57E6.dita#GUID-2E565B8E-D262-5769-96E6-A532154D57E6/GUID-47C88C54-6BDC-5777-A661-A3EB7162A89E">LBS privacy requests overview</xref> for more information. </p> <p>Note that use of the LBS Privacy Notifiers described in this document is the recommended way of creating notifiers for LBS. The alternative Privacy Q&amp;N Notifiers are deprecated. </p> <p>Some knowledge of the <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref> is required to understand the notifiers described in this document. </p> <p> <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create Privacy Notifiers</xref> has examples of how to create LBS Privacy Notifiers using the API described in this document. </p> </section> <section><title>Contents</title> <ul><li id="GUID-037E3DD8-4CD8-52D5-9B77-3FC209CB57F4"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-4B6731DE-72CD-575C-A372-A82BB23CD81E">Introduction</xref>  </p> </li> <li id="GUID-22D4D0B5-7F69-566A-86C1-346A482E526A"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-94E75514-D19B-5B8E-8089-ED72E65F088C">Privacy Notifiers API description</xref>  </p> </li> <li id="GUID-E6E10A2E-1072-582F-9825-D72DE755AE92"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-3F6A41FB-19CD-5BA7-A6CE-43197CAB5164">See also</xref>  </p> </li> </ul> </section> <section id="GUID-4B6731DE-72CD-575C-A372-A82BB23CD81E"><title>Introduction</title> <p>Figure 1 shows the LBS Privacy Notifiers within the context of the <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">Full LBS configuration</xref>. The LBS Privacy Notifiers are standard Symbian notifier plug-ins that use LBS Privacy Request Data Types to package the request and response data that is sent between the LBS subsystem and the notifiers. </p> <p>To use the LBS Privacy Notifiers, a licensee must implement two notifiers: </p> <ul><li id="GUID-5F470714-F41B-5D59-9095-62E5B182FF80"><p>A <i>Privacy Verification Notifier</i> that receives a privacy verification request from the LBS subsystem and returns a privacy response. This notifier is used to obtain user approval to send the location. </p> </li> <li id="GUID-5FC2CE8D-4829-5CB6-B157-42CB9BF25F00"><p>A <i>Privacy Notification Notifier</i> that receives a privacy notification request from the LBS subsystem and does not return any response. This notifier is used simply to notify the user that their location is being sent. </p> </li> </ul> <fig id="GUID-5A63514F-3CB0-50FB-B3F7-F54BF70391D4"><title>
    12 <concept xml:lang="en" id="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23"><title>Privacy Notifiers</title><shortdesc>  Privacy Notifiers notify a user of privacy requests received from the network. A licensee must implement either Privacy Notifiers as described in this document, or a Privacy Controller to handle privacy requests. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes LBS privacy notifiers and the data types that licensees can use to create notifiers to notify a user of privacy requests. A licensee must implement either a Privacy Controller or the Privacy Notifiers described in this document to handle privacy requests. See <xref href="GUID-2E565B8E-D262-5769-96E6-A532154D57E6.dita#GUID-2E565B8E-D262-5769-96E6-A532154D57E6/GUID-47C88C54-6BDC-5777-A661-A3EB7162A89E">LBS privacy requests overview</xref> for more information. </p> <p>Note that use of the LBS Privacy Notifiers described in this document is the recommended way of creating notifiers for LBS. The alternative Privacy Q&amp;N Notifiers are deprecated. </p> <p>Some knowledge of the <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref> is required to understand the notifiers described in this document. </p> <p> <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create Privacy Notifiers</xref> has examples of how to create LBS Privacy Notifiers using the API described in this document. </p> </section> <section><title>Contents</title> <ul><li id="GUID-037E3DD8-4CD8-52D5-9B77-3FC209CB57F4"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-4B6731DE-72CD-575C-A372-A82BB23CD81E">Introduction</xref>  </p> </li> <li id="GUID-22D4D0B5-7F69-566A-86C1-346A482E526A"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-94E75514-D19B-5B8E-8089-ED72E65F088C">Privacy Notifiers API description</xref>  </p> </li> <li id="GUID-E6E10A2E-1072-582F-9825-D72DE755AE92"><p><xref href="GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23.dita#GUID-F8C5A22F-8433-5F50-B12A-E964572E6C23/GUID-3F6A41FB-19CD-5BA7-A6CE-43197CAB5164">See also</xref>  </p> </li> </ul> </section> <section id="GUID-4B6731DE-72CD-575C-A372-A82BB23CD81E"><title>Introduction</title> <p>Figure 1 shows the LBS Privacy Notifiers within the context of the <xref href="GUID-D18B4715-3942-52EA-9D2F-E145037FA47A.dita">Full LBS configuration</xref>. The LBS Privacy Notifiers are standard Symbian notifier plug-ins that use LBS Privacy Request Data Types to package the request and response data that is sent between the LBS subsystem and the notifiers. </p> <p>To use the LBS Privacy Notifiers, a licensee must implement two notifiers: </p> <ul><li id="GUID-5F470714-F41B-5D59-9095-62E5B182FF80"><p>A <i>Privacy Verification Notifier</i> that receives a privacy verification request from the LBS subsystem and returns a privacy response. This notifier is used to obtain user approval to send the location. </p> </li> <li id="GUID-5FC2CE8D-4829-5CB6-B157-42CB9BF25F00"><p>A <i>Privacy Notification Notifier</i> that receives a privacy notification request from the LBS subsystem and does not return any response. This notifier is used simply to notify the user that their location is being sent. </p> </li> </ul> <fig id="GUID-5A63514F-3CB0-50FB-B3F7-F54BF70391D4"><title>
    13              Figure 1. The Privacy Notifiers and part of the LBS subsystem. 
    13              Figure 1. The Privacy Notifiers and part of the LBS subsystem. 
    14           </title> <image href="GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e430395_href.png" placement="inline"/></fig> </section> <section id="GUID-94E75514-D19B-5B8E-8089-ED72E65F088C"><title>Privacy Notifiers API description</title> <p>The LBS Privacy Notifiers are standard Symbian notifiers that use the Symbian <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref>. There are no additional LBS-specific base classes from which licensee notifier implementations must derive. LBS Privacy Notifiers derive directly from the notifier base class <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref>. </p> <p><b>Classes and types </b> </p> <p>The following table lists the main classes and types of the Privacy Data Types. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Privacy Notifiers types have <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-AB2E7C88-F3DB-5E0D-AD0A-9D0202ED58C4"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref>  </p> </entry> <entry><p>Contains information about the requester of the location. </p> </entry> <entry><p> <filepath>lbsloccommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-C39A33B5-C5D3-333A-80C6-31EEB0706EB3.dita"><apiname>TLbsPrivacyNotifierParams</apiname></xref>  </p> </entry> <entry><p>A container for the parameters that are sent to the LBS notifiers. Both a Privacy Verification Notifier and a Privacy Notification Notifier receive these parameters. This class wraps a <codeph>TLbsExternalRequestInfo</codeph> object. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D6A3E27D-A531-3851-AC58-6DB8625A7180.dita"><apiname>TLbsPrivacyNotifierParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyNotifierParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to send the notifier parameters to a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-FDDBA463-D6C6-3CD1-8337-1B44A87C28AE.dita"><apiname>TLbsPrivacyNotifierResponse</apiname></xref>  </p> </entry> <entry><p>An enumerated type that contains the user response to the Privacy Verification Notifier (request acceptance or rejection). </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-7E2EF45D-A85D-3E69-B155-2A5E325E9542.dita"><apiname>TLbsPrivacyResponseParams</apiname></xref>  </p> </entry> <entry><p>Container for the parameters that are returned from the LBS Privacy Verification Notifier. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D08EF78A-8650-324E-8DF0-12BCBCB71EBA.dita"><apiname>TLbsPrivacyResponseParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyResponseParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to retrieve the result parameters from a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Licensees who choose to use LBS Privacy Notifiers must implement two of them, one for privacy request verification and one for privacy request notification. Both notifiers can be packaged in the same ECOM plug-in DLL. </p> <p>The header file <filepath>lbsextprivacynotifiers.h</filepath> also contains definitions of the UIDs that must be used for LBS Privacy Notifiers. These values are specified as <b>KLbsExtLocationRequestVerifyUid</b> for a privacy verification notifier and <b>KLbsExtLocationRequestNotifyUid</b> for a privacy notification notifier. <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> has examples of their use. </p> <p><b>Privacy Notifiers API class diagram </b> </p> <p>The LBS Privacy Notifier data classes and types are defined in <filepath>lbsprivacyextnotifiers.h</filepath> and are shown in figure 2. This figure also shows the <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref> class that is used to pass request data from the LBS subsystem to the notifiers. This class is described in <xref href="GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita#GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0/GUID-126FAEA8-3E7F-5988-AB6C-F93E63B09E2F">Privacy Controller</xref> documentation. </p> <fig id="GUID-56D0BC43-09C0-52B5-9418-28E84E2F495E"><title>
    14           </title> <image href="GUID-C2C9C55E-C09F-534A-9A00-A7BCE3BC1650_d0e436240_href.png" placement="inline"/></fig> </section> <section id="GUID-94E75514-D19B-5B8E-8089-ED72E65F088C"><title>Privacy Notifiers API description</title> <p>The LBS Privacy Notifiers are standard Symbian notifiers that use the Symbian <xref href="GUID-E049772D-A96F-592F-AF59-C9B69E8D24C1-GENID-1-12-1-4-1-1-4-1-4-1.dita">Extended Notifier Framework</xref>. There are no additional LBS-specific base classes from which licensee notifier implementations must derive. LBS Privacy Notifiers derive directly from the notifier base class <xref href="GUID-DE445C4B-22EF-3A1F-8A69-57CB703BFAD0.dita"><apiname>MEikSrvNotifierBase2</apiname></xref>. </p> <p><b>Classes and types </b> </p> <p>The following table lists the main classes and types of the Privacy Data Types. Further details can be found by following the links to other sections of this document and to Symbian Developer Library reference documentation. </p> <p>The Privacy Notifiers types have <codeph>publishedPartner</codeph> interface access. </p> <table id="GUID-AB2E7C88-F3DB-5E0D-AD0A-9D0202ED58C4"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>Class name</entry> <entry>Description</entry> <entry>Header file</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref>  </p> </entry> <entry><p>Contains information about the requester of the location. </p> </entry> <entry><p> <filepath>lbsloccommon.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-C39A33B5-C5D3-333A-80C6-31EEB0706EB3.dita"><apiname>TLbsPrivacyNotifierParams</apiname></xref>  </p> </entry> <entry><p>A container for the parameters that are sent to the LBS notifiers. Both a Privacy Verification Notifier and a Privacy Notification Notifier receive these parameters. This class wraps a <codeph>TLbsExternalRequestInfo</codeph> object. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D6A3E27D-A531-3851-AC58-6DB8625A7180.dita"><apiname>TLbsPrivacyNotifierParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyNotifierParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to send the notifier parameters to a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-FDDBA463-D6C6-3CD1-8337-1B44A87C28AE.dita"><apiname>TLbsPrivacyNotifierResponse</apiname></xref>  </p> </entry> <entry><p>An enumerated type that contains the user response to the Privacy Verification Notifier (request acceptance or rejection). </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-7E2EF45D-A85D-3E69-B155-2A5E325E9542.dita"><apiname>TLbsPrivacyResponseParams</apiname></xref>  </p> </entry> <entry><p>Container for the parameters that are returned from the LBS Privacy Verification Notifier. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> <row><entry><p> <xref href="GUID-D08EF78A-8650-324E-8DF0-12BCBCB71EBA.dita"><apiname>TLbsPrivacyResponseParamsPckg</apiname></xref>  </p> </entry> <entry><p>A typedef to wrap a <codeph>TLbsPrivacyResponseParams</codeph> in a <codeph>TPckgBuf</codeph>. Use this type to retrieve the result parameters from a dialog via the <codeph>RNotifier</codeph> API. </p> </entry> <entry><p> <filepath> lbsextprivacynotifiers.h</filepath>  </p> </entry> </row> </tbody> </tgroup> </table> <p>Licensees who choose to use LBS Privacy Notifiers must implement two of them, one for privacy request verification and one for privacy request notification. Both notifiers can be packaged in the same ECOM plug-in DLL. </p> <p>The header file <filepath>lbsextprivacynotifiers.h</filepath> also contains definitions of the UIDs that must be used for LBS Privacy Notifiers. These values are specified as <b>KLbsExtLocationRequestVerifyUid</b> for a privacy verification notifier and <b>KLbsExtLocationRequestNotifyUid</b> for a privacy notification notifier. <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> has examples of their use. </p> <p><b>Privacy Notifiers API class diagram </b> </p> <p>The LBS Privacy Notifier data classes and types are defined in <filepath>lbsprivacyextnotifiers.h</filepath> and are shown in figure 2. This figure also shows the <xref href="GUID-D6E1F012-8C98-3B10-9601-3F665CFD5F08.dita"><apiname>TLbsExternalRequestInfo</apiname></xref> class that is used to pass request data from the LBS subsystem to the notifiers. This class is described in <xref href="GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0.dita#GUID-D857413A-D5A1-5F9F-A780-C980A9E0BEE0/GUID-126FAEA8-3E7F-5988-AB6C-F93E63B09E2F">Privacy Controller</xref> documentation. </p> <fig id="GUID-56D0BC43-09C0-52B5-9418-28E84E2F495E"><title>
    15              Figure 2. LBS Privacy Notifier data classes. 
    15              Figure 2. LBS Privacy Notifier data classes. 
    16           </title> <image href="GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e430653_href.png" placement="inline"/></fig> <p><b>Libraries </b> </p> <p>The LBS Privacy Notifiers are packaged in <filepath>lbsprivacyextnotifiers.dll</filepath>. A client (an LBS Privacy Notifier) links to <filepath>lbsprivacyextnotifiers.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>Privacy Notifiers require the <codeph>TrustedUI</codeph> and <codeph>ProtServ</codeph> capabilities that are required by all notifiers that use the Extended Notifier Framework. The capabilities are specified in the Notifier's MMP file. See <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> for more information. </p> <p><b>LBS Configuration </b> </p> <p>The LBS Administration setting <codeph>KLbsSettingPrivacyHandler</codeph> must be set to <codeph>CLbsAdmin::EPrivacyHandleByNotifier</codeph> to configure LBS to use Privacy Notifiers. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration</xref> for details of how to configure this setting either through the LBS Administration API or in the LBS central repository initialisation file. </p> <p> <b>Sequential processing of privacy requests</b>  </p> <p>The LBS subsystem sends privacy requests sequentially to Privacy Notifiers. If multiple privacy requests are received how they are handled depends on the interface via which the privacy request was received: </p> <ul><li id="GUID-2A1E4E50-A7B5-5B0A-B7D4-F919B9355245"><p>Request received from a <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref>  </p> <p>A second privacy request forces LBS to cancel an outstanding privacy request (but not emergency requests). The Privacy Notifier in use for the first privacy request is cancelled. The Privacy Notifier is then restarted to handle the second privacy request. </p> </li> <li id="GUID-BF0FEBFE-709E-586E-B0AC-439EB185A83D"><p>Request received via the <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref> or the <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> <p>Privacy notification and verification requests are sent sequentially to Privacy Notifiers. A Privacy Notifier must have responded to one privacy request (or LBS must have sent a timeout response) before the next request can be sent to the notifier. The maximum number of privacy requests that can be outstanding in the LBS subsystem is defined by the LBS administration setting <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. Further requests are rejected by the LBS subsystem if the number of outstanding privacy requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. </p> </li> </ul> </section> </conbody></concept>
    16           </title> <image href="GUID-FB243CC9-2614-5D5D-B5D9-C3195E93637D_d0e436498_href.png" placement="inline"/></fig> <p><b>Libraries </b> </p> <p>The LBS Privacy Notifiers are packaged in <filepath>lbsprivacyextnotifiers.dll</filepath>. A client (an LBS Privacy Notifier) links to <filepath>lbsprivacyextnotifiers.lib</filepath>. </p> <p><b>Capabilities </b> </p> <p>Privacy Notifiers require the <codeph>TrustedUI</codeph> and <codeph>ProtServ</codeph> capabilities that are required by all notifiers that use the Extended Notifier Framework. The capabilities are specified in the Notifier's MMP file. See <xref href="GUID-CE53062F-6748-547C-BB9E-7861CDA066EE.dita#GUID-CE53062F-6748-547C-BB9E-7861CDA066EE/GUID-CB586AC2-E690-5F90-9D75-3B2DCC4DB70B">How to create LBS Privacy Notifiers</xref> for more information. </p> <p><b>LBS Configuration </b> </p> <p>The LBS Administration setting <codeph>KLbsSettingPrivacyHandler</codeph> must be set to <codeph>CLbsAdmin::EPrivacyHandleByNotifier</codeph> to configure LBS to use Privacy Notifiers. See <xref href="GUID-23BBC1D8-B3A0-5148-A4F1-22ECF3043E4E.dita">LBS administration</xref> for details of how to configure this setting either through the LBS Administration API or in the LBS central repository initialisation file. </p> <p> <b>Sequential processing of privacy requests</b>  </p> <p>The LBS subsystem sends privacy requests sequentially to Privacy Notifiers. If multiple privacy requests are received how they are handled depends on the interface via which the privacy request was received: </p> <ul><li id="GUID-2A1E4E50-A7B5-5B0A-B7D4-F919B9355245"><p>Request received from a <xref href="GUID-CB6B4D1A-ACB9-5571-8C23-4BC095209782.dita">Network Protocol Module</xref>  </p> <p>A second privacy request forces LBS to cancel an outstanding privacy request (but not emergency requests). The Privacy Notifier in use for the first privacy request is cancelled. The Privacy Notifier is then restarted to handle the second privacy request. </p> </li> <li id="GUID-BF0FEBFE-709E-586E-B0AC-439EB185A83D"><p>Request received via the <xref href="GUID-B3000A78-3BE5-5E0A-A718-87BC9BA03726.dita">Network Privacy API</xref> or the <xref href="GUID-E1710E40-B8F5-5CF8-B9FE-698869A1770F.dita">Privacy Request API</xref>  </p> <p>Privacy notification and verification requests are sent sequentially to Privacy Notifiers. A Privacy Notifier must have responded to one privacy request (or LBS must have sent a timeout response) before the next request can be sent to the notifier. The maximum number of privacy requests that can be outstanding in the LBS subsystem is defined by the LBS administration setting <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. Further requests are rejected by the LBS subsystem if the number of outstanding privacy requests exceeds <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>. </p> </li> </ul> </section> </conbody></concept>