Symbian3/PDK/Source/GUID-9348D79B-D4BF-50B0-B787-DDA2765CE058.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-9348D79B-D4BF-50B0-B787-DDA2765CE058"><title>LBS administration service overview</title><shortdesc>This document describes the LBS administration service and the API that it supports. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes the LBS administration service and the LBS Administration API which client applications use to get and set LBS administration settings. </p> </section> <section><title>Introduction</title> <p>The LBS administration service allows client applications to get and set LBS administration settings. The service also allows applications to receive notification when administration settings are changed. Client applications use the service via the LBS Administration API. </p> <p>Typical clients of the API are: </p> <ul><li id="GUID-7B6BF336-D68F-53AE-94D2-AF143275B315"><p>'Control panel' type applications that get and set LBS administration settings to configure LBS behaviour </p> </li> <li id="GUID-DD520CFD-5337-509E-BDF6-09ED9F83F92F"><p>UI status bar components that display information about the status of LBS settings </p> </li> </ul> <p>The LBS Administration API is packaged in <filepath>lbsadmin.dll</filepath>. Client applications include <filepath>lbsadmin.h</filepath> and link against <filepath>lbsadmin.lib</filepath>. To set administration settings, an application must have the capability <i>WriteDeviceData</i>. No capabilities are required to read LBS administration settings. </p> </section> <section><title>Key concepts</title> <p><b>LBS administration settings </b> </p> <p>The administration settings that configure LBS. They can be modified at runtime through the LBS Administration API by applications with the <i>WriteDeviceData</i> capability. LBS administration settings are stored in the central repository. </p> <p><b>LBS administration repository initialisation file </b> </p> <p>Default values for LBS administration settings are defined in a repository initialisation file. The contents of the initialisation file can be set by Symbian licensees as part of the platform build and configuration process. The initialisation file is used to create a central repository at build time. The file cannot be modified at runtime. </p> <p>Initially the central repository contains the default LBS administration settings values as defined in the repository initialisation file. The repository persists any changes to settings values made at runtime through the LBS Administration API. The API can also be used to revert the central repository to the default values in the initialisation file. </p> <p>See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">LBS Administration Repository Initialisation File</xref> for more details. </p> <p><b>LBS administration settings categories </b> </p> <p>LBS administration settings are classified into the following categories: </p> <ul><li id="GUID-FA145B6B-735C-5DFE-B106-D0BB39AFEDF2"><p>Activation/deactivation of the different types of location request: Mobile Originated Location Requests (MO-LR), Mobile Terminated Location Requests (MT-LR) and Transfer Location to 3rd Party Requests (X3P) </p> </li> <li id="GUID-0C28ED50-E877-5F6A-B1BD-2ACEA643E48B"><p>Quality profiles for MO-LR, MT-LR and X3P </p> </li> <li id="GUID-391DBE40-6509-55AB-9FC5-9A50066F1B5C"><p>The mode of operation of GPS </p> </li> <li id="GUID-D1B57EE1-AB87-57C2-9C0B-340A7C21F2DE"><p>The network protocol module and how it is loaded by the LBS subsystem </p> </li> <li id="GUID-7473CE45-5CD2-5C17-AEDE-5602DA9ED54A"><p>Use of Privacy Notifiers or a Privacy Controller for privacy requests and the default action to take on timeout of a privacy request </p> </li> <li id="GUID-5AF0326D-88C1-5E79-9D5A-FC76102460B2"><p>The maximum number of privacy requests that can be handled simultaneously by the LBS subsystem </p> </li> <li id="GUID-BB172EBF-F849-57E0-ACEB-E061C2C97BD0"><p>Specification of the GPS set clock module and whether manual or automatic updates to the system clock are allowed </p> </li> <li id="GUID-61C043C5-5137-51A5-944E-4B8F08934046"><p>A setting to turn logging on or off in the LBS subsystem </p> </li> <li id="GUID-57A439F2-397C-5615-8FE1-156DDBBBB67C"><p>'Special feature' settings (see below) </p> </li> </ul> <p><b>Special feature settings </b> </p> <p>A set of read-only 'special feature' administration settings allows configuration of LBS runtime behaviour by Symbian licensees. These settings must be configured in the LBS administration repository initialisation file and cannot be set at runtime via the LBS Administration API. </p> <p>There are several special feature settings which define: </p> <ul><li id="GUID-3BDAF0E5-0FFE-57DE-B32D-357530CCB18B"><p>The time to buffer position updates and error codes in LBS when there is no current <codeph>RPositioner::NotifyPositionUpdate()</codeph>  </p> </li> <li id="GUID-5A14530C-2646-541B-9E90-2734E4ABEDE8"><p>The values of <codeph>TPositionInfo::PositionMode()</codeph> for final network positions </p> </li> <li id="GUID-BB86DC8E-F3AE-5559-BE45-7E0FD713C891"><p>Whether inaccurate positions should be returned to client applications </p> </li> <li id="GUID-E3A06FB5-B7FE-58D7-8420-D0874CAA2230"><p>Whether reference positions should be returned to client applications </p> </li> <li id="GUID-38803149-8FE7-5E9A-BDE8-A3B218652732"><p>How "futile" updates from a licensee's A-GPS Integration Module are handled </p> </li> </ul> <p>See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita#GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD/GUID-FC73F710-36C2-5805-9EE9-6E9C55BE9655">Special feature settings</xref> for more information. </p> </section> <section><title>API summary</title> <p>Client applications use the LBS administration service via the LBS Administration API. </p> <p>The API is defined by the following header files: </p> <table id="GUID-89C9C409-B64D-5397-81AF-B1DF364F9882"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Header file</entry> <entry>Purpose</entry> </row> </thead> <tbody><row><entry><p> <filepath>lbsadmin.h</filepath>  </p> </entry> <entry><p>Class declarations for main class <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> and <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>. </p> </entry> </row> <row><entry><p> <filepath>lbsadminsettings.h</filepath>  </p> </entry> <entry><p>Defines the constants that uniquely identify the different types of LBS settings. </p> </entry> </row> <row><entry><p> <filepath> lbsadmindatatypes.h</filepath>  </p> </entry> <entry><p>Defines datatypes used to assign values to LBS settings. </p> </entry> </row> <row><entry><p> <filepath>lbsadminclasstypes.h</filepath>  </p> </entry> <entry><p>Defines a base class that defines the class type of a <xref href="GUID-8E3D9627-2478-33F7-8A7C-974EF56CBDE2.dita"><apiname>TLbsAdminInfoBase</apiname></xref> object (for future use). </p> </entry> </row> </tbody> </tgroup> </table> <p>Applications include <filepath>lbsadmin.h</filepath> which includes the other header files. </p> <p>The API defines two main classes, shown in figure 1: </p> <ul><li id="GUID-C2456081-AA2A-5C39-8974-CB7BDAFB0647"><p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref>  </p> <p>Applications use <codeph>CLbsAdmin</codeph> to get and set administration settings and to register for notification of administration settings changes. </p> </li> <li id="GUID-4324FCF4-A00E-530E-8AF2-8F8DCE00DBD8"><p> <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>  </p> <p>Applications use an object derived from <codeph>MLbsAdminObserver</codeph> to receive notification of changes to administration settings. </p> </li> </ul> <fig id="GUID-065EDB7E-FAE2-5E00-8489-15B12805C765"><title>
    12 <concept xml:lang="en" id="GUID-9348D79B-D4BF-50B0-B787-DDA2765CE058"><title>LBS administration service overview</title><shortdesc>This document describes the LBS administration service and the API that it supports. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>This document describes the LBS administration service and the LBS Administration API which client applications use to get and set LBS administration settings. </p> </section> <section><title>Introduction</title> <p>The LBS administration service allows client applications to get and set LBS administration settings. The service also allows applications to receive notification when administration settings are changed. Client applications use the service via the LBS Administration API. </p> <p>Typical clients of the API are: </p> <ul><li id="GUID-7B6BF336-D68F-53AE-94D2-AF143275B315"><p>'Control panel' type applications that get and set LBS administration settings to configure LBS behaviour </p> </li> <li id="GUID-DD520CFD-5337-509E-BDF6-09ED9F83F92F"><p>UI status bar components that display information about the status of LBS settings </p> </li> </ul> <p>The LBS Administration API is packaged in <filepath>lbsadmin.dll</filepath>. Client applications include <filepath>lbsadmin.h</filepath> and link against <filepath>lbsadmin.lib</filepath>. To set administration settings, an application must have the capability <i>WriteDeviceData</i>. No capabilities are required to read LBS administration settings. </p> </section> <section><title>Key concepts</title> <p><b>LBS administration settings </b> </p> <p>The administration settings that configure LBS. They can be modified at runtime through the LBS Administration API by applications with the <i>WriteDeviceData</i> capability. LBS administration settings are stored in the central repository. </p> <p><b>LBS administration repository initialisation file </b> </p> <p>Default values for LBS administration settings are defined in a repository initialisation file. The contents of the initialisation file can be set by Symbian licensees as part of the platform build and configuration process. The initialisation file is used to create a central repository at build time. The file cannot be modified at runtime. </p> <p>Initially the central repository contains the default LBS administration settings values as defined in the repository initialisation file. The repository persists any changes to settings values made at runtime through the LBS Administration API. The API can also be used to revert the central repository to the default values in the initialisation file. </p> <p>See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">LBS Administration Repository Initialisation File</xref> for more details. </p> <p><b>LBS administration settings categories </b> </p> <p>LBS administration settings are classified into the following categories: </p> <ul><li id="GUID-FA145B6B-735C-5DFE-B106-D0BB39AFEDF2"><p>Activation/deactivation of the different types of location request: Mobile Originated Location Requests (MO-LR), Mobile Terminated Location Requests (MT-LR) and Transfer Location to 3rd Party Requests (X3P) </p> </li> <li id="GUID-0C28ED50-E877-5F6A-B1BD-2ACEA643E48B"><p>Quality profiles for MO-LR, MT-LR and X3P </p> </li> <li id="GUID-391DBE40-6509-55AB-9FC5-9A50066F1B5C"><p>The mode of operation of GPS </p> </li> <li id="GUID-D1B57EE1-AB87-57C2-9C0B-340A7C21F2DE"><p>The network protocol module and how it is loaded by the LBS subsystem </p> </li> <li id="GUID-7473CE45-5CD2-5C17-AEDE-5602DA9ED54A"><p>Use of Privacy Notifiers or a Privacy Controller for privacy requests and the default action to take on timeout of a privacy request </p> </li> <li id="GUID-5AF0326D-88C1-5E79-9D5A-FC76102460B2"><p>The maximum number of privacy requests that can be handled simultaneously by the LBS subsystem </p> </li> <li id="GUID-BB172EBF-F849-57E0-ACEB-E061C2C97BD0"><p>Specification of the GPS set clock module and whether manual or automatic updates to the system clock are allowed </p> </li> <li id="GUID-61C043C5-5137-51A5-944E-4B8F08934046"><p>A setting to turn logging on or off in the LBS subsystem </p> </li> <li id="GUID-57A439F2-397C-5615-8FE1-156DDBBBB67C"><p>'Special feature' settings (see below) </p> </li> </ul> <p><b>Special feature settings </b> </p> <p>A set of read-only 'special feature' administration settings allows configuration of LBS runtime behaviour by Symbian licensees. These settings must be configured in the LBS administration repository initialisation file and cannot be set at runtime via the LBS Administration API. </p> <p>There are several special feature settings which define: </p> <ul><li id="GUID-3BDAF0E5-0FFE-57DE-B32D-357530CCB18B"><p>The time to buffer position updates and error codes in LBS when there is no current <codeph>RPositioner::NotifyPositionUpdate()</codeph>  </p> </li> <li id="GUID-5A14530C-2646-541B-9E90-2734E4ABEDE8"><p>The values of <codeph>TPositionInfo::PositionMode()</codeph> for final network positions </p> </li> <li id="GUID-BB86DC8E-F3AE-5559-BE45-7E0FD713C891"><p>Whether inaccurate positions should be returned to client applications </p> </li> <li id="GUID-E3A06FB5-B7FE-58D7-8420-D0874CAA2230"><p>Whether reference positions should be returned to client applications </p> </li> <li id="GUID-38803149-8FE7-5E9A-BDE8-A3B218652732"><p>How "futile" updates from a licensee's A-GPS Integration Module are handled </p> </li> </ul> <p>See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita#GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD/GUID-FC73F710-36C2-5805-9EE9-6E9C55BE9655">Special feature settings</xref> for more information. </p> </section> <section><title>API summary</title> <p>Client applications use the LBS administration service via the LBS Administration API. </p> <p>The API is defined by the following header files: </p> <table id="GUID-89C9C409-B64D-5397-81AF-B1DF364F9882"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Header file</entry> <entry>Purpose</entry> </row> </thead> <tbody><row><entry><p> <filepath>lbsadmin.h</filepath>  </p> </entry> <entry><p>Class declarations for main class <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> and <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>. </p> </entry> </row> <row><entry><p> <filepath>lbsadminsettings.h</filepath>  </p> </entry> <entry><p>Defines the constants that uniquely identify the different types of LBS settings. </p> </entry> </row> <row><entry><p> <filepath> lbsadmindatatypes.h</filepath>  </p> </entry> <entry><p>Defines datatypes used to assign values to LBS settings. </p> </entry> </row> <row><entry><p> <filepath>lbsadminclasstypes.h</filepath>  </p> </entry> <entry><p>Defines a base class that defines the class type of a <xref href="GUID-8E3D9627-2478-33F7-8A7C-974EF56CBDE2.dita"><apiname>TLbsAdminInfoBase</apiname></xref> object (for future use). </p> </entry> </row> </tbody> </tgroup> </table> <p>Applications include <filepath>lbsadmin.h</filepath> which includes the other header files. </p> <p>The API defines two main classes, shown in figure 1: </p> <ul><li id="GUID-C2456081-AA2A-5C39-8974-CB7BDAFB0647"><p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref>  </p> <p>Applications use <codeph>CLbsAdmin</codeph> to get and set administration settings and to register for notification of administration settings changes. </p> </li> <li id="GUID-4324FCF4-A00E-530E-8AF2-8F8DCE00DBD8"><p> <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>  </p> <p>Applications use an object derived from <codeph>MLbsAdminObserver</codeph> to receive notification of changes to administration settings. </p> </li> </ul> <fig id="GUID-065EDB7E-FAE2-5E00-8489-15B12805C765"><title>
    13              Figure 1. LBS Administration API classes 
    13              Figure 1. LBS Administration API classes 
    14           </title> <image href="GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e439103_href.png" placement="inline"/></fig> <p><b>CLbsAdmin </b> </p> <p>Applications use <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> for the following: </p> <ul><li id="GUID-4E568BB2-C780-5BFD-B191-8A225732D12B"><p>Accessing LBS administration settings </p> </li> <li id="GUID-72010A8E-ED7C-593C-B9FD-AC475CD18A07"><p>Resetting administration settings to the default </p> </li> <li id="GUID-C6CA864B-7289-5DFD-96BE-4A7305CD1B74"><p>Receiving notification of administration settings changes </p> </li> </ul> <p>Each of these uses is described in the following sections. </p> <p><b>Accessing LBS administration settings </b> </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname>CLbsAdmin::Get()</apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> get and set LBS administration settings. </p> <p>The full signatures of <codeph>CLbsAdmin::Get()</codeph> and <codeph>CLbsAdmin::Set() </codeph> are as follows: </p> <ul><li id="GUID-43941604-A4DE-51EE-B83F-72EA49B7AAC9"><p> <codeph>template &lt;typename T&gt; inline TInt Set(const
    14           </title> <image href="GUID-7DAA8384-34A5-5510-9435-CC4A6E0CD13C_d0e444948_href.png" placement="inline"/></fig> <p><b>CLbsAdmin </b> </p> <p>Applications use <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita"><apiname>CLbsAdmin</apiname></xref> for the following: </p> <ul><li id="GUID-4E568BB2-C780-5BFD-B191-8A225732D12B"><p>Accessing LBS administration settings </p> </li> <li id="GUID-72010A8E-ED7C-593C-B9FD-AC475CD18A07"><p>Resetting administration settings to the default </p> </li> <li id="GUID-C6CA864B-7289-5DFD-96BE-4A7305CD1B74"><p>Receiving notification of administration settings changes </p> </li> </ul> <p>Each of these uses is described in the following sections. </p> <p><b>Accessing LBS administration settings </b> </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname>CLbsAdmin::Get()</apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> get and set LBS administration settings. </p> <p>The full signatures of <codeph>CLbsAdmin::Get()</codeph> and <codeph>CLbsAdmin::Set() </codeph> are as follows: </p> <ul><li id="GUID-43941604-A4DE-51EE-B83F-72EA49B7AAC9"><p> <codeph>template &lt;typename T&gt; inline TInt Set(const
    15                 TLbsAdminSetting&amp; aSetting, const T&amp; aValue);</codeph>  </p> </li> <li id="GUID-89A994C1-897F-5195-9112-F003837154E7"><p> <codeph>template &lt;typename T&gt; inline TInt Get(const
    15                 TLbsAdminSetting&amp; aSetting, const T&amp; aValue);</codeph>  </p> </li> <li id="GUID-89A994C1-897F-5195-9112-F003837154E7"><p> <codeph>template &lt;typename T&gt; inline TInt Get(const
    16                 TLbsAdminSetting&amp; aSetting, T&amp; aValue) const;</codeph>  </p> </li> </ul> <p>The use of template methods allows the interface of <codeph>CLbsAdmin</codeph> to be simplified: all administration settings are queried and modified by use of the same <codeph>Get()</codeph> and <codeph>Set()</codeph> methods. </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname> CLbsAdmin::Get() </apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> take two parameters: </p> <ul><li id="GUID-9BA0BD1A-EDDE-5053-9C39-7EB28D3E2688"><p>A constant of type <xref href="GUID-D3A66A2E-612A-393A-A5ED-9BB5A92930AE.dita"><apiname>TLbsAdminSetting</apiname></xref> that specifies the administration setting that is set or returned. <codeph>TLbsAdminSetting</codeph> constants are defined in <filepath>lbsadminsettings.h</filepath>. </p> </li> <li id="GUID-26C87FF9-0965-56A5-B640-0925FEDB4C64"><p>A reference to hold the value of the administration setting to be set or returned. Many administration setting values are defined by a set of enumerated types defined in <filepath>lbsadmindatatypes.h</filepath>. </p> </li> </ul> <p>The following list describes the purpose of each of the LBS administration settings defined by the <codeph>TLbsAdminSetting</codeph> constants: </p> <ul><li id="GUID-C4B9F251-E549-5054-B13B-E2AA8B582B4C"><p> <codeph>KLbsSettingHomeSelfLocate</codeph>  </p> <p>Purpose: Configures self location requests (MO-LR) in the home network. This setting turns self location requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F3E58804-AAEE-32A6-A3C8-9868C9C8283C"><apiname>CLbsAdmin::TSelfLocateService</apiname></xref>  </p> </li> <li id="GUID-3AC62BB7-228D-5FC9-B29A-10B0B27E834D"><p> <codeph>KLbsSettingRoamingSelfLocate</codeph>  </p> <p>Purpose: Configures self location requests (MO-LR) when roaming. This setting turns self location requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F3E58804-AAEE-32A6-A3C8-9868C9C8283C"><apiname>CLbsAdmin::TSelfLocateService</apiname></xref>  </p> </li> <li id="GUID-3F546D65-D80A-5F4A-8B5F-F1EB9E9A4EB7"><p> <codeph>KLbsSettingHomeExternalLocate</codeph>  </p> <p>Purpose: Configures external location requests (MT-LR) in the home network. This setting turns external location requests on or off. It also defines if user permission for external requests should always be obtained when external locate is on, and if the user should always be notified of rejected external location requests when external locate is off. </p> <p> <i>Note that the value of this setting does not affect emergency services location requests (Emergency MT-LR) which are always accepted.</i>  </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-74AF5A08-F6D9-36F7-A904-710C18248569"><apiname>CLbsAdmin::TExternalLocateService</apiname></xref>. The value <codeph>EExternalLocateOnButAlwaysVerify</codeph> must not be used with the Network Privacy API as a privacy verification response cannot be returned for a <i>privacy notification</i> that was sent using this API. </p> </li> <li id="GUID-108A1563-A4A2-5EA6-96C7-AD8F9633531B"><p> <codeph>KLbsSettingRoamingExternalLocate</codeph>  </p> <p>Purpose: Configures external location requests (MT-LR) when roaming. See <codeph>KLbsSettingHomeExternalLocate</codeph> above. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-74AF5A08-F6D9-36F7-A904-710C18248569"><apiname>CLbsAdmin::TExternalLocateService</apiname></xref>. See <codeph>KLbsSettingHomeExternalLocate</codeph> above. </p> </li> <li id="GUID-82D067DC-4822-57B8-89B8-8127456DD2AC"><p> <codeph>KLbsSettingHomeTransmitLocate</codeph>  </p> <p>Purpose: Configures transmit to third party location requests (X3P) in the home network. This setting turns transmit to third party requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9FF8B24A-5254-34A3-8626-9BFCF5440158"><apiname>CLbsAdmin::TTransmitLocateService</apiname></xref>  </p> </li> <li id="GUID-180A8ED6-7C43-538F-8DE6-13444F950D65"><p> <codeph>KLbsSettingRoamingTransmitLocate</codeph>  </p> <p>Purpose: Configures transmit to third party location requests (X3P) when roaming. This setting turns transmit to third party requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9FF8B24A-5254-34A3-8626-9BFCF5440158"><apiname>CLbsAdmin::TTransmitLocateService</apiname></xref>  </p> </li> <li id="GUID-1D244F95-2F3A-5A9B-9447-E96929E3A5FF"><p> <codeph>KLbsSettingQualityProfileSelfLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for MO-LR. This setting specifies a quality profile <codeph>ProfileID</codeph> for self location requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> <li id="GUID-254EFED2-C1D6-56C0-A6CE-4BDF7C661F8D"><p> <codeph>KLbsSettingQualityProfileExternalLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for MT-LR. This setting specifies a quality profile <codeph>ProfileID</codeph> for external location requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>. A value of <xref href="GUID-669E6305-674F-3750-B5B3-89255C0DA488.dita"><apiname>KLbsNoProfileInUseQualityProfileId</apiname></xref> means that a profile is not used when <codeph>KSettingLbsBehaviourMode</codeph> is set to <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-08A89E2A-6247-360C-9226-CBBCE13D4BE8"><apiname>CLbsAdmin::ELbsBehaviourModeOriginal</apiname></xref>. LBS uses quality criteria received as part of the external locate request. </p> </li> <li id="GUID-B554EC69-6172-59B9-812C-1DA6675121A9"><p> <codeph>KLbsSettingHomeTransmitLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for X3P. This setting specifies a quality profile <codeph>ProfileID</codeph> for transmit to third party requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> <li id="GUID-A19095F6-640C-5271-BD55-89139D7D7E37"><p> <codeph>KLbsSettingHomeGpsMode</codeph>  </p> <p>Purpose: Configures the GPS mode in the home network. This setting specifies how LBS uses GPS to obtain a position fix. Note that this is the default setting. The network can override this setting as part of a location request. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>  </p> </li> <li id="GUID-0B21A0FD-9373-5379-9D30-C729062706BD"><p> <codeph>KLbsSettingRoamingGpsMode</codeph>  </p> <p>Purpose: Configures the GPS mode when roaming. See <codeph>KLbsSettingHomeGpsMode</codeph> above. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>  </p> </li> <li id="GUID-A15CF1A9-E154-5515-96E3-858774E47AA9"><p> <codeph>KLbsSettingHomeProtocolModule</codeph>  </p> <p>Purpose: Specifies the UID of the Network Protocol Module to use in the home network. </p> <p>Values: Defined by <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref>  </p> </li> <li id="GUID-4DA64DC1-B687-5B33-BAF4-AFD3CCBD7DD5"><p> <codeph>KLbsSettingRoamingProtocolModule</codeph>  </p> <p>Purpose: Specifies the UID of the Network Protocol Module to use when roaming. </p> <p>Values: Defined by <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref>  </p> </li> <li id="GUID-F20159B4-62F2-5E8F-9A71-A389F330F1B0"><p> <codeph>KLbsProtocolModuleLoading</codeph>  </p> <p>Purpose: Defines the Network Protocol Module loading strategy - whether a module or modules are loaded on subsystem startup or based on network registration status. </p> <p>Values: A value defined by <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-1AD05E2F-6AA0-38AE-8640-02D4B4EA3363"><apiname>TLbsAdminProtocolModuleLoadingInfo::_TProtocolModuleLoading</apiname></xref> which have the following meanings: </p> <ul><li id="GUID-A1F35EC1-7531-5FBA-81AF-871F87D2BC4D"><p> <codeph>EProtocolModuleLoadingAll</codeph>  </p> <p>A value of <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-813FB3F7-6266-3FEF-B35E-84A0096805CB"><apiname>TLbsAdminProtocolModuleLoadingInfo::EProtocolModuleLoadingAll</apiname></xref> causes the two Network Protocol Modules specified by the settings <codeph>KLbsSettingHomeProtocolModule</codeph> and <codeph>KLbsSettingRoamingProtocolModule</codeph> to be loaded when the LBS subsystem starts. The modules are not unloaded until the LBS subsystem is shutdown. </p> <p>At any time, only one module can be <i>active</i> - loading a module does not make it active. Only an active module can be used to process location requests. LBS uses changes to the network registration status of the mobile device to decide which module is active. If the mobile device moves from the home network to roaming (or vice versa) the appropriate module is made active without the need to restart the device. </p> </li> <li id="GUID-72D08DD5-0838-50EA-BFF0-22579F6AC6F2"><p> <codeph>EProtocolModuleLoadingByStatus</codeph>  </p> <p>A value of <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-DB320F00-2498-386D-9B82-6E35C0B0F3C2"><apiname>TLbsAdminProtocolModuleLoadingInfo::EProtocolModuleLoadingByStatus</apiname></xref> means that <i>one</i> Network Protocol Module is loaded on LBS startup based on the network registration status. </p> <p>When LBS receives the first network registration status update (which should be soon after startup) it loads either the home or the roaming Network Protocol Module depending on the registration status. Only one module is loaded. Changes to the registration status (for example from the home network to roaming) do not cause a second module to be loaded. This means that if a licensee uses different Network Protocol Modules in the home network and roaming, it is necessary to restart the device when moving between networks in order to load the appropriate Network Protocol Module. </p> <p>Note that this is the default LBS behaviour based on the value in the administration repository initialisation file. </p> </li> </ul> <p>If LBS cannot obtain the device's network registration status, a Network Protocol Module cannot be made active and a location request that uses it will fail. </p> <p>The setting has no effect if the Privacy Protocol Module is specified for use: it is loaded and active when the LBS subsystem starts without waiting for a network registration status. </p> </li> <li id="GUID-9CAB68BC-0C16-5725-BC10-513FA8027DD1"><p> <codeph>KLbsSettingPrivacyHandler</codeph>  </p> <p>Purpose: Specifies use of a Privacy Controller or Privacy Notifiers. Either a Privacy Controller or Privacy Notifiers are used to inform the user when an external privacy or location request (MT-LR or NI-LR) is received. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-E10A0475-7286-3AC1-9131-DEC07BA5B75B"><apiname>CLbsAdmin::TPrivacyHandler</apiname></xref>  </p> </li> <li id="GUID-A8E31FA5-9AC3-5A16-A844-C93AFC7A1E08"><p> <codeph>KLbsSettingPrivacyAppTimeout</codeph>  </p> <p>Purpose: Specifies the time in microseconds that LBS waits for a response from a Privacy Controller or Privacy Notifier. A value of zero means the LBS nevers times out the request. The setting must be set in the repository initialisation file and cannot be set at runtime. </p> <p>Values: A time in microseconds. </p> </li> <li id="GUID-08F04021-83D7-5EC6-82C0-7CB15050BE73"><p> <codeph>KLbsSettingPrivacyTimeoutAction</codeph>  </p> <p>Purpose: Specifies the action to take on timeout of a MT-LR privacy request. This setting specifies if LBS should send a rejection message or take the action specified as part of the MT-LR privacy request message. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F063FE21-9996-3F0E-9BE2-95067EF5B5E6"><apiname>CLbsAdmin::TPrivacyTimeoutAction</apiname></xref>  </p> </li> <li id="GUID-45EB2FE5-4871-5967-85C6-55714FD42130"><p> <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>  </p> <p>Purpose: Specifies the maximum number of simultaneous privacy requests supported by the LBS subsystem. The setting only affects LBS subsystem behaviour when privacy requests are received via either the Privacy Request API or the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while is LBS running. The setting will take effect during the next LBS system startup. </p> <p>Values: The value 0 is reserved for future use. The value 1 is the default, this allows only one active external locate request at a time. Values greater than 1 allow multiple requests to be handled simultaneously. </p> </li> <li id="GUID-06D156DD-9A0C-5481-ADC0-F889A85ABBA0"><p> <codeph>KLbsSettingPrivacyShutdownDelay</codeph>  </p> <p>Purpose: The time to wait after the last privacy client disconnects before shutting down LBS. Only used with the Network Privacy API and the Privacy Request API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values:An integer value in microseconds. </p> </li> <li id="GUID-9B76614E-CEF2-55B2-B82E-7FB2DD6B125A"><p> <codeph>KLbsSettingPrivacyMaxNetworkSessions</codeph>  </p> <p>Purpose: The maximum number of concurrent network privacy sessions allowed with the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values: An integer value. The value 0 disallows any network privacy sessions. </p> </li> <li id="GUID-03F64DFF-9EF1-54E7-8834-6621A310D5A1"><p> <codeph>KLbsSettingPrivacyConnectionTimeout</codeph>  </p> <p>Purpose: The connection timeout for sessions using the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values: An integer value in microseconds. </p> </li> <li id="GUID-4E9C8CD1-1295-50FC-94D8-FD57C0519573"><p> <codeph>KLbsSettingClockAdjust</codeph>  </p> <p>Purpose: Configuration of automatic system clock synchronisation with GPS. This setting specifies if automatic clock synchronisation is on or off. </p> <p>Values Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-43E5D177-778D-304C-BE11-18FBABE66E28"><apiname>CLbsAdmin::TClockAdjust</apiname></xref>  </p> </li> <li id="GUID-330F6DB9-FBC0-586A-B045-EEDB63B912EE"><p> <codeph>KLbsSettingSetClockModule</codeph>  </p> <p>Purpose: Configuration of the set clock module. This setting specifies the implementation UID of a licensee clock plug-in DLL. This value is 0 to use the default Symbian set clock implementation. </p> <p>Values: A <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref> value </p> </li> <li id="GUID-FD67A7EB-763E-5F0A-911C-25EC1E6DEEBD"><p> <codeph>KLbsSettingClockAdjustInterval</codeph>  </p> <p>Purpose: Specifies the system clock adjustment interval in milliseconds. This setting specifies how often the system clock should be synchronised with the GPS clock. The setting is used only if the <codeph>KLbsSettingAllowClockAdjust</codeph> is set to allow automatic system clock adjustment. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-4D3DDC8A-442F-3249-BFDB-30D197E2F67F"><apiname>CLbsAdmin::TLbsTimeIntervalMiliSeconds</apiname></xref> value </p> </li> <li id="GUID-DB4C1DF2-5766-5B5B-9157-1DC50A28273F"><p> <codeph>KLbsSettingClockAdjustThreshold</codeph>  </p> <p>Purpose: Configures the system clock adjustment interval in milliseconds. This setting specifies how great the difference in time between the system clock and the GPS clock must be before the system clock is adjusted. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-4D3DDC8A-442F-3249-BFDB-30D197E2F67F"><apiname>CLbsAdmin::TLbsTimeIntervalMiliSeconds</apiname></xref> value </p> </li> <li id="GUID-E1FD82F8-946C-5D2C-B353-34D1F1C535DF"><p> <codeph>KLbsSettingLogger</codeph>  </p> <p>Purpose: Turns logging on or off in the LBS subsystem. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-3CB88D9A-DF0A-387F-8BFD-C31B565BAAA6"><apiname>CLbsAdmin::TLogger</apiname></xref> value </p> </li> <li id="GUID-3D7586C7-C5BD-54EA-9089-18A30CF3747E"><p> <codeph>KLbsSettingBehaviourMode</codeph>  </p> <p>Purpose: Specifies the behaviour mode for the LBS subsystem. The setting must be set in the repository initialisation file and cannot be set at runtime via the LBS Administration API as it is used by the LBS subsystem on startup. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-5C1F785E-4BEA-3D36-9921-A36526BDD841"><apiname>CLbsAdmin::TLbsBehaviourMode</apiname></xref>. See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">repository initialisation file</xref> for more information. </p> </li> </ul> <p> <b>Special feature settings</b>  </p> <ul><li id="GUID-3D94A4F3-A7C7-5EFB-B7CB-9109507B4FA1"><p> <codeph>KLbsSpecialFeatureMaximumRequestDelay</codeph>  </p> <p>Purpose: Specifies the length of time that location updates and error codes received from a positioning module are temporarily buffered in LBS. </p> <p>Values: A time in milliseconds </p> </li> <li id="GUID-C195F056-27A7-5C4E-A8CD-B840746FE6C7"><p> <codeph>KLbsSpecialFeatureAllowTBFinalNetPos</codeph>  </p> <p>Purpose: Specifies how LBS handles final network position updates. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-220ED6E7-B841-5344-94EA-DFCA1C025C7D"><p> <codeph>KLbsSpecialFeatureIgnoreAccuracy</codeph>  </p> <p>Purpose: Configures LBS to either return only accurate position updates or all position updates including inaccurate ones. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-ADBDCE68-7DFA-58EC-9860-A07276470F0D"><p> <codeph>KLbsSpecialFeatureWithholdDeliveryOfReferencePositions</codeph> </p> <p>Purpose: Specifies if LBS should deliver reference positions to a client application when <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> is called with a GPS module ID. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-22D784DA-7BCC-5739-B129-D3CCFC4ACA15"><p> <codeph>KLbsSpecialFeatureIntermediateFutileUpdate</codeph>  </p> <p>Purpose: Specifies if LBS should return a "futile" update from a licensee A-GPS Integration Module to the network when there is no outstanding location request. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> </ul> <p>The special feature settings cannot be set via the LBS Administration API and so must be set in the LBS administration repository file. <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita#GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD/GUID-FC73F710-36C2-5805-9EE9-6E9C55BE9655">Special feature settings</xref> has more information on the behaviour of LBS that is modified by the special feature settings. </p> <p> <b>Unused settings</b>  </p> <p>Note that there are some additional settings defined in <filepath>lbsadmin.h</filepath>: <codeph>KLbsSettingHomeEmergencyLocate</codeph>, <codeph>KLbsSettingRoamingEmergencyLocate</codeph>, <codeph>KLbsSettingRoamingProtocolModule</codeph> and <codeph>KLbsSettingLbsSystemStartMode</codeph>. These are not used and setting them has no effect. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Accessing LBS administration settings</xref> describes how to get and set LBS administration settings. </p> <p><b>Resetting administration settings to the default </b> </p> <p>Calling <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-42D1B1DF-A5BD-3143-BBC3-EDFC1151356D"><apiname>CLbsAdmin::ResetToDefault()</apiname></xref> causes LBS administration settings to be reset to the default values defined in the LBS administration settings initialisation file. These default settings are persisted in the central repository. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-56DA510B-4BBE-57B6-B616-888845435276">Resetting the administration settings</xref> shows how to reset the administration settings to their default values. </p> <p><b>Receiving notification of administration settings changes </b> </p> <p>To register an observer object to receive notifications of LBS administration settings changes, <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-297BD9C9-36E3-38C5-BB79-35A785B49744"><apiname>CLbsAdmin::NewL()</apiname></xref> is called with two parameters: </p> <ul><li id="GUID-383ADC1C-D7F1-5E60-9865-CFDB494DDA7D"><p>An observer object derived from <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>  </p> </li> <li id="GUID-D84E11FC-F9B7-5CB4-AB4B-78F7675BBE8E"><p>A <xref href="GUID-CB92B5FC-CD68-34F8-A866-BED0686C08B5.dita"><apiname>TLbsAdminSettingGroup</apiname></xref> object </p> <p>A <codeph>TLbsAdminSettingGroup</codeph> object defines a bitmask of <codeph>TLbsAdminSetting</codeph> constants. An observer is notified when there is a settings change in one of the settings defined in the bitmask. </p> </li> </ul> <p> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-C04ED964-9259-3B96-8144-0A022C3D26BA"><apiname>CLbsAdmin::SetNotificationMaskL()</apiname></xref> sets a new bitmask and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-2CAC0F41-B58B-30D6-8742-23B38338ED1A"><apiname>CLbsAdmin::ClearNotificationMask()</apiname></xref> clears the bitmask. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Receiving notifications of LBS administration settings changes</xref> shows how to register an observer object and receive settings change notifications. </p> <p><b>MLbsAdminObserver </b> </p> <p>Applications use an object derived from <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref> to receive notifications of LBS administration settings changes. </p> <p>LBS calls <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita#GUID-800E7AE0-0115-3483-A010-933C05759532/GUID-8CAC965D-6CC3-325C-AFB2-4471F27D9CC1"><apiname>MLbsAdminObserver::OnSettingUpdateEvent()</apiname></xref> to notify an observer that a setting has changed. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-E9801842-4844-51BA-97D3-5073926E3EDA"> Receiving notifications of LBS administration settings changes</xref>  </p> </section> <section><title>Typical uses</title> <p>A 'control panel' type of application uses the LBS Administration API to manage the configuration of the LBS subsystem. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Accessing LBS administration settings</xref> shows how to use the API to configure LBS. </p> <p>A UI status bar component uses the LBS Administration API to receive notification of LBS subsystem configuration changes. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-E9801842-4844-51BA-97D3-5073926E3EDA"> Receiving notification of LBS settings changes</xref> shows how to use the API to get notification of LBS administration changes. </p> </section> <section><title>See also</title> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita">How to use the LBS Administration API</xref>  </p> <p><xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">The LBS administration repository initialisation file</xref>  </p> </section> </conbody></concept>
    16                 TLbsAdminSetting&amp; aSetting, T&amp; aValue) const;</codeph>  </p> </li> </ul> <p>The use of template methods allows the interface of <codeph>CLbsAdmin</codeph> to be simplified: all administration settings are queried and modified by use of the same <codeph>Get()</codeph> and <codeph>Set()</codeph> methods. </p> <p> <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-299B1851-2DE9-3BDF-8DA0-E11E50101466"><apiname> CLbsAdmin::Get() </apiname></xref> and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-201CA919-4684-3231-BA76-D4FC28881F0C"><apiname>CLbsAdmin::Set()</apiname></xref> take two parameters: </p> <ul><li id="GUID-9BA0BD1A-EDDE-5053-9C39-7EB28D3E2688"><p>A constant of type <xref href="GUID-D3A66A2E-612A-393A-A5ED-9BB5A92930AE.dita"><apiname>TLbsAdminSetting</apiname></xref> that specifies the administration setting that is set or returned. <codeph>TLbsAdminSetting</codeph> constants are defined in <filepath>lbsadminsettings.h</filepath>. </p> </li> <li id="GUID-26C87FF9-0965-56A5-B640-0925FEDB4C64"><p>A reference to hold the value of the administration setting to be set or returned. Many administration setting values are defined by a set of enumerated types defined in <filepath>lbsadmindatatypes.h</filepath>. </p> </li> </ul> <p>The following list describes the purpose of each of the LBS administration settings defined by the <codeph>TLbsAdminSetting</codeph> constants: </p> <ul><li id="GUID-C4B9F251-E549-5054-B13B-E2AA8B582B4C"><p> <codeph>KLbsSettingHomeSelfLocate</codeph>  </p> <p>Purpose: Configures self location requests (MO-LR) in the home network. This setting turns self location requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F3E58804-AAEE-32A6-A3C8-9868C9C8283C"><apiname>CLbsAdmin::TSelfLocateService</apiname></xref>  </p> </li> <li id="GUID-3AC62BB7-228D-5FC9-B29A-10B0B27E834D"><p> <codeph>KLbsSettingRoamingSelfLocate</codeph>  </p> <p>Purpose: Configures self location requests (MO-LR) when roaming. This setting turns self location requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F3E58804-AAEE-32A6-A3C8-9868C9C8283C"><apiname>CLbsAdmin::TSelfLocateService</apiname></xref>  </p> </li> <li id="GUID-3F546D65-D80A-5F4A-8B5F-F1EB9E9A4EB7"><p> <codeph>KLbsSettingHomeExternalLocate</codeph>  </p> <p>Purpose: Configures external location requests (MT-LR) in the home network. This setting turns external location requests on or off. It also defines if user permission for external requests should always be obtained when external locate is on, and if the user should always be notified of rejected external location requests when external locate is off. </p> <p> <i>Note that the value of this setting does not affect emergency services location requests (Emergency MT-LR) which are always accepted.</i>  </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-74AF5A08-F6D9-36F7-A904-710C18248569"><apiname>CLbsAdmin::TExternalLocateService</apiname></xref>. The value <codeph>EExternalLocateOnButAlwaysVerify</codeph> must not be used with the Network Privacy API as a privacy verification response cannot be returned for a <i>privacy notification</i> that was sent using this API. </p> </li> <li id="GUID-108A1563-A4A2-5EA6-96C7-AD8F9633531B"><p> <codeph>KLbsSettingRoamingExternalLocate</codeph>  </p> <p>Purpose: Configures external location requests (MT-LR) when roaming. See <codeph>KLbsSettingHomeExternalLocate</codeph> above. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-74AF5A08-F6D9-36F7-A904-710C18248569"><apiname>CLbsAdmin::TExternalLocateService</apiname></xref>. See <codeph>KLbsSettingHomeExternalLocate</codeph> above. </p> </li> <li id="GUID-82D067DC-4822-57B8-89B8-8127456DD2AC"><p> <codeph>KLbsSettingHomeTransmitLocate</codeph>  </p> <p>Purpose: Configures transmit to third party location requests (X3P) in the home network. This setting turns transmit to third party requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9FF8B24A-5254-34A3-8626-9BFCF5440158"><apiname>CLbsAdmin::TTransmitLocateService</apiname></xref>  </p> </li> <li id="GUID-180A8ED6-7C43-538F-8DE6-13444F950D65"><p> <codeph>KLbsSettingRoamingTransmitLocate</codeph>  </p> <p>Purpose: Configures transmit to third party location requests (X3P) when roaming. This setting turns transmit to third party requests on or off. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9FF8B24A-5254-34A3-8626-9BFCF5440158"><apiname>CLbsAdmin::TTransmitLocateService</apiname></xref>  </p> </li> <li id="GUID-1D244F95-2F3A-5A9B-9447-E96929E3A5FF"><p> <codeph>KLbsSettingQualityProfileSelfLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for MO-LR. This setting specifies a quality profile <codeph>ProfileID</codeph> for self location requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> <li id="GUID-254EFED2-C1D6-56C0-A6CE-4BDF7C661F8D"><p> <codeph>KLbsSettingQualityProfileExternalLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for MT-LR. This setting specifies a quality profile <codeph>ProfileID</codeph> for external location requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>. A value of <xref href="GUID-669E6305-674F-3750-B5B3-89255C0DA488.dita"><apiname>KLbsNoProfileInUseQualityProfileId</apiname></xref> means that a profile is not used when <codeph>KSettingLbsBehaviourMode</codeph> is set to <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-08A89E2A-6247-360C-9226-CBBCE13D4BE8"><apiname>CLbsAdmin::ELbsBehaviourModeOriginal</apiname></xref>. LBS uses quality criteria received as part of the external locate request. </p> </li> <li id="GUID-B554EC69-6172-59B9-812C-1DA6675121A9"><p> <codeph>KLbsSettingHomeTransmitLocate</codeph>  </p> <p>Purpose: Defines the quality profile used for X3P. This setting specifies a quality profile <codeph>ProfileID</codeph> for transmit to third party requests as defined in the quality profile file <filepath>lbsprofile.ini</filepath>. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-D1372B71-9608-3356-ABD4-D5F2449B2E8D"><apiname>CLbsAdmin::TLbsQualityProfileId</apiname></xref>  <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  </p> </li> <li id="GUID-A19095F6-640C-5271-BD55-89139D7D7E37"><p> <codeph>KLbsSettingHomeGpsMode</codeph>  </p> <p>Purpose: Configures the GPS mode in the home network. This setting specifies how LBS uses GPS to obtain a position fix. Note that this is the default setting. The network can override this setting as part of a location request. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>  </p> </li> <li id="GUID-0B21A0FD-9373-5379-9D30-C729062706BD"><p> <codeph>KLbsSettingRoamingGpsMode</codeph>  </p> <p>Purpose: Configures the GPS mode when roaming. See <codeph>KLbsSettingHomeGpsMode</codeph> above. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-9F902F01-29A3-3929-B045-83C72DB96E39"><apiname>CLbsAdmin::TGpsMode</apiname></xref>  </p> </li> <li id="GUID-A15CF1A9-E154-5515-96E3-858774E47AA9"><p> <codeph>KLbsSettingHomeProtocolModule</codeph>  </p> <p>Purpose: Specifies the UID of the Network Protocol Module to use in the home network. </p> <p>Values: Defined by <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref>  </p> </li> <li id="GUID-4DA64DC1-B687-5B33-BAF4-AFD3CCBD7DD5"><p> <codeph>KLbsSettingRoamingProtocolModule</codeph>  </p> <p>Purpose: Specifies the UID of the Network Protocol Module to use when roaming. </p> <p>Values: Defined by <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref>  </p> </li> <li id="GUID-F20159B4-62F2-5E8F-9A71-A389F330F1B0"><p> <codeph>KLbsProtocolModuleLoading</codeph>  </p> <p>Purpose: Defines the Network Protocol Module loading strategy - whether a module or modules are loaded on subsystem startup or based on network registration status. </p> <p>Values: A value defined by <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-1AD05E2F-6AA0-38AE-8640-02D4B4EA3363"><apiname>TLbsAdminProtocolModuleLoadingInfo::_TProtocolModuleLoading</apiname></xref> which have the following meanings: </p> <ul><li id="GUID-A1F35EC1-7531-5FBA-81AF-871F87D2BC4D"><p> <codeph>EProtocolModuleLoadingAll</codeph>  </p> <p>A value of <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-813FB3F7-6266-3FEF-B35E-84A0096805CB"><apiname>TLbsAdminProtocolModuleLoadingInfo::EProtocolModuleLoadingAll</apiname></xref> causes the two Network Protocol Modules specified by the settings <codeph>KLbsSettingHomeProtocolModule</codeph> and <codeph>KLbsSettingRoamingProtocolModule</codeph> to be loaded when the LBS subsystem starts. The modules are not unloaded until the LBS subsystem is shutdown. </p> <p>At any time, only one module can be <i>active</i> - loading a module does not make it active. Only an active module can be used to process location requests. LBS uses changes to the network registration status of the mobile device to decide which module is active. If the mobile device moves from the home network to roaming (or vice versa) the appropriate module is made active without the need to restart the device. </p> </li> <li id="GUID-72D08DD5-0838-50EA-BFF0-22579F6AC6F2"><p> <codeph>EProtocolModuleLoadingByStatus</codeph>  </p> <p>A value of <xref href="GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47.dita#GUID-6494AD2E-1A53-3369-9B85-9F2CD2E51E47/GUID-DB320F00-2498-386D-9B82-6E35C0B0F3C2"><apiname>TLbsAdminProtocolModuleLoadingInfo::EProtocolModuleLoadingByStatus</apiname></xref> means that <i>one</i> Network Protocol Module is loaded on LBS startup based on the network registration status. </p> <p>When LBS receives the first network registration status update (which should be soon after startup) it loads either the home or the roaming Network Protocol Module depending on the registration status. Only one module is loaded. Changes to the registration status (for example from the home network to roaming) do not cause a second module to be loaded. This means that if a licensee uses different Network Protocol Modules in the home network and roaming, it is necessary to restart the device when moving between networks in order to load the appropriate Network Protocol Module. </p> <p>Note that this is the default LBS behaviour based on the value in the administration repository initialisation file. </p> </li> </ul> <p>If LBS cannot obtain the device's network registration status, a Network Protocol Module cannot be made active and a location request that uses it will fail. </p> <p>The setting has no effect if the Privacy Protocol Module is specified for use: it is loaded and active when the LBS subsystem starts without waiting for a network registration status. </p> </li> <li id="GUID-9CAB68BC-0C16-5725-BC10-513FA8027DD1"><p> <codeph>KLbsSettingPrivacyHandler</codeph>  </p> <p>Purpose: Specifies use of a Privacy Controller or Privacy Notifiers. Either a Privacy Controller or Privacy Notifiers are used to inform the user when an external privacy or location request (MT-LR or NI-LR) is received. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-E10A0475-7286-3AC1-9131-DEC07BA5B75B"><apiname>CLbsAdmin::TPrivacyHandler</apiname></xref>  </p> </li> <li id="GUID-A8E31FA5-9AC3-5A16-A844-C93AFC7A1E08"><p> <codeph>KLbsSettingPrivacyAppTimeout</codeph>  </p> <p>Purpose: Specifies the time in microseconds that LBS waits for a response from a Privacy Controller or Privacy Notifier. A value of zero means the LBS nevers times out the request. The setting must be set in the repository initialisation file and cannot be set at runtime. </p> <p>Values: A time in microseconds. </p> </li> <li id="GUID-08F04021-83D7-5EC6-82C0-7CB15050BE73"><p> <codeph>KLbsSettingPrivacyTimeoutAction</codeph>  </p> <p>Purpose: Specifies the action to take on timeout of a MT-LR privacy request. This setting specifies if LBS should send a rejection message or take the action specified as part of the MT-LR privacy request message. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-F063FE21-9996-3F0E-9BE2-95067EF5B5E6"><apiname>CLbsAdmin::TPrivacyTimeoutAction</apiname></xref>  </p> </li> <li id="GUID-45EB2FE5-4871-5967-85C6-55714FD42130"><p> <codeph>KLbsSettingMaximumExternalLocateRequests</codeph>  </p> <p>Purpose: Specifies the maximum number of simultaneous privacy requests supported by the LBS subsystem. The setting only affects LBS subsystem behaviour when privacy requests are received via either the Privacy Request API or the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while is LBS running. The setting will take effect during the next LBS system startup. </p> <p>Values: The value 0 is reserved for future use. The value 1 is the default, this allows only one active external locate request at a time. Values greater than 1 allow multiple requests to be handled simultaneously. </p> </li> <li id="GUID-06D156DD-9A0C-5481-ADC0-F889A85ABBA0"><p> <codeph>KLbsSettingPrivacyShutdownDelay</codeph>  </p> <p>Purpose: The time to wait after the last privacy client disconnects before shutting down LBS. Only used with the Network Privacy API and the Privacy Request API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values:An integer value in microseconds. </p> </li> <li id="GUID-9B76614E-CEF2-55B2-B82E-7FB2DD6B125A"><p> <codeph>KLbsSettingPrivacyMaxNetworkSessions</codeph>  </p> <p>Purpose: The maximum number of concurrent network privacy sessions allowed with the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values: An integer value. The value 0 disallows any network privacy sessions. </p> </li> <li id="GUID-03F64DFF-9EF1-54E7-8834-6621A310D5A1"><p> <codeph>KLbsSettingPrivacyConnectionTimeout</codeph>  </p> <p>Purpose: The connection timeout for sessions using the Network Privacy API. This setting is read only on LBS system startup. Setting it via the LBS Admin API has no effect while LBS running. Setting will take effect during next LBS system startup. </p> <p>Values: An integer value in microseconds. </p> </li> <li id="GUID-4E9C8CD1-1295-50FC-94D8-FD57C0519573"><p> <codeph>KLbsSettingClockAdjust</codeph>  </p> <p>Purpose: Configuration of automatic system clock synchronisation with GPS. This setting specifies if automatic clock synchronisation is on or off. </p> <p>Values Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-43E5D177-778D-304C-BE11-18FBABE66E28"><apiname>CLbsAdmin::TClockAdjust</apiname></xref>  </p> </li> <li id="GUID-330F6DB9-FBC0-586A-B045-EEDB63B912EE"><p> <codeph>KLbsSettingSetClockModule</codeph>  </p> <p>Purpose: Configuration of the set clock module. This setting specifies the implementation UID of a licensee clock plug-in DLL. This value is 0 to use the default Symbian set clock implementation. </p> <p>Values: A <xref href="GUID-530281E6-29FC-33F2-BC9B-610FBA389444.dita"><apiname>TUid</apiname></xref> value </p> </li> <li id="GUID-FD67A7EB-763E-5F0A-911C-25EC1E6DEEBD"><p> <codeph>KLbsSettingClockAdjustInterval</codeph>  </p> <p>Purpose: Specifies the system clock adjustment interval in milliseconds. This setting specifies how often the system clock should be synchronised with the GPS clock. The setting is used only if the <codeph>KLbsSettingAllowClockAdjust</codeph> is set to allow automatic system clock adjustment. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-4D3DDC8A-442F-3249-BFDB-30D197E2F67F"><apiname>CLbsAdmin::TLbsTimeIntervalMiliSeconds</apiname></xref> value </p> </li> <li id="GUID-DB4C1DF2-5766-5B5B-9157-1DC50A28273F"><p> <codeph>KLbsSettingClockAdjustThreshold</codeph>  </p> <p>Purpose: Configures the system clock adjustment interval in milliseconds. This setting specifies how great the difference in time between the system clock and the GPS clock must be before the system clock is adjusted. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-4D3DDC8A-442F-3249-BFDB-30D197E2F67F"><apiname>CLbsAdmin::TLbsTimeIntervalMiliSeconds</apiname></xref> value </p> </li> <li id="GUID-E1FD82F8-946C-5D2C-B353-34D1F1C535DF"><p> <codeph>KLbsSettingLogger</codeph>  </p> <p>Purpose: Turns logging on or off in the LBS subsystem. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-3CB88D9A-DF0A-387F-8BFD-C31B565BAAA6"><apiname>CLbsAdmin::TLogger</apiname></xref> value </p> </li> <li id="GUID-3D7586C7-C5BD-54EA-9089-18A30CF3747E"><p> <codeph>KLbsSettingBehaviourMode</codeph>  </p> <p>Purpose: Specifies the behaviour mode for the LBS subsystem. The setting must be set in the repository initialisation file and cannot be set at runtime via the LBS Administration API as it is used by the LBS subsystem on startup. </p> <p>Values: Defined by <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-5C1F785E-4BEA-3D36-9921-A36526BDD841"><apiname>CLbsAdmin::TLbsBehaviourMode</apiname></xref>. See <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">repository initialisation file</xref> for more information. </p> </li> </ul> <p> <b>Special feature settings</b>  </p> <ul><li id="GUID-3D94A4F3-A7C7-5EFB-B7CB-9109507B4FA1"><p> <codeph>KLbsSpecialFeatureMaximumRequestDelay</codeph>  </p> <p>Purpose: Specifies the length of time that location updates and error codes received from a positioning module are temporarily buffered in LBS. </p> <p>Values: A time in milliseconds </p> </li> <li id="GUID-C195F056-27A7-5C4E-A8CD-B840746FE6C7"><p> <codeph>KLbsSpecialFeatureAllowTBFinalNetPos</codeph>  </p> <p>Purpose: Specifies how LBS handles final network position updates. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-220ED6E7-B841-5344-94EA-DFCA1C025C7D"><p> <codeph>KLbsSpecialFeatureIgnoreAccuracy</codeph>  </p> <p>Purpose: Configures LBS to either return only accurate position updates or all position updates including inaccurate ones. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-ADBDCE68-7DFA-58EC-9860-A07276470F0D"><p> <codeph>KLbsSpecialFeatureWithholdDeliveryOfReferencePositions</codeph> </p> <p>Purpose: Specifies if LBS should deliver reference positions to a client application when <xref href="GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575.dita#GUID-1EAEB7EF-0AC7-37C7-B35F-C9B780FFC575/GUID-AF3D9B5F-8025-3AFF-A101-82025520EBD6"><apiname>RPositioner::Open()</apiname></xref> is called with a GPS module ID. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> <li id="GUID-22D784DA-7BCC-5739-B129-D3CCFC4ACA15"><p> <codeph>KLbsSpecialFeatureIntermediateFutileUpdate</codeph>  </p> <p>Purpose: Specifies if LBS should return a "futile" update from a licensee A-GPS Integration Module to the network when there is no outstanding location request. </p> <p>Values: A <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-8737FC10-18A9-36D8-AADF-884602F0EAA6"><apiname>CLbsAdmin::TSpecialFeature</apiname></xref> value. </p> </li> </ul> <p>The special feature settings cannot be set via the LBS Administration API and so must be set in the LBS administration repository file. <xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita#GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD/GUID-FC73F710-36C2-5805-9EE9-6E9C55BE9655">Special feature settings</xref> has more information on the behaviour of LBS that is modified by the special feature settings. </p> <p> <b>Unused settings</b>  </p> <p>Note that there are some additional settings defined in <filepath>lbsadmin.h</filepath>: <codeph>KLbsSettingHomeEmergencyLocate</codeph>, <codeph>KLbsSettingRoamingEmergencyLocate</codeph>, <codeph>KLbsSettingRoamingProtocolModule</codeph> and <codeph>KLbsSettingLbsSystemStartMode</codeph>. These are not used and setting them has no effect. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Accessing LBS administration settings</xref> describes how to get and set LBS administration settings. </p> <p><b>Resetting administration settings to the default </b> </p> <p>Calling <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-42D1B1DF-A5BD-3143-BBC3-EDFC1151356D"><apiname>CLbsAdmin::ResetToDefault()</apiname></xref> causes LBS administration settings to be reset to the default values defined in the LBS administration settings initialisation file. These default settings are persisted in the central repository. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-56DA510B-4BBE-57B6-B616-888845435276">Resetting the administration settings</xref> shows how to reset the administration settings to their default values. </p> <p><b>Receiving notification of administration settings changes </b> </p> <p>To register an observer object to receive notifications of LBS administration settings changes, <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-297BD9C9-36E3-38C5-BB79-35A785B49744"><apiname>CLbsAdmin::NewL()</apiname></xref> is called with two parameters: </p> <ul><li id="GUID-383ADC1C-D7F1-5E60-9865-CFDB494DDA7D"><p>An observer object derived from <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref>  </p> </li> <li id="GUID-D84E11FC-F9B7-5CB4-AB4B-78F7675BBE8E"><p>A <xref href="GUID-CB92B5FC-CD68-34F8-A866-BED0686C08B5.dita"><apiname>TLbsAdminSettingGroup</apiname></xref> object </p> <p>A <codeph>TLbsAdminSettingGroup</codeph> object defines a bitmask of <codeph>TLbsAdminSetting</codeph> constants. An observer is notified when there is a settings change in one of the settings defined in the bitmask. </p> </li> </ul> <p> <xref href="GUID-6BD89347-671F-3518-9777-55801A090C79.dita"><apiname/></xref>  <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-C04ED964-9259-3B96-8144-0A022C3D26BA"><apiname>CLbsAdmin::SetNotificationMaskL()</apiname></xref> sets a new bitmask and <xref href="GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945.dita#GUID-E8B4B321-6B45-3764-ADD2-CD05A5533945/GUID-2CAC0F41-B58B-30D6-8742-23B38338ED1A"><apiname>CLbsAdmin::ClearNotificationMask()</apiname></xref> clears the bitmask. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Receiving notifications of LBS administration settings changes</xref> shows how to register an observer object and receive settings change notifications. </p> <p><b>MLbsAdminObserver </b> </p> <p>Applications use an object derived from <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita"><apiname>MLbsAdminObserver</apiname></xref> to receive notifications of LBS administration settings changes. </p> <p>LBS calls <xref href="GUID-800E7AE0-0115-3483-A010-933C05759532.dita#GUID-800E7AE0-0115-3483-A010-933C05759532/GUID-8CAC965D-6CC3-325C-AFB2-4471F27D9CC1"><apiname>MLbsAdminObserver::OnSettingUpdateEvent()</apiname></xref> to notify an observer that a setting has changed. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-E9801842-4844-51BA-97D3-5073926E3EDA"> Receiving notifications of LBS administration settings changes</xref>  </p> </section> <section><title>Typical uses</title> <p>A 'control panel' type of application uses the LBS Administration API to manage the configuration of the LBS subsystem. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-8C0486E7-CED1-5902-ADC8-742C3A166C6B">Accessing LBS administration settings</xref> shows how to use the API to configure LBS. </p> <p>A UI status bar component uses the LBS Administration API to receive notification of LBS subsystem configuration changes. </p> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita#GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6/GUID-E9801842-4844-51BA-97D3-5073926E3EDA"> Receiving notification of LBS settings changes</xref> shows how to use the API to get notification of LBS administration changes. </p> </section> <section><title>See also</title> <p><xref href="GUID-65448364-0EE6-5903-B2C0-28F49DD2BEA6.dita">How to use the LBS Administration API</xref>  </p> <p><xref href="GUID-852E58C1-EA5C-5B46-9020-4463D3FA06AD.dita">The LBS administration repository initialisation file</xref>  </p> </section> </conbody></concept>