201029
authorhgs
Fri, 23 Jul 2010 19:40:48 +0530
changeset 37 e175e2ba2fb0
parent 35 1a92308afc46
child 39 3efc7a0e8755
201029
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/BWINS/FT_lmservlibu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/eabi/FT_lmservlibu.def
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/ABLD.BAT
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/FT_LmServerClientLibrary.mmp
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/bld.inf
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerCommon.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerDefs.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_RPosLandmarkServer.h
landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/src/FT_RPosLandmarkServer.cpp
locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicator.pro
locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicatorplugin.qrc
locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp
locationsystemui/locationsysui/posindicator/posindicatorplugin/translations/lilocationmw.qm
locationsystemui/locationsysui/posindicator/posindicatorplugin/translations/lilocationmw.ts
locationsystemui/locationsysui/possettings/possettings.pro
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp
locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsform.cpp
locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro
locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.qrc
locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp
locationsystemui/locationsysui/possettings/possettingsplugin/translations/possettings.qm
locationsystemui/locationsysui/possettings/possettingsplugin/translations/possettings.ts
locationsystemui/locationsysui/possettings/rom/possettings.iby
locationsystemui/locationsysui/privacyverifiernotifierui/bwins/locnotificationengineu.def
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/group/contactresolversession.mmp
locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/src/contactresolversession.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/eabi/locnotificationengineu.def
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/apilogger.h
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/locnotificationengine.pro
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/apilogger.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/locrequestorutilsresolver.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/qlocnotificationengine.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/group/locprivacyserver.mmp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserver.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserversession.h
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserver.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserversession.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserverstartup.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdglobalplugindialog.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestorprocessor.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierplugin.cpp
locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationcustomdialog.cpp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.mmp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AdvancedTriggerSupervision.h
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervision.cpp
locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/conf/CellbasedtriggerOperations.cfg
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/CellbasedtriggerOperations.h
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/lbtcidchangenotifier.h
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/CellbasedtriggerOperationsBlocks.cpp
locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/lbtcidchangenotifier.cpp
locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/conf/TestHybridTriggers.cfg
locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/src/TestHybridTriggersBlocks.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/BWINS/FT_lmservlibu.def	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,13 @@
+EXPORTS
+	??0RPosLandmarkServer@@QAE@XZ @ 1 NONAME ; RPosLandmarkServer::RPosLandmarkServer(void)
+	?Close@RPosLandmarkServer@@QAEXXZ @ 2 NONAME ; void RPosLandmarkServer::Close(void)
+	?Connect@RPosLandmarkServer@@QAEHXZ @ 3 NONAME ; int RPosLandmarkServer::Connect(void)
+	?GetDatabaseInfo@RPosLandmarkServer@@QAEHAAVHPosLmDatabaseInfo@@@Z @ 4 NONAME ; int RPosLandmarkServer::GetDatabaseInfo(class HPosLmDatabaseInfo &)
+	?ListDatabasesL@RPosLandmarkServer@@QAEXAAV?$RPointerArray@VHPosLmDatabaseInfo@@@@ABVTDesC16@@@Z @ 5 NONAME ; void RPosLandmarkServer::ListDatabasesL(class RPointerArray<class HPosLmDatabaseInfo> &, class TDesC16 const &)
+	?ListDatabasesLC@RPosLandmarkServer@@QAEPAVCDesC16Array@@ABVTDesC16@@@Z @ 6 NONAME ; class CDesC16Array * RPosLandmarkServer::ListDatabasesLC(class TDesC16 const &)
+	?ModifyDatabaseSettings@RPosLandmarkServer@@QAEHABVTDesC16@@ABVTPosLmDatabaseSettings@@VTChar@@@Z @ 7 NONAME ; int RPosLandmarkServer::ModifyDatabaseSettings(class TDesC16 const &, class TPosLmDatabaseSettings const &, class TChar)
+	?RegisterDatabase@RPosLandmarkServer@@QAEHAAVHPosLmDatabaseInfo@@@Z @ 8 NONAME ; int RPosLandmarkServer::RegisterDatabase(class HPosLmDatabaseInfo &)
+	?ReportEvent@RPosLandmarkServer@@QAEHABUTPosLmDatabaseEvent@@ABVTDesC16@@@Z @ 9 NONAME ; int RPosLandmarkServer::ReportEvent(struct TPosLmDatabaseEvent const &, class TDesC16 const &)
+	?UnregisterAllDatabases@RPosLandmarkServer@@QAEHABVTDesC16@@@Z @ 10 NONAME ; int RPosLandmarkServer::UnregisterAllDatabases(class TDesC16 const &)
+	?UnregisterDatabase@RPosLandmarkServer@@QAEHABVTDesC16@@VTChar@@@Z @ 11 NONAME ; int RPosLandmarkServer::UnregisterDatabase(class TDesC16 const &, class TChar)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/eabi/FT_lmservlibu.def	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,14 @@
+EXPORTS
+	_ZN18RPosLandmarkServer11ReportEventERK19TPosLmDatabaseEventRK7TDesC16 @ 1 NONAME
+	_ZN18RPosLandmarkServer14ListDatabasesLER13RPointerArrayI18HPosLmDatabaseInfoERK7TDesC16 @ 2 NONAME
+	_ZN18RPosLandmarkServer15GetDatabaseInfoER18HPosLmDatabaseInfo @ 3 NONAME
+	_ZN18RPosLandmarkServer15ListDatabasesLCERK7TDesC16 @ 4 NONAME
+	_ZN18RPosLandmarkServer16RegisterDatabaseER18HPosLmDatabaseInfo @ 5 NONAME
+	_ZN18RPosLandmarkServer18UnregisterDatabaseERK7TDesC165TChar @ 6 NONAME
+	_ZN18RPosLandmarkServer22ModifyDatabaseSettingsERK7TDesC16RK22TPosLmDatabaseSettings5TChar @ 7 NONAME
+	_ZN18RPosLandmarkServer22UnregisterAllDatabasesERK7TDesC16 @ 8 NONAME
+	_ZN18RPosLandmarkServer5CloseEv @ 9 NONAME
+	_ZN18RPosLandmarkServer7ConnectEv @ 10 NONAME
+	_ZN18RPosLandmarkServerC1Ev @ 11 NONAME
+	_ZN18RPosLandmarkServerC2Ev @ 12 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/ABLD.BAT	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,31 @@
+rem
+rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+rem All rights reserved.
+rem This component and the accompanying materials are made available
+rem under the terms of the License "Symbian Foundation License v1.0"
+rem which accompanies this distribution, and is available
+rem at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+rem
+rem Initial Contributors:
+rem Nokia Corporation - initial contribution.
+rem
+rem Contributors:
+rem
+rem Description:
+rem
+
+@ECHO OFF
+
+REM Bldmake-generated batch file - ABLD.BAT
+REM ** DO NOT EDIT **
+
+perl -S ABLD.PL "\work\mrt\TestProvider\ServerClientLib\group\\" %1 %2 %3 %4 %5 %6 %7 %8 %9
+if errorlevel==1 goto CheckPerl
+goto End
+
+:CheckPerl
+perl -v >NUL
+if errorlevel==1 echo Is Perl, version 5.003_07 or later, installed?
+goto End
+
+:End
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/FT_LmServerClientLibrary.mmp	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*     This is the project specification file for Landmarks Server
+*     Client Library.
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET          FT_lmservlib.dll
+TARGETTYPE      dll
+//UID             0x1000008d 0x101fe97a
+UID             0x1000008d 0x03132019
+
+//VENDORID        VID_DEFAULT
+//CAPABILITY      CAP_CLIENT_DLL
+CAPABILITY      ALL -TCB
+
+SOURCEPATH      ../src
+SOURCE          FT_RPosLandmarkServer.cpp
+
+USERINCLUDE     ../inc
+
+MW_LAYER_SYSTEMINCLUDE
+
+SYSTEMINCLUDE   /Epoc32/Include 
+
+
+LIBRARY         euser.lib
+LIBRARY         bafl.lib
+LIBRARY         estor.lib
+LIBRARY         eposlmdbmanlib.lib
+
+
+SMPSAFE
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/group/bld.inf	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*   Build info file for Landmarks Server Client Library
+*
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+
+PRJ_MMPFILES
+FT_LmServerClientLibrary.mmp
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerCommon.h	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef POSLMSERVERCOMMON_H
+#define POSLMSERVERCOMMON_H
+
+#include "FT_PosLmServerDefs.h"
+
+// CONSTANTS
+const TUint KPosLmServerEventArg =      0;
+const TUint KPosLmServerDbManEventArg  =0;
+const TUint KPosLmServerUriArg =        0;
+const TUint KPosLmServerUriLengthArg =  1;
+const TUint KPosLmServerDbReplaceArg =  1;
+const TUint KPosLmServerProtocolArg  =  0;
+const TUint KPosLmServerSourceUriArg =  0;
+const TUint KPosLmServerDbInfoArg    =  0;
+const TUint KPosLmServerTargetUriArg =  1;
+
+const TUint KPosLmServerDbManUriArg  =  1;
+const TUint KPosLmServerDriveArg     =  1;
+const TUint KPosLmServerBufferArg    =  1;
+const TUint KPosLmServerDbEventArg   =  1;
+
+const TUint KPosLmServerAllocLengthArg =2;
+const TUint KPosLmServerDbSettingsArg  =2;
+
+const TUint KPosLmServerStatusArg   =   0;
+const TUint KPosLmServerProgressArg =   1;
+const TUint KPosLmServerInitFlagArg =   2;
+
+const TUint KPosLmServerDbLockSetOnArg =    0;
+const TUint KPosLmServerDbLockSetWriteArg = 1;
+
+/**
+* Possible messages to be sent between client and server.
+*/
+enum TPosLmServerMessage
+    {
+    // NOTE!
+    // If you add a new message here, it must also be added
+    // to the policy handling in the CPosLmServer class.
+
+    EPosLmServerInitializeSync = 0,
+    EPosLmServerInitializeAsync,
+    EPosLmServerInitializeCancel,
+    EPosLmServerLangSwitchSync,
+    EPosLmServerLangSwitchAsync,
+    EPosLmServerLangSwitchCancel,
+    EPosLmServerRecoverSync,
+    EPosLmServerRecoverAsync,
+    EPosLmServerRecoverCancel,
+    EPosLmServerListenForLmEvent,
+    EPosLmServerCancelListenForLmEvent,
+    EPosLmServerListenForDbEvent,
+    EPosLmServerCancelListenForDbEvent,
+    EPosLmServerUriFromLastEvent,
+    EPosLmServerCreateDefaultDb,
+    EPosLmServerListDatabaseUris,
+    EPosLmServerRemainingDatabaseUris,
+    EPosLmServerListDatabaseInfo,
+    EPosLmServerRemainingDatabaseInfo,
+    EPosLmServerReadDatabaseSettings,
+    // The IPC messages above requires capability ReadUserData.
+
+    EPosLmServerRegisterSession,
+    EPosLmServerRegisterLocalAccessSubsession,
+    EPosLmServerRegisterEventListenerSubsession,
+    EPosLmServerRegisterLocalDbManSubsession,
+    EPosLmServerUnregisterSubsession,
+    // The IPC messages above requires NO capabilities.
+
+    EPosLmServerDbLock,
+    // The IPC message above requires a custom check.
+    //  Read lock requires:     ReadUserData
+    //  Write lock requires:    ReadUserData, WriteUserData
+
+    EPosLmServerCreateDatabase,
+    EPosLmServerDeleteDatabase,
+    EPosLmServerCopyDatabase,
+    EPosLmServerRegisterDatabase,
+    EPosLmServerUnregisterDatabase,
+    EPosLmServerUnregisterAllDatabases,
+    EPosLmServerModifyDatabaseSettings,
+    EPosLmServerReportLmEvent,
+    EPosLmServerReportDbEvent,
+    EPosLmServerFreeResources,
+    // The IPC messages above requires capability ReadUserData and WriteUserData
+
+    EPosLmServerLast
+    };
+
+
+#endif      // POSLMSERVERCOMMON_H
+
+// End of File
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_PosLmServerDefs.h	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef POSLMSERVERDEFS_H
+#define POSLMSERVERDEFS_H
+
+// CONSTANTS
+_LIT(KPosLandmarksServerName, "!eposlmserver");
+
+const TUint KPosLmServerMajorVersionNumber = 1;
+const TUint KPosLmServerMinorVersionNumber = 0;
+const TUint KPosLmServerBuildVersionNumber = 0;
+
+#endif      // POSLMSERVERDEFS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/inc/FT_RPosLandmarkServer.h	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,285 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+#ifndef RPOSLANDMARKSERVER_H
+#define RPOSLANDMARKSERVER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <EPos_TPosLmDatabaseEvent.h>
+#include <EPos_TPosLmDatabaseSettings.h>
+#include <EPos_HPosLmDatabaseInfo.h>
+
+// FORWARD DECLARATIONS
+class CPosLandmarkServerExtension;
+
+// CLASS DECLARATION
+
+/**
+*  Client API for the landmark server.
+*
+*  @lib eposlmservlib.lib
+*  @since S60 3.0
+*  @version $Revision: 1.4 $, $Date: 2005/07/07 13:40:03 $
+*/
+class RPosLandmarkServer : public RSessionBase
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * C++ default constructor.
+        */
+        IMPORT_C RPosLandmarkServer();
+
+    public: // New functions
+
+
+        /**
+        * Connect to the landmark server.
+        *
+        * The server is started if it is not already running.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt Connect();
+
+        /**
+        * Closes the session to the server
+        *
+        * @since S60 3.0
+        */
+        IMPORT_C void Close();
+
+        /**
+        * Lists all URIs in the server's database registry for a certain
+        * protocol.
+        *
+        * The client specifies a protocol string as input to this function.
+        * The function only returns a list of the databases which are
+        * accessed through this protocol.
+        *
+        * The client takes ownership of the returned array.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed.
+        * @return The list of database URIs.
+        */
+        IMPORT_C CDesCArray* ListDatabasesLC(
+        /* IN  */       const TDesC& aProtocol
+        );
+
+        /**
+        * Lists information about each landmark database in the
+        * server's database registry.
+        *
+        * The client specifies a protocol string as input to this function.
+        * The function only returns information about the databases
+        * which are accessed through this protocol.
+        *
+        * The client specifies an array which is populated by this function.
+        * The client takes ownership of all information objects in the array.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfoArray On return, contains information about
+        *   the landmark databases. Any objects which are in the array when
+        *   it is passed to this function will be not be removed.
+        * @param aProtocol The protocol for which database URIs should be
+        *   listed.
+        */
+        IMPORT_C void ListDatabasesL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */       const TDesC& aProtocol = KNullDesC
+        );
+
+        /**
+        * Registers a landmark database.
+        *
+        * The landmark database is then returned when listing landmark
+        * databases.
+        *
+        * The client supplies an information object containing the URI of the
+        * database to register. The information object can also contain
+        * database settings, e.g. a display name for the database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfo Information about the landmark database to
+        *   register.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrAlreadyExists if the database has already been registered.
+        */
+        IMPORT_C TInt RegisterDatabase(
+        /* IN/OUT */       HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Unregisters a landmark database.
+        *
+        * After this, the landmark database will not be returned when listing
+        * landmark databases.
+        *
+        * If the database has not been registered, nothing happens.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseUri The URI of the database to unregister.
+        * @param aDriveLetter The drive where the database resides. If
+        *   drive is not applicable, 0 should be specified.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.
+        */
+        IMPORT_C TInt UnregisterDatabase(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       TChar aDriveLetter = 0
+        );
+
+        /**
+        * Unregisters all landmark databases which are accessed through a
+        * certain protocol.
+        *
+        * After this, the landmark databases will not be returned when listing
+        * landmark databases.
+        *
+        * If the protocol is not known or if there are no databases for
+        * the protocol, nothing happens.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aProtocol The protocol to unregister all databases for.
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt UnregisterAllDatabases(
+        /* IN  */       const TDesC& aProtocol
+        );
+
+        /**
+        * Modifies the settings for a landmark database.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aDatabaseUri The URI of the database to modify settings for.
+        * @param aDatabaseSettings The new settings for the database.
+        * @param aDriveLetter The drive where the database resides. If
+        *   drive is not applicable, 0 should be specified.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrNotFound if the URI does not exist in the registry.
+        */
+        IMPORT_C TInt ModifyDatabaseSettings(
+        /* IN  */       const TDesC& aDatabaseUri,
+        /* IN  */       const TPosLmDatabaseSettings& aDatabaseSettings,
+        /* IN  */       TChar aDriveLetter = 0
+        );
+
+        /**
+        * Retrieve information about a landmark database.
+        *
+        * This function requires @p ReadUserData capability.
+        *
+        * @since S60 3.0
+        * @param aDatabaseInfo An information object containing the URI of the
+        *   landmark database. On return, the object contains information about
+        *   the landmark database, including any database settings.
+        * @return @p KErrNone if successful.\n
+        *   @p KErrArgument if the URI is incorrect.\n
+        *   @p KErrNotFound if the URI does not exist in the registry.
+        */
+        IMPORT_C TInt GetDatabaseInfo(
+        /* IN/OUT */    HPosLmDatabaseInfo& aDatabaseInfo
+        );
+
+        /**
+        * Reports a database management event.
+        *
+        * The event is distributed to all listening clients.
+        *
+        * A database URI can be specified to indicate which database the
+        * event is about.
+        *
+        * This function requires @p ReadUserData and @p WriteUserData
+        * capabilities.
+        *
+        * @since S60 3.0
+        * @param aEvent Event information
+        * @param aDatabaseUri The URI of the database which the event is about.
+        * @return @p KErrNone if successful, otherwise a system-wide error
+        *   code.
+        */
+        IMPORT_C TInt ReportEvent(
+        /* IN  */       const TPosLmDatabaseEvent& aEvent,
+        /* IN  */       const TDesC& aDatabaseUri = KNullDesC
+        );
+
+    private:
+
+        HBufC8* SendMessageLC(
+        /* IN  */       TInt aFunction,
+        /* IN  */       const TDesC& aDes,
+        /* IN  */       TInt aLength,
+        /* IN/OUT */    TInt& aAllocLength
+        );
+
+        void PopulateArrayL(
+        /* OUT */       RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+        /* IN  */       HBufC8* aBuffer
+        );
+
+        void PopulateArrayL(
+        /* OUT */       CDesCArray* aArray,
+        /* IN  */       HBufC8* aBuffer
+        );
+
+        void FreeResources();
+
+        static void FreeRsc(TAny* aParam);
+        /**
+        * Starts the server.
+        *
+        * @return KErrNone on success, otherwise any system wide error.
+        */
+        TInt StartServer();
+
+    private:    // Data
+
+        CPosLandmarkServerExtension* iExtension;
+    };
+
+#endif      // RPOSLANDMARKSERVER_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarks/locationlandmarks/tsrc/LandmarkTestModule/TestProvider/ServerClientLib/src/FT_RPosLandmarkServer.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,401 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*
+*/
+
+
+// INCLUDE FILES
+#include <badesca.h>
+#include "FT_PosLmServerCommon.h"
+#include "FT_RPosLandmarkServer.h"
+
+// CONSTANTS
+const TInt KDefaultMessageSlots = 4;
+const TInt KPosLmNumberOfTrials = 5;
+const TUid KLandmarksServerUid = { 0x101fdf81 };
+const TInt KGranularity = 10;
+const TInt KPreAllocLengthURI = 1024;
+const TInt KPreAllocLengthDbInfo = 2048;
+
+_LIT(KPosLandmarksServerImg, "EPosLmServer");
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+EXPORT_C RPosLandmarkServer::RPosLandmarkServer() :
+    RSessionBase(),
+    iExtension(NULL)
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::Connect
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::Connect()
+    {
+    TBool retrying = ETrue;
+    TInt counter = KPosLmNumberOfTrials;
+    TInt err;
+
+
+    while (retrying && counter > 0)
+        {
+        err = CreateSession(
+            KPosLandmarksServerName,
+            TVersion(
+                KPosLmServerMajorVersionNumber,
+                KPosLmServerMinorVersionNumber,
+                KPosLmServerBuildVersionNumber),
+            KDefaultMessageSlots);
+
+        if (err != KErrNotFound && err != KErrServerTerminated)
+            {
+            // Session is up.
+            retrying = EFalse;
+            }
+        else if (--counter > 0)
+            {
+            err = StartServer();
+
+            if (err != KErrAlreadyExists && err != KErrNone)
+                {
+                // Server returned error code other than
+                // KErrAlreadyExists or KErrNone. The client should
+                // receive this code.
+                retrying = EFalse;
+                }
+            }
+        }
+
+    return err;
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::Close
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RPosLandmarkServer::Close()
+    {
+    RSessionBase::Close();
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ListDatabasesLC
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CDesCArray* RPosLandmarkServer::ListDatabasesLC(
+    const TDesC& aProtocol)
+    {
+    TInt allocLength = 0;
+    CDesCArray* array = new (ELeave) CDesCArrayFlat(KGranularity);
+    CleanupStack::PushL(array);
+
+    CleanupStack::PushL(TCleanupItem(*FreeRsc, this));
+
+    HBufC8* buffer = SendMessageLC(EPosLmServerListDatabaseUris,
+        aProtocol, KPreAllocLengthURI, allocLength);
+
+    PopulateArrayL(array, buffer);
+    CleanupStack::PopAndDestroy(buffer);
+    CleanupStack::Pop(); //FreeRsc
+
+    if (allocLength > 0)
+        {
+        buffer = SendMessageLC(EPosLmServerRemainingDatabaseUris,
+                KNullDesC, allocLength, allocLength);
+        PopulateArrayL(array, buffer);
+        CleanupStack::PopAndDestroy(buffer);
+        }
+    return array;
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ListDatabasesL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RPosLandmarkServer::ListDatabasesL(
+    RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+    const TDesC& aProtocol)
+    {
+    CleanupStack::PushL(TCleanupItem(*FreeRsc, this));
+
+    TInt allocLength = 0;
+    HBufC8* buffer = SendMessageLC(EPosLmServerListDatabaseInfo,
+        aProtocol, KPreAllocLengthDbInfo, allocLength);
+
+    PopulateArrayL(aDatabaseInfoArray, buffer);
+    CleanupStack::PopAndDestroy(buffer);
+    CleanupStack::Pop(); //FreeRsc
+
+    if (allocLength > 0)
+        {
+        buffer = SendMessageLC(EPosLmServerRemainingDatabaseInfo,
+                KNullDesC, allocLength, allocLength);
+        PopulateArrayL(aDatabaseInfoArray, buffer);
+        CleanupStack::PopAndDestroy(buffer);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::RegisterDatabase
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::RegisterDatabase(
+    HPosLmDatabaseInfo& aDatabaseInfo)
+    {
+    TInt size = aDatabaseInfo.Size();
+    TPtr8 ptr(reinterpret_cast<TUint8*>(&aDatabaseInfo), size, size);
+
+    return SendReceive(EPosLmServerRegisterDatabase, TIpcArgs(&ptr));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::UnregisterDatabase
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::UnregisterDatabase(
+    const TDesC& aDatabaseUri,
+    TChar aDriveLetter)
+    {
+    TPckgC<TChar> drivePckg(aDriveLetter);
+    return SendReceive(EPosLmServerUnregisterDatabase,
+        TIpcArgs(&aDatabaseUri, &drivePckg));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::UnregisterAllDatabases
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::UnregisterAllDatabases(
+    const TDesC& aProtocol)
+    {
+    return SendReceive(EPosLmServerUnregisterAllDatabases,
+        TIpcArgs(&aProtocol));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ModifyDatabaseSettings
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::ModifyDatabaseSettings(
+    const TDesC& aDatabaseUri,
+    const TPosLmDatabaseSettings& aDatabaseSettings,
+    TChar aDriveLetter)
+    {
+    TPckgC<TChar> drivePckg(aDriveLetter);
+    TPckgC<TPosLmDatabaseSettings> settingsPckg(aDatabaseSettings);
+
+    return SendReceive(EPosLmServerModifyDatabaseSettings,
+        TIpcArgs(&aDatabaseUri, &drivePckg, &settingsPckg));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::GetDatabaseInfo
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::GetDatabaseInfo(
+    HPosLmDatabaseInfo& aDatabaseInfo)
+    {
+    TInt size = aDatabaseInfo.Size();
+    TPtr8 ptr(reinterpret_cast<TUint8*>(&aDatabaseInfo), size, size);
+
+    return SendReceive(
+        EPosLmServerReadDatabaseSettings, TIpcArgs(&ptr));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::ReportEvent
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+EXPORT_C TInt RPosLandmarkServer::ReportEvent(
+    const TPosLmDatabaseEvent& aEvent,
+    const TDesC& aDatabaseUri)
+    {
+    TPckgC<TPosLmDatabaseEvent> eventPckg(aEvent);
+
+    return SendReceive(EPosLmServerReportDbEvent,
+        TIpcArgs(&aDatabaseUri, &eventPckg));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::StartServer
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt RPosLandmarkServer::StartServer()
+    {
+    TRequestStatus started;
+
+    const TUidType serverUid(KNullUid, KNullUid, KLandmarksServerUid);
+
+    /**
+    EPOC is easy, we just create a new server process. Simultaneous launching
+    of two such processes should be detected when the second one attempts to
+    create the server object, failing with KErrAlreadyExists.
+    **/
+    RProcess server;
+    TInt ret = server.Create(KPosLandmarksServerImg, KNullDesC, serverUid);
+
+    if (ret != KErrNone)
+        {
+        return ret;
+        }
+
+    server.Rendezvous(started);
+    //
+    // logon OK - start the server
+    server.Resume();
+
+    User::WaitForRequest(started);  // wait for start or death
+
+    server.Close();
+
+    return started.Int();
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::SendMessageLC
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+HBufC8* RPosLandmarkServer::SendMessageLC(
+    TInt aFunction,
+    const TDesC& aDes,
+    TInt aLength,
+    TInt& aAllocLength)
+    {
+    HBufC8* buffer = HBufC8::NewLC(aLength);
+    TPtr8 bufPtr = buffer->Des();
+
+    TPckg<TInt> allocPckg(aAllocLength);
+    User::LeaveIfError(SendReceive(aFunction,
+        TIpcArgs(&aDes, &bufPtr, &allocPckg)));
+    return buffer;
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::PopulateArrayL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::PopulateArrayL(
+    CDesCArray* aArray,
+    HBufC8* aBuffer)
+    {
+    if (aBuffer->Length() > 0)
+        {
+        TUint8* bufPointer = const_cast<TUint8*>(aBuffer->Ptr());
+        const TUint8* endPointer = bufPointer + aBuffer->Size();
+        while (bufPointer < endPointer)
+            {
+            TPckgBuf<TInt> intPckg;
+            intPckg.Copy(bufPointer, intPckg.MaxLength());
+
+            TInt uriLength = intPckg();
+            TInt uriSize = uriLength * 2;
+            bufPointer += intPckg.Size();
+            HBufC* uri = HBufC::NewLC(uriSize);
+            uri->Des().SetLength(uriLength);
+
+            TPtr8 uriPtr(reinterpret_cast<TUint8*>(
+                const_cast<TUint16*>(uri->Ptr())), uriSize, uriSize);
+            uriPtr.Copy(bufPointer, uriSize);
+            bufPointer += uriSize;
+
+            aArray->AppendL(*uri);
+            CleanupStack::PopAndDestroy(uri);
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::PopulateArrayL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::PopulateArrayL(
+    RPointerArray<HPosLmDatabaseInfo>& aDatabaseInfoArray,
+    HBufC8* aBuffer)
+    {
+    if (aBuffer->Length() > 0)
+        {
+        TInt currentLength = 0;
+        TInt bufferLength = aBuffer->Length();
+        do  {
+            TUint8* infoPtr =
+                const_cast<TUint8*>(aBuffer->Ptr() + currentLength);
+            HPosLmDatabaseInfo* dbInfo = HPosLmDatabaseInfo::NewLC(
+                *(reinterpret_cast<HPosLmDatabaseInfo*>(infoPtr)));
+
+            aDatabaseInfoArray.AppendL(dbInfo);
+            currentLength += dbInfo->Size();
+            CleanupStack::Pop(dbInfo);
+            } while (currentLength < bufferLength);
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::FreeResources
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::FreeResources()
+    {
+    SendReceive(EPosLmServerFreeResources, TIpcArgs(TIpcArgs::ENothing));
+    }
+
+// -----------------------------------------------------------------------------
+// RPosLandmarkServer::FreeRsc
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void RPosLandmarkServer::FreeRsc(TAny* aParam)
+    {
+    reinterpret_cast<RPosLandmarkServer*>(aParam)->FreeResources();
+    }
+
+//  End of File
--- a/locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicator.pro	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicator.pro	Fri Jul 23 19:40:48 2010 +0530
@@ -21,7 +21,6 @@
           plugin
 MOC_DIR =     moc
 OBJECTS_DIR = obj
-RESOURCES += posindicatorplugin.qrc
 
 DEPENDPATH += .
 INCLUDEPATH += ../inc
@@ -51,9 +50,5 @@
     pluginstub.path = /resource/plugins/indicators
     DEPLOYMENT += pluginstub
     
-    # Add translation files
-    addFiles.sources = translations/lilocationmw.qm
-    addFiles.path = .
-    DEPLOYMENT += addFiles
 }
 
--- a/locationsystemui/locationsysui/posindicator/posindicatorplugin/posindicatorplugin.qrc	Fri Jul 09 20:18:03 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/translations" >
-        <file alias="lilocationmw">translations/lilocationmw.qm</file>
-    </qresource>
-</RCC>
--- a/locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -51,16 +51,8 @@
     
     QString locale = QLocale::system().name();
     QString path = "z:/resource/qt/translations/";
-    bool loaded = false;
-    loaded = mTranslator->load(path + QString("lilocationmw_") + locale);
-    if (loaded == false)
-        {
-        loaded = mTranslator->load("lilocationmw", ":/translations");
-        }
-    if (loaded)
-        {
-        qApp->installTranslator(mTranslator);
-        }
+    mTranslator->load(path + QString("lilocationmw_") + locale);
+    qApp->installTranslator(mTranslator);
         
     mIndicatorTypes.append(typeOfIndicator);
     qDebug() << "- PosIndicatorPlugin::PosIndicatorPlugin()";
Binary file locationsystemui/locationsysui/posindicator/posindicatorplugin/translations/lilocationmw.qm has changed
--- a/locationsystemui/locationsysui/posindicator/posindicatorplugin/translations/lilocationmw.ts	Fri Jul 09 20:18:03 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,826 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_loe_list_use_1">
-    <comment>%1 is the name of the positioning server</comment>        
-    <source>Use %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_settings">
-    <comment>Button for accessing settings in control palel</comment>        
-    <source>Settings</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_lint_button_settings</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_seconds">
-    <comment>Update interval value when update happens in seconds (59s or less)</comment>        
-    <source>Updates every %L1 seconds</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4e">
-    <comment>Coordinate value</comment>        
-    <source>%L1Ëš%L2&apos;%L3.%L4&quot;E</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4e</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_reject">
-    <comment>Location request query dialog - Softkey button. Allows the user to reject the suggested operation.</comment>        
-    <source>Reject</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_day_and_l2_hour">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 day and %L2 hour</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_cancel">
-    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to cancel the action or process.</comment>        
-    <source>Cancel</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_hour_and_l2_minute">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 hour and %L2 minute</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_wifi">
-    <comment>Wi-FI - enable/disable wifi usage in positioning context</comment>        
-    <source>Wi-Fi</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_minute_and_l2_seco">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 minute and %L2 second</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_enable_for_most_accurate_positioning">
-    <comment>Description text for GPS under the checkbox item</comment>        
-    <source>Enable for most accurate positioning</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec </extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_accuracy_ln_kilometers">
-    <comment>%L1 = Accuracy information in kilometers. Displayed when over 999 meters</comment>        
-    <source>Accuracy: %Ln kilometers</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_lint_list_accuracy_1_kilometers</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_assisted_gps">
-    <comment>Assisted GPS - enabling or disabling</comment>        
-    <source>Assisted GPS</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_positioning_settings">
-    <comment>subtitle for positioning settings main view</comment>        
-    <source>Positioning settings</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_location_was_requested_by">
-    <comment>Requestor info text in Location request query dialog</comment>        
-    <source>Location was requested by : </source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_valid_until_1">
-    <comment>%1 is the date value until the service is active/available</comment>        
-    <source>Valid until %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_your_location_not_sent_to_1">
-    <comment>Multiline secondary text in a list item. %1 is the name of the service</comment>        
-    <source>Your location not sent to: %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_018</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_upd_every_l1_hour_and_l2_minute">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 hour and %L2 minutes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_background_positioning">
-    <comment>Checkbox item for enabling/disabling Background positioning</comment>        
-    <source>Background positioning</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_hours_and_l2_minut">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 hours and %L2 minute</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_updates_every_ln_months">
-    <comment>update interval value</comment>        
-    <source>Updates every %Ln months</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_minutes_and_l2_sec">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 minutes and %L2 second</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4n">
-    <comment>Coordinate value</comment>        
-    <source>%L1Ëš%L2&apos;%L3.%L4&quot;N</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4n</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_months_and_l2_days">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 months and %L2 days</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_your_location_sent_to_1">
-    <comment>Multiline secondary text in a list item. %1 is the name of the service</comment>        
-    <source>Your location sent to : %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_018</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_your_location_sent_to_1_ln_times">
-    <comment>Multiline secondary text in a list item for periodic location notifiers. %1 is the name of the service. %Ln indicates how many times the location has been sent to %1.  Example text : Your location sent to Nokia , Friends finder 6 times</comment>        
-    <source>Your location sent to %1 %Ln times</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_018</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_month_and_l2_days">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 month and %L2 days</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_unknown_requestor">
-    <comment>If the requestor is unknown, this text string should be shown to the user. </comment>        
-    <source>Unknown requestor</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_up_every_l1_hours_and_l2_minut">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 hours and %L2 minutes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_you_location_will_be_shared_periodica">
-    <comment>Info text for periodic location request query - No default policy</comment>        
-    <source>You location will be shared periodically with :</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_014</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_dblist_positioning">
-    <comment>UniversalIndicatorMenu item text. </comment>        
-    <source>Positioning</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_done">
-    <comment>Button in dialog for closing the Positioning info dialog</comment>        
-    <source>Done</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_1</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_info_ln_unknown_requestors">
-    <comment>If there are more than one unknown requestor, this text string should be shown to the user. </comment>        
-    <source>%Ln Unknown requestors</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_stop_service_1">
-    <comment>Confirmation about stopping service. %1 is the name of the service</comment>        
-    <source>Stop service %1</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri3_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_010</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_dpophead_your_location_not_sent_to">
-    <comment>Location notification heading text </comment>        
-    <source>Your location not sent to :</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_016</extra-loc-viewid>
-    <extra-loc-positionid>dpophead</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_days_and_l2_hour">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 days and %L2 hour</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_accept">
-    <comment>Location request query dialog - Softkey button. Allows the user to accept the location request</comment>        
-    <source>Accept</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_ok">
-    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. When this button is pressed, the focused item or operation will be selected or accepted.</comment>        
-    <source>OK</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_cellular_network">
-    <comment>2G/3G/etc network settings for positionin use</comment>        
-    <source>Cellular network</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_opt_delete_server">
-    <comment>Option menu item</comment>        
-    <source>Delete server</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subhead_logs">
-    <comment>Sub heading text for Location notification logs view</comment>        
-    <source>Logs</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_018</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_advanced">
-    <comment>Button - takes to advanced positioning settings</comment>        
-    <source>Advanced</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec </extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_days_and_l2_hours">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 days and %L2 hours</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_dblist_positioning_val_change_positioning_s">
-    <comment>Control panel item in CP main view</comment>        
-    <source>Change positioning settings</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>cp_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>cp</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_accuracy_ln_meters">
-    <comment>%L1 = Accuracy information in meters. Displayed when value is 999 meters or less</comment>        
-    <source>Accuracy: %Ln meters</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_lint_accuracy_1_meters</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_dpophead_your_location_sent_to">
-    <comment>Location notification heading text </comment>        
-    <source>Your location sent to :</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_016</extra-loc-viewid>
-    <extra-loc-positionid>dpophead</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_positioning_methods">
-    <comment>Group heading for positioning methods</comment>        
-    <source>Positioning methods</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_expand_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_updates_every_ln_hours">
-    <comment>update interval value</comment>        
-    <source>Updates every %Ln hours</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_internal_gps">
-    <comment>Internal GPS chipset - enabling or disabling that</comment>        
-    <source>Internal GPS</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_clear_logs">
-    <comment>Single toolbar item to clear logs in Location notification log view</comment>        
-    <source>Clear logs</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny1</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_018</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_use_wifi_and_mobile_networks_to_get">
-    <comment>Description text for wireless networks under the checkbox item</comment>        
-    <source>Use only WI-FI and mobile networks to get position information</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_positioning_servers">
-    <comment>Group heading positioning servers</comment>        
-    <source>Positioning servers</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_expand_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_save">
-    <comment>Save button for saving current position</comment>        
-    <source>Save</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_loe_button_save</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_select_server_to_delete">
-    <comment>Dialog text for server deletion</comment>        
-    <source>Select server to delete</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri3</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_011</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_your_location_will_be_shared_periodic">
-    <comment>Info text for periodic location request query (Default policy - Accept)</comment>        
-    <source>Your location will be shared periodically by default if you don’t respond.</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_015</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_delete">
-    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to delete an item. Note that deleting removes the item permanently from memory.</comment>        
-    <source>Delete</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_title_positioning">
-    <comment>Heading for the positioning info dialog</comment>        
-    <source>Positioning</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_001</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_title_location_notifications">
-    <comment>Title text for Location notifications log view</comment>        
-    <source>Location notifications</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_titlebar</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_018</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_your_location_will_not_be_shared_peri">
-    <comment>Info text for periodic location request query (Default policy - Reject)</comment>        
-    <source>Your location will not be shared periodically by default if you don&apos;t respond</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_015</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_background_positioning">
-    <comment>Group heading for location based services</comment>        
-    <source>Background positioning</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_expand_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_advanced_positioning_settings">
-    <comment>Button - takes to advanced positioning settings</comment>        
-    <source>Advanced positioning settings</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_your_location_will_be_shared_with">
-    <comment>Info text for location request query - No default policy</comment>        
-    <source>Your location will be shared with :</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_014</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_dblist_ln_location_notifications">
-    <comment>Location notification primarry text in Universal Indicator Menu</comment>        
-    <source>%Ln Location notifications</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_017</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_your_location_will_be_shared_by_defau">
-    <comment>Info text in Location request query dialog (Default policy - Accept)</comment>        
-    <source>Your location will be shared by default if you don’t respond</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_gps">
-    <comment>Checkbox item for enabling/disabling GPS</comment>        
-    <source>GPS</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_your_location_will_not_be_shared_by_d">
-    <comment>Info text in Location request query dialog (Default policy - Reject)</comment>        
-    <source>Your location will not be shared by default if you don’t respond</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_day_and_l2_hours">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 day and %L2 hours</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4w">
-    <comment>Coordinate value</comment>        
-    <source>%L1Ëš%L2&apos;%L3.%L4&quot;W</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4w</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_title_save_as">
-    <comment>Query header for save dialog</comment>        
-    <source>Save as</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_005</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_bluetooth_gps">
-    <comment>Bluetooth GPS - enabling/disabling external BT GPS device usage</comment>        
-    <source>Bluetooth GPS</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_title_location_request">
-    <comment>Title text in Location request query dialog</comment>        
-    <source>Location request</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_013</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_wireless_networks">
-    <comment>Checkbox item for enabling/disabling Wireless positioning</comment>        
-    <source>Wireless networks</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_dblist_positioning">
-    <comment>Control panel item in CP main view</comment>        
-    <source>Positioning</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>cp_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>cp</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_month_and_l2_day">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 month and %L2 day</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4s">
-    <comment>Coordinate value</comment>        
-    <source>%L1Ëš%L2&apos;%L3.%L4&quot;S</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4s</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_updates_every_ln_days">
-    <comment>update interval value</comment>        
-    <source>Updates every %Ln days</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_up_every_l1_minutes_and_l2_sec">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 minutes and %L2 seconds</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_loe_list_updates_every_ln_minutes">
-    <comment>update interval value</comment>        
-    <source>Updates every %Ln minutes</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_enable_applications_and_services_upda">
-    <comment>Description text for Location based services &amp; background applications</comment>        
-    <source>Enable applications and services update and retrieve location information on the background</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_months_and_l2_day">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 months and %L2 day</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_upd_every_l1_minute_and_l2_seco">
-    <comment>Update interval. </comment>        
-    <source>Updates every %L1 minute and %L2 seconds</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_dblist_positioning_val_acquiring_position">
-    <comment>Universaln indicator menu. Secondary text when positioning is being acquired</comment>        
-    <source>Acquiring position</source>
-    <translation variants="no" type="unfinished"></translation>
-    <extra-loc-layout_id>qtl_indimenu_sec_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/locationsystemui/locationsysui/possettings/possettings.pro	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/possettings/possettings.pro	Fri Jul 23 19:40:48 2010 +0530
@@ -26,12 +26,13 @@
 
 DEFINES += BUILD_POSSETTINGS
 
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+
 # Build.inf rules
 BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
     "possettings_stub.sis /epoc32/data/z/system/install/possettings_stub.sis" \
     "rom/possettings.iby CORE_MW_LAYER_IBY_EXPORT_PATH(possettings.iby)" \
-    "rom/possettings_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(possettings_resources.iby)" \
     "conf/positioningsettings.confml MW_LAYER_CONFML(positioningsettings.confml)" \
-    "conf/positioningsettings_2002E685.crml MW_LAYER_CRML(positioningsettings_2002E685.crml)"
-
+    "conf/positioningsettings_2002E685.crml MW_LAYER_CRML(positioningsettings_2002E685.crml)" \
+    "rom/possettings_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(possettings_resources.iby)"
    
\ No newline at end of file
--- a/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -24,6 +24,17 @@
 #include <EPos_CPosModuleIdList.h>
 #include <EPos_CPosModuleUpdate.h>
 
+// AGPS psy module UID
+const TUid KAGPSPsyModuleID =
+    {
+    0x101fe98c
+    };
+// NPP Psy module UID
+const TUid KNPPPsyModuleID =
+    {
+    0x10206915
+    };
+
 //---------------------------------------------------------------------
 // PosSettingsEnginePrivate::PosSettingsEnginePrivate()
 // (other items were commented in a header).
@@ -256,6 +267,8 @@
 //---------------------------------------------------------------------
 void PosSettingsEnginePrivate::populatePsyModuleInfoListL()
     {
+    TBool agpsState = EFalse;
+    TBool nppState = EFalse;
     CPosModuleIdList* idList = mPosModules->ModuleIdListLC();
     TInt cnt = idList->Count();
     for ( TInt i = 0; i < cnt; ++i )
@@ -285,15 +298,49 @@
         if( moduleInfo.IsAvailable() )
             {
             psyModuleInfo.mState = StateEnable;
+            // capture the state of the agps psy module
+            if (moduleInfo.ModuleId() == KAGPSPsyModuleID)
+                {
+                agpsState = ETrue;
+                }
+            // capture the state of npp psy module
+            if (moduleInfo.ModuleId() == KNPPPsyModuleID)
+                {
+                nppState = ETrue;
+                }
+
             }
         else 
             {
             psyModuleInfo.mState = StateDisable;
+            // capture the state of the agps psy module
+            if (moduleInfo.ModuleId() == KAGPSPsyModuleID)
+                {
+                agpsState = EFalse;
+                }
+            // capture the state of npp psy module
+            if (moduleInfo.ModuleId() == KNPPPsyModuleID)
+                {
+                nppState = EFalse;
+                }
             }
         
-        mPsyModuleInfoList.Append( psyModuleInfo );
+        mPsyModuleInfoList.AppendL( psyModuleInfo );
         }
-    CleanupStack::PopAndDestroy( idList );
+    // Check if the state of both agps & npp psy are disabled then turn off the supl trigger status
+    // else turn it back on again even if either is enabled
+    if (!agpsState && !nppState)
+        {
+        User::LeaveIfError(mSuplSettings->SetSuplTriggeredServiceStatus(
+                CSuplSettings::ESuplTriggerOff));
+        }
+    else
+        {
+        User::LeaveIfError(mSuplSettings->SetSuplTriggeredServiceStatus(
+                CSuplSettings::ESuplTriggerOn));
+        }
+
+    CleanupStack::PopAndDestroy(idList);
     }
 
 
--- a/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsform.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsform.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -319,7 +319,7 @@
                 // So next time when we want to check if it is present, we have to create dummy modelitem
                 // else with existing handle, we will get kern exec 3 error
                 createPosTypeModelItem(posTypeModelItemIndex);  
-                if(posTypeModelItem == mBgPosType) {
+                if(posTypeModelItemIndex == PosTypeIndexBackground) {
                         mSettingsEngine.setBackGroundPositioningState(StateDisable);
                     }
                 }
@@ -330,7 +330,7 @@
                 model->insertDataFormItem(posIndex,posTypeModelItem,model->invisibleRootItem());  
                 addPosTypeConnection(posTypeModelItem);
                 
-                if(posTypeModelItem == mBgPosType) {
+                if(posTypeModelItemIndex == PosTypeIndexBackground){
                     //Restore to old state in case of background positioning.
                     if(mSettingsEngine.cRBackgroundPositioningStatus()) {
                         mSettingsEngine.setBackGroundPositioningState(StateEnable);
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro	Fri Jul 23 19:40:48 2010 +0530
@@ -28,8 +28,6 @@
 MOC_DIR =     moc
 OBJECTS_DIR = obj
 RCC_DIR =     rcc
-RESOURCES += possettingsplugin.qrc
-TRANSLATIONS = lilocationmw.ts
 
 # Platforms
 SYMBIAN_PLATFORMS = WINSCW \
@@ -50,17 +48,15 @@
 						inc/possettingspluginhelper.h \
 						inc/possettingspluginhelper_p.h \
     				inc/apilogger.h
-						
+
+
+TRANSLATIONS=lilocationmw.ts
+
 symbian { 
     TARGET.EPOCALLOWDLLDATA = 1
     DEFINES += PLUGINUID3=0x2002C318
     TARGET.UID3 = 0x2002C318 
 
-    # Add translation files
-    addFiles.sources = translations/possettings.qm
-    addFiles.path = .
-    #DEPLOYMENT += addFiles
-
     deploy.path = C:
     qtplugins.path = /resource/qt/plugins/controlpanel
     qtplugins.sources += qmakepluginstubs/possettingsplugin.qtplugin    
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.qrc	Fri Jul 09 20:18:03 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/translations" >
-        <file alias="possettings">translations/possettings.qm</file>
-    </qresource>
-</RCC>
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -43,16 +43,9 @@
     
     QString lang = QLocale::system().name();
     QString path = "z:/resource/qt/translations/";
-    bool loaded = false;
-    loaded = mTranslator->load(path + QString("lilocationmw_") + lang);
-    if (loaded == false)
-        {
-        loaded = mTranslator->load("possettings", ":/translations");
-        }
-    if (loaded)
-        {
-        qApp->installTranslator(mTranslator);
-        }
+    mTranslator->load(path + QString("lilocationmw_") + lang);
+    qApp->installTranslator(mTranslator);
+    
     qDebug() << "- PosSettingsPluginHelper::PosSettingsPlugin()";
     }
 
Binary file locationsystemui/locationsysui/possettings/possettingsplugin/translations/possettings.qm has changed
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/translations/possettings.ts	Fri Jul 09 20:18:03 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,599 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_location_notifications_info_your_location_will">
-    <comment>Info text for periodic location request query (Default policy - Reject)</comment>        
-    <source>Your location will not be shared periodically by default if you don&apos;t respond</source>
-    <translation variants="no">Your location will not be shared periodically by default if you don&apos;t respond</translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_03</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_use_1">
-    <comment>Name of the positioning server</comment>        
-    <source>Use %1</source>
-    <translation variants="no">Use %1</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_cellular_network">
-    <comment>2G/3G/etc network settings for positionin use</comment>        
-    <source>Cellular network</source>
-    <translation variants="no">Cellular network</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_opt_delete_server">
-    <comment>Option menu item</comment>        
-    <source>Delete server</source>
-    <translation variants="no">Delete server</translation>
-    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_advanced">
-    <comment>Button - takes to advanced positioning settings</comment>        
-    <source>Advanced</source>
-    <translation variants="no">Advanced</translation>
-    <extra-loc-layout_id>qtl_dataform_button_sec </extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_settings">
-    <comment>Button for accessing settings in control palel</comment>        
-    <source>Settings</source>
-    <translation variants="no">Settings</translation>
-    <extra-loc-layout_id>txt_lint_button_settings</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_seconds">
-    <comment>Update interval value when update happens in seconds (59s or less)</comment>        
-    <source>Updates every %L1 seconds</source>
-    <translation variants="no">Updates every %L1 seconds</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4e">
-    <comment>Coordinates</comment>        
-    <source>L1%?L2%&apos;L3%.L4%&quot;E</source>
-    <translation variants="no">L1%?L2%&apos;L3%.L4%&quot;E</translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4e</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_reject">
-    <comment>Location request query dialog - Softkey button. Allows the user to reject the suggested operation.</comment>        
-    <source>Reject</source>
-    <translation variants="no">Reject</translation>
-    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_dblist_positioning_val_change_positioning_s">
-    <comment>Control panel item in CP main view</comment>        
-    <source>Change positioning settings</source>
-    <translation variants="no">Change positioning settings</translation>
-    <extra-loc-layout_id>qtl_list_sec_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>cp_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1_val</extra-loc-positionid>
-    <extra-loc-feature>cp</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_days_and_l2_hours">
-    <comment>Update interval value when interval is in days</comment>        
-    <source>Updates every %L1 days and %L2 hours</source>
-    <translation variants="no">Updates every %L1 days and %L2 hours</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_accuracy_l1_meters">
-    <comment>Accuracy information in meters. Displayed when value is 999 meters or less</comment>        
-    <source>Accuracy: %L1 meters</source>
-    <translation variants="no">Accuracy: %L1 meters</translation>
-    <extra-loc-layout_id>txt_lint_accuracy_1_meters</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_positioning_methods">
-    <comment>Group heading for positioning methods</comment>        
-    <source>Positioning methods</source>
-    <translation variants="no">Positioning methods</translation>
-    <extra-loc-layout_id>qtl_groupbox_expand_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_cancel">
-    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to cancel the action or process.</comment>        
-    <source>Cancel</source>
-    <translation variants="no">Cancel</translation>
-    <extra-loc-layout_id>None</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_accuracy_l1_kilometers">
-    <comment>Accuracy information in kilometers. Displayed when over 999 meters</comment>        
-    <source>Accuracy: %L1 kilometers</source>
-    <translation variants="no">Accuracy: %L1 kilometers</translation>
-    <extra-loc-layout_id>txt_lint_list_accuracy_1_kilometers</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_list_time">
-    <comment>Primary text in list widget. Notification recieved time</comment>        
-    <source>&lt;Time&gt;</source>
-    <translation variants="no">&lt;Time&gt;</translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_internal_gps">
-    <comment>Internal GPS chipset - enabling or disabling that</comment>        
-    <source>Internal GPS</source>
-    <translation variants="no">Internal GPS</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_wifi">
-    <comment>Wi-FI - enable/disable wifi usage in positioning context</comment>        
-    <source>Wi-Fi</source>
-    <translation variants="no">Wi-Fi</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_dpophead_your_location">
-    <comment>Location notification heading text </comment>        
-    <source>Your location not sent to :</source>
-    <translation variants="no">Your location not sent to :</translation>
-    <extra-loc-layout_id>qtl_notifdialog_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_04</extra-loc-viewid>
-    <extra-loc-positionid>dpophead</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_enable_for_most_accurate_positioning">
-    <comment>Description text for GPS under the checkbox item</comment>        
-    <source>Enable for most accurate positioning</source>
-    <translation variants="no">Enable for most accurate positioning</translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec </extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_positioning_servers">
-    <comment>Group heading positioning servers</comment>        
-    <source>Positioning servers</source>
-    <translation variants="no">Positioning servers</translation>
-    <extra-loc-layout_id>qtl_groupbox_expand_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_use_wifi_and_mobile_networks_to_get">
-    <comment>Description text for wireless networks under the checkbox item</comment>        
-    <source>Use WI-FI and mobile networks to get position information</source>
-    <translation variants="no">Use WI-FI and mobile networks to get position information</translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_button_clear_logs">
-    <comment>Single toolbar item to clear logs in Location notification log view</comment>        
-    <source>Clear logs</source>
-    <translation variants="no">Clear logs</translation>
-    <extra-loc-layout_id>qtl_toolbar_tiny1_1</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_subhead_logs">
-    <comment>Sub heading text for Location notification logs view</comment>        
-    <source>Logs</source>
-    <translation variants="no">Logs</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>subhead</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_save">
-    <comment>Save button for saving current position</comment>        
-    <source>Save</source>
-    <translation variants="no">Save</translation>
-    <extra-loc-layout_id>txt_loe_button_save</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_select_server_to_delete">
-    <comment>Dialog text for server deletion</comment>        
-    <source>Select server to delete</source>
-    <translation variants="no">Select server to delete</translation>
-    <extra-loc-layout_id>qtl_dialog_pri3</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_011</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_delete">
-    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. Allows the user to delete an item. Note that deleting removes the item permanently from memory.</comment>        
-    <source>Delete</source>
-    <translation variants="no">Delete</translation>
-    <extra-loc-layout_id>None</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_valid_until_2">
-    <comment>value that tells the date until service will be active</comment>        
-    <source>Valid until %2</source>
-    <translation variants="no">Valid until %2</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_title_positioning">
-    <comment>Heading for the positioning info dialog</comment>        
-    <source>Positioning</source>
-    <translation variants="no">Positioning</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_001</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="yes" id="txt_location_notifications_dblist_ln_location_not">
-    <comment>Location notification primarry text in Universal Indicator Menu</comment>        
-    <source>%Ln Location notifications</source>
-    <translation>
-        <numerusform variants="no">(s)%Ln Location notifications</numerusform>
-        <numerusform variants="no">(p)%Ln Location notifications</numerusform>
-    </translation>
-    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_05</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_assisted_gps">
-    <comment>Assisted GPS - enabling or disabling</comment>        
-    <source>Assisted GPS</source>
-    <translation variants="no">Assisted GPS</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_background_positioning">
-    <comment>Group heading for location based services</comment>        
-    <source>Background positioning</source>
-    <translation variants="no">Background positioning</translation>
-    <extra-loc-layout_id>qtl_groupbox_expand_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_positioning_settings">
-    <comment>subtitle for positioning settings main view</comment>        
-    <source>Positioning settings</source>
-    <translation variants="no">Positioning settings</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_info_location_was_reque">
-    <comment>Requestor info text in Location request query dialog</comment>        
-    <source>Location was requested by : </source>
-    <translation variants="no">Location was requested by : </translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_01</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_subtitle_advanced_positioning_settings">
-    <comment>Button - takes to advanced positioning settings</comment>        
-    <source>Advanced positioning settings</source>
-    <translation variants="no">Advanced positioning settings</translation>
-    <extra-loc-layout_id>qtl_groupbox_simple_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>subtitle</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_title_location_request">
-    <comment>Title text in Location request query dialog</comment>        
-    <source>Location request</source>
-    <translation variants="no">Location request</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_01</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_background_positioning">
-    <comment>Checkbox item for enabling/disabling Background positioning</comment>        
-    <source>Background positioning</source>
-    <translation variants="no">Background positioning</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_hours_and_l2_minut">
-    <comment>Update interval value when interval is hours (not days or months etc)</comment>        
-    <source>Updates every %L1 hours and %L2 minutes</source>
-    <translation variants="no">Updates every %L1 hours and %L2 minutes</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_minutes_and_l2_sec">
-    <comment>Update interval value when interval is in minutes</comment>        
-    <source>Updates every %L1 minutes and %L2 seconds</source>
-    <translation variants="no">Updates every %L1 minutes and %L2 seconds</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_gps">
-    <comment>Checkbox item for enabling/disabling GPS</comment>        
-    <source>GPS</source>
-    <translation variants="no">GPS</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_info_you_location_will">
-    <comment>Info text for periodic location request query - No default policy</comment>        
-    <source>You location will be shared periodically with :</source>
-    <translation variants="no">You location will be shared periodically with :</translation>
-    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_02</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4w">
-    <comment>Coordinates</comment>        
-    <source>L1%?L2%&apos;L3%.L4%&quot;W</source>
-    <translation variants="no">L1%?L2%&apos;L3%.L4%&quot;W</translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4w</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4n">
-    <comment>Coordinates</comment>        
-    <source>L1%?L2%&apos;L3%.L4%&quot;N</source>
-    <translation variants="no">L1%?L2%&apos;L3%.L4%&quot;N</translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4n</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_title_save_as">
-    <comment>Query header for save dialog</comment>        
-    <source>Save as</source>
-    <translation variants="no">Save as</translation>
-    <extra-loc-layout_id>qtl_dialog_pri_heading</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_005</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_updates_every_l1_months_and_l2_days">
-    <comment>Update interval value when interval is months</comment>        
-    <source>Updates every %L1 months and %L2 days</source>
-    <translation variants="no">Updates every %L1 months and %L2 days</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_bluetooth_gps">
-    <comment>Bluetooth GPS - enabling/disabling external BT GPS device usage</comment>        
-    <source>Bluetooth GPS</source>
-    <translation variants="no">Bluetooth GPS</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_008</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_wireless_networks">
-    <comment>Checkbox item for enabling/disabling Wireless positioning</comment>        
-    <source>Wireless networks</source>
-    <translation variants="no">Wireless networks</translation>
-    <extra-loc-layout_id>qtl_checkbox_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_list_timedate">
-    <comment>Primary text in list widget. Notification received time and ate</comment>        
-    <source>&lt;Time&gt;&lt;Date&gt;</source>
-    <translation variants="no">&lt;Time&gt;&lt;Date&gt;</translation>
-    <extra-loc-layout_id>qtl_list_pri</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_cp_dblist_positioning">
-    <comment>Control panel item in CP main view</comment>        
-    <source>Positioning</source>
-    <translation variants="no">Positioning</translation>
-    <extra-loc-layout_id>qtl_list_pri_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>cp_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>cp</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_list_your_location_sent">
-    <comment>Multiline secondary text in a list item</comment>        
-    <source>Your location sent to : </source>
-    <translation variants="no">Your location sent to : </translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_button_accept">
-    <comment>Location request query dialog - Softkey button. Allows the user to accept the location request</comment>        
-    <source>Accept</source>
-    <translation variants="no">Accept</translation>
-    <extra-loc-layout_id>qtl_dialog_softkey</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_01</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_list_l1l2l3l4s">
-    <comment>Coordinates</comment>        
-    <source>L1%?L2%&apos;L3%.L4%&quot;S</source>
-    <translation variants="no">L1%?L2%&apos;L3%.L4%&quot;S</translation>
-    <extra-loc-layout_id>txt_loe_list_l1l2l3l4s</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_dblist_positioning">
-    <comment>UniversalIndicatorMenu item text. </comment>        
-    <source>Positioning</source>
-    <translation variants="no">Positioning</translation>
-    <extra-loc-layout_id>qtl_indimenu_pri_medium_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_001</extra-loc-viewid>
-    <extra-loc-positionid>dblist_1</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_button_done">
-    <comment>Button in dialog for closing the Positioning info dialog</comment>        
-    <source>Done</source>
-    <translation variants="no">Done</translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_1</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_002</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_stop_service_1">
-    <comment>Confirmation about stopping service</comment>        
-    <source>Stop service %1</source>
-    <translation variants="no">Stop service %1</translation>
-    <extra-loc-layout_id>qtl_dialog_pri3_large_graphic</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_010</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_loe_info_enable_applications_and_services_upda">
-    <comment>Description text for Location based services &amp; background applications</comment>        
-    <source>Enable applications and services update and retrieve location information</source>
-    <translation variants="no">Enable applications and services update and retrieve location information</translation>
-    <extra-loc-layout_id>qtl_dataform_description_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>loe_007</extra-loc-viewid>
-    <extra-loc-positionid>info</extra-loc-positionid>
-    <extra-loc-feature>lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_list_your_location_not">
-    <comment>Multiline secondary text in a list item</comment>        
-    <source>Your location not sent to:</source>
-    <translation variants="no">Your location not sent to:</translation>
-    <extra-loc-layout_id>qtl_list_sec</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_location_notifications_title_location_notifica">
-    <comment>Title text for Location notifications log view</comment>        
-    <source>Location notifications</source>
-    <translation variants="no">Location notifications</translation>
-    <extra-loc-layout_id>qtl_chrome_title</extra-loc-layout_id>    
-    <extra-loc-viewid>Location notifications_06</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
-    <extra-loc-feature>Lo</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-<message numerus="no" id="txt_common_button_ok">
-    <comment>Button. Note! Use this text ID only if there are max. two buttons in the dialog. When this button is pressed, the focused item or operation will be selected or accepted.</comment>        
-    <source>OK</source>
-    <translation variants="no">OK</translation>
-    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
-    <extra-loc-viewid>common</extra-loc-viewid>
-    <extra-loc-positionid>button</extra-loc-positionid>
-    <extra-loc-feature>co</extra-loc-feature>
-    <extra-loc-blank>False</extra-loc-blank>
-</message>
-</context>
-</TS>
--- a/locationsystemui/locationsysui/possettings/rom/possettings.iby	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/possettings/rom/possettings.iby	Fri Jul 23 19:40:48 2010 +0530
@@ -21,6 +21,7 @@
 #ifdef __LOCATIONSYSUI
 
 #include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
 file=ABI_DIR\BUILD_DIR\possettingsengine.dll                   SHARED_LIB_DIR\possettingsengine.dll
 file=ABI_DIR\BUILD_DIR\possettingsplugin.dll                   SHARED_LIB_DIR\possettingsplugin.dll
 file=ABI_DIR\BUILD_DIR\pospsysettings.dll											SHARED_LIB_DIR\pospsysettings.dll	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/bwins/locnotificationengineu.def	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,4 @@
+EXPORTS
+	?ResolveRequestorsL@CLocRequestorUtilsResolver@@QAEXAAV?$RPointerArray@VCPosRequestor@@@@@Z @ 1 NONAME ; void CLocRequestorUtilsResolver::ResolveRequestorsL(class RPointerArray<class CPosRequestor> &)
+	?NewL@CLocRequestorUtilsResolver@@SAPAV1@XZ @ 2 NONAME ; class CLocRequestorUtilsResolver * CLocRequestorUtilsResolver::NewL(void)
+
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/group/contactresolversession.mmp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/group/contactresolversession.mmp	Fri Jul 23 19:40:48 2010 +0530
@@ -44,6 +44,7 @@
 LIBRARY		eiksrv.lib 
 LIBRARY         eposprvtyp.lib
 LIBRARY         estor.lib bafl.lib
-LIBRARY         flogger.lib
+LIBRARY			locutils.lib
 
 EPOCALLOWDLLDATA
+
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/src/contactresolversession.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/src/contactresolversession.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -18,6 +18,7 @@
 #include "contactresolversession.h"
 #include "locprivacyinternal.h"
 #include "locprivacycommon.h"
+#include "locutilsdebug.h"
 
 #include <lbs/epos_cposrequestor.h>
 #include <lbs/EPos_RPosRequestorStack.h>
@@ -25,7 +26,8 @@
 #include <s32strm.h>
 #include <s32mem.h>
 
-
+//This determines the number of outstanding requests the client may have with the server at any one time. 
+//The maximum number of slots is 255.
 TInt KDefaultMessageSlots = 255;
 const TUid KServerUid3 =
     {
@@ -53,6 +55,8 @@
         CPosRequestor>& aRequestors)
     {
 
+     LOCUTILSDEBUG( "+RContactResolverSession::ResolveRequestorsL" )
+     
     RPosRequestorStack* requestors = new (ELeave) RPosRequestorStack;
     CleanupStack::PushL(requestors);
 
@@ -122,6 +126,7 @@
     CleanupStack::PopAndDestroy(&readStream);
     CleanupStack::PopAndDestroy(buffer1);
  
+    LOCUTILSDEBUG( "-RContactResolverSession::ResolveRequestorsL" )
     }
 
 // -----------------------------------------------------------------------------
@@ -131,6 +136,8 @@
 
 EXPORT_C TInt RContactResolverSession::Connect()
     {
+    LOCUTILSDEBUG( "+RContactResolverSession::Connect" )
+    
     TInt error = StartServer();
 
     if (KErrNone == error)
@@ -138,6 +145,7 @@
         error = CreateSession(KLocPrivacyServerName, Version(),
                 KDefaultMessageSlots);
         }
+    LOCUTILSDEBUG( "-RContactResolverSession::Connect" )
     return error;
     }
 
@@ -148,6 +156,8 @@
 //
 TInt RContactResolverSession::StartServer()
     {
+    LOCUTILSDEBUG( "+RContactResolverSession::StartServer" )
+    
     TInt result;
 
     TFindServer findServer(KLocPrivacyServerName);
@@ -165,7 +175,8 @@
         {
         return result;
         }
-
+    LOCUTILSDEBUG( "-RContactResolverSession::StartServer" )
+    
     return KErrNone;
     }
 
@@ -176,6 +187,8 @@
 //
 TInt RContactResolverSession::CreateServerProcess()
     {
+    LOCUTILSDEBUG( "+RContactResolverSession::CreateServerProcess" )
+    
     TInt result;
 
     const TUidType serverUid(KNullUid, KNullUid, KServerUid3);
@@ -212,11 +225,15 @@
         return (status.Int());
         }
 
+    LOCUTILSDEBUG( "-RContactResolverSession::CreateServerProcess" )
+    
     return KErrNone;
     }
 
 TVersion RContactResolverSession::Version() const
     {
+    LOCUTILSDEBUG( "RContactResolverSession::Version" )
+    
     return TVersion(KLocPrivacyServerMajorVersionNumber,
             KLocPrivacyServerMinorVersionNumber,
             KLocPrivacyServerBuildVersionNumber);
@@ -224,5 +241,9 @@
 
 EXPORT_C void RContactResolverSession::Close()
     {
+    LOCUTILSDEBUG( "+RContactResolverSession::Close" )
+    
     RSessionBase::Close();
+    	
+    LOCUTILSDEBUG( "-RContactResolverSession::Close" )
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/eabi/locnotificationengineu.def	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,4 @@
+EXPORTS
+	_ZN26CLocRequestorUtilsResolver18ResolveRequestorsLER13RPointerArrayI13CPosRequestorE @ 1 NONAME
+	_ZN26CLocRequestorUtilsResolver4NewLEv @ 2 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/apilogger.h	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+#ifndef APILOGGER_H
+#define APILOGGER_H
+
+#include <iostream>
+#include <fstream> 
+#include <QDebug>
+#include <qfile.h>
+#include <qtextstream.h>
+
+using namespace std;
+
+
+class ApiLogger
+    {
+    public:
+    static void OpenLogFile();
+    static void CloseLogFile();
+    static void MyOutputHandler(QtMsgType type, const char *msg);
+    };
+    
+#endif // APILOGGER_H
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/locnotificationengine.pro	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/locnotificationengine.pro	Fri Jul 23 19:40:48 2010 +0530
@@ -29,9 +29,11 @@
 
 # Input
 SOURCES += src/locrequestorutilsresolver.cpp \
-    src/qlocnotificationengine.cpp
+    src/qlocnotificationengine.cpp \
+    src/apilogger.cpp
 HEADERS += inc/locrequestorutilsresolver.h \
-    inc/qlocnotificationengine.h
+    inc/qlocnotificationengine.h \
+    inc/apilogger.h
 symbian: { 
     TARGET.EPOCALLOWDLLDATA = 1
     DEFINES += BUILD_POSSETTINGS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/apilogger.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  This class provides function that help in logging entry and exit of APIs of classes
+*
+*/
+
+
+#include "apilogger.h"
+#include <qdatetime.h>
+
+const char* debugFileName("c://logs//lbs//notifengine.txt");
+ofstream logfile;
+
+void ApiLogger::OpenLogFile() 
+{   
+    logfile.open(debugFileName, ios::app);   
+}
+
+void ApiLogger::CloseLogFile() 
+{
+    logfile.flush();
+    logfile.close();
+}
+
+void ApiLogger::MyOutputHandler(QtMsgType type, const char *msg) 
+{    
+    switch (type) {
+        case QtDebugMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Debug: " << msg << "\n";            
+            break;
+        case QtCriticalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Critical: " << msg << "\n";
+            break;
+        case QtWarningMsg:
+           logfile << QTime::currentTime().toString().toAscii().data() << " Warning: " << msg << "\n";
+            break;
+        case QtFatalMsg:
+            logfile << QTime::currentTime().toString().toAscii().data() << " Fatal: " << msg << "\n";
+        default:
+            break;
+    }
+    logfile.flush();
+}
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/locrequestorutilsresolver.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/locrequestorutilsresolver.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -157,7 +157,8 @@
 		}
 	catch( int error )
 		{
-		User::Leave(error);
+		// Memory alloc failure
+		User::Leave(KErrNoMemory);
 		}	
 	}
 
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/qlocnotificationengine.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/qlocnotificationengine.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -40,8 +40,12 @@
 //---------------------------------------------------------------------
 QLocNotificationEngine::QLocNotificationEngine()
     {
+    qDebug()
+            << "+QLocNotificationEngine::QLocNotificationEngine()";
     //"symbian" is the string used to load the contact manager corresponding to the phonebook database
     mContactManager = new QtMobility::QContactManager("symbian");
+   qDebug()
+            << "-QLocNotificationEngine::QLocNotificationEngine()";	
     }
 
 //------QLocNotificationEngine-----------------------------------------
@@ -60,7 +64,8 @@
 //---------------------------------------------------------------------
 void QLocNotificationEngine::processRequestors(QPosRequestorData& posRequestorData)
     {        
-  
+    qDebug()
+            << "+QLocNotificationEngine::processRequestors()"; 
     QtMobility::QContactDetailFilter filter;
 
     QString idString;
@@ -100,8 +105,7 @@
         {
                
         QtMobility::QContact match = mContactManager->contact(matchingContacts.at(0)); //return the first contact among the ones found
-
-       // QtMobility::QContactDisplayLabel cdl = match.detail(QtMobility::QContactDisplayLabel::DefinitionName);
+          
         QString labelDetail = match.displayLabel();
         posRequestorData.setPosRequestorData(idFormat,labelDetail); //set back result
         }
@@ -120,6 +124,8 @@
     		}
     	} 
     
+    qDebug()
+            << "-QLocNotificationEngine::processRequestors()"; 
     }
 
 //---------------------------------------------------------------------
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/group/locprivacyserver.mmp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/group/locprivacyserver.mmp	Fri Jul 23 19:40:48 2010 +0530
@@ -44,5 +44,6 @@
 LIBRARY         efsrv.lib
 LIBRARY         estor.lib
 LIBRARY         locnotificationengine.lib
+LIBRARY			locutils.lib
 
 // End of file
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserver.h	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserver.h	Fri Jul 23 19:40:48 2010 +0530
@@ -23,6 +23,7 @@
 #include <locprivacyinternal.h>
 
 // FORWARD DECLARATIONS
+
 class CLocPrivacyServerSession;
 
 // CLASS DECLARATION
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserversession.h	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserversession.h	Fri Jul 23 19:40:48 2010 +0530
@@ -25,7 +25,6 @@
 
 // FORWARD DECLARATIONS
 class CPosPrivacyServer;
-//class CPosPrivManager;
 class RPosRequestorStack;
 
 // CLASS DECLARATION
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserver.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserver.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -21,6 +21,7 @@
 #include "locprivacycommon.h"
 #include "locprivacyserversession.h"
 #include "locprivacyserverdebugpanic.h"
+#include "locutilsdebug.h"
 
 
 // CONSTANTS
@@ -41,7 +42,9 @@
 // EPOC default constructor can leave.
 void CLocPrivacyServer::ConstructL()
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::ConstructL" )
     User::LeaveIfError(Start(KLocPrivacyServerName));
+    LOCUTILSDEBUG( "-CLocPrivacyServer::ConstructL" )
     }
 
 // Two-phased constructor
@@ -67,7 +70,9 @@
 //
 void CLocPrivacyServer::IncrementSessions()
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::IncrementSessions" )
     iNumSessions++;
+    LOCUTILSDEBUG( "-CLocPrivacyServer::IncrementSessions" )
     }
 
 // ---------------------------------------------------------
@@ -79,12 +84,14 @@
 void CLocPrivacyServer::DecrementSessions(
     CLocPrivacyServerSession* /*aSession*/)
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServer::DecrementSessions" )
     iNumSessions--;
     if (iNumSessions == 0)
         {
          // Shutdown the server by shutting down the active scheduler.
         CActiveScheduler::Stop();
         }
+    LOCUTILSDEBUG( "-CLocPrivacyServer::DecrementSessions" )
     }
 
 // ---------------------------------------------------------
@@ -97,11 +104,12 @@
     const TVersion& /*aVersion*/,
     const RMessage2& /*aMessage*/) const
     {
-    
+    LOCUTILSDEBUG( "+CLocPrivacyServer::NewSessionL" )
     // Make new session
     CLocPrivacyServerSession* newSession = CLocPrivacyServerSession::NewL(
             const_cast<CLocPrivacyServer&>(*this));
 
+    LOCUTILSDEBUG( "-CLocPrivacyServer::NewSessionL" )
     return newSession;
     }
 
@@ -114,8 +122,10 @@
 //
 TInt CLocPrivacyServer::RunError(TInt aError)
     {
+    LOCUTILSDEBUG( "-CLocPrivacyServer::RunError" )
     Message().Complete(aError);
     ReStart();
+    LOCUTILSDEBUG( "-CLocPrivacyServer::RunError" )
     return KErrNone;
     }
 
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserversession.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserversession.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -16,13 +16,20 @@
 */
 
 // INCLUDE FILES
+
 #include <s32mem.h>
 #include <lbs/EPos_RPosRequestorStack.h>
+
 #include "locprivacyinternal.h" 
 #include "locprivacyserver.h"
 #include "locprivacyserversession.h"
 #include "locprivacyserverdebugpanic.h"
 #include "locrequestorutilsresolver.h"
+#include "locutilsdebug.h"
+
+
+
+
 // CONSTANTS
 
 // ================= MEMBER FUNCTIONS =======================
@@ -60,8 +67,10 @@
 // EPOC default constructor
 void CLocPrivacyServerSession::ConstructL(CLocPrivacyServer& aServer)
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::ConstructL" )
     aServer.IncrementSessions();
     iBufFlat = CBufFlat::NewL(KPosBufFlatExpandSize);
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::ConstructL" )
     }
 
 // ---------------------------------------------------------
@@ -72,9 +81,11 @@
 //
 void CLocPrivacyServerSession::ServiceL(const RMessage2& aMessage)
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::ServiceL" ) 
     TRAPD(err, DispatchL(aMessage));
 
     aMessage.Complete(err);
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::ServiceL" )
 
     }
 
@@ -86,10 +97,12 @@
 //
 void CLocPrivacyServerSession::CloseSession()
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::CloseSession" ) 
     CLocPrivacyServer
             * server =
                     static_cast<CLocPrivacyServer*> (const_cast<CServer2*> (Server()));
     server->DecrementSessions(this);
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::CloseSession" ) 
     }
 
 // ---------------------------------------------------------
@@ -100,6 +113,7 @@
 //
 void CLocPrivacyServerSession::DispatchL(const RMessage2& aMessage)
     {
+    LOCUTILSDEBUG( "+CLocPrivacyServerSession::DispatchL" ) 
     switch ( aMessage.Function() )
         {
         case ELocPrivacyGetSize:
@@ -171,6 +185,7 @@
                     ELocPrivSrvPanicUnknownActivity);
             break;
         }
+    LOCUTILSDEBUG( "-CLocPrivacyServerSession::DispatchL" )
     }
 
 //  End of File
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserverstartup.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserverstartup.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -19,6 +19,7 @@
 #include "locprivacyserverstartup.h"
 #include "locprivacyserver.h"
 #include "locprivacycommon.h"
+#include "locutilsdebug.h"
 
 // ============================ MEMBER FUNCTIONS ===============================
 
@@ -30,6 +31,7 @@
 //
 TInt LocPrivacyServerStartup::StartServer()
     {
+    LOCUTILSDEBUG( "+LocPrivacyServerStartup::StartServer" )
     __UHEAP_MARK;
 
     CTrapCleanup* cleanupStack = CTrapCleanup::New();
@@ -44,6 +46,7 @@
 
     __UHEAP_MARKEND;
 
+    LOCUTILSDEBUG( "-LocPrivacyServerStartup::StartServer" )
     return ret;
     }
 
@@ -55,6 +58,7 @@
 //
 void LocPrivacyServerStartup::StartServerL()
     {
+    LOCUTILSDEBUG( "+LocPrivacyServerStartup::StartServerL" )
     // Rename thread to aid debugging
     User::LeaveIfError(User::RenameThread(KLocPrivacyServerName));
 
@@ -74,6 +78,7 @@
 
     delete server;
     delete scheduler;
+   LOCUTILSDEBUG( "-LocPrivacyServerStartup::StartServerL" )
     }
 
 // -----------------------------------------------------------------------------
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdglobalplugindialog.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdglobalplugindialog.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -20,6 +20,7 @@
 #include "lpdglobalplugindialog.h"
 #include "lpddlgobserver.h"
 #include "lpdrequestorprocessor.h"
+#include "locverifierdlgdebug.h"
 
 #include <lbs/EPos_CPosContactRequestor.h>
 #include <lbs/EPos_CPosServiceRequestor.h>
@@ -81,6 +82,7 @@
 //
 void CLpdGlobalPluginDialog::ConstructL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::ConstructL" );
     iMsgBox = CHbDeviceDialogSymbian::NewL();
     iNotification = CHbDeviceNotificationDialogSymbian::NewL(this);
     TBool result =
@@ -89,6 +91,7 @@
         {
         HbTextResolverSymbian::Init(KLocTsFileName, KLocTsAFileAltPath);
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::ConstructL" );
     }
 
 // -----------------------------------------------------------------------------
@@ -110,6 +113,7 @@
 // Destructor
 CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog()
 	{
+   	 LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog" );
    	delete iMsgBox;
 	iMsgBox = NULL;
 	
@@ -118,7 +122,7 @@
 	
 	 delete iRequestInfo;
 	 iRequestInfo=NULL;
-	
+	 LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog" );
 	}
 
 
@@ -129,6 +133,7 @@
 //
 void CLpdGlobalPluginDialog::RunVerificationQueryL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::RunVerificationQueryL" );
     mSymbianVariantMap = CHbSymbianVariantMap::NewL();
     CleanupStack::PushL(mSymbianVariantMap);
     
@@ -143,10 +148,12 @@
         }
     CSystemToneService::Delete(sts);
     CleanupStack::Pop(mSymbianVariantMap);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::RunVerificationQueryL" );
     }
 
 void CLpdGlobalPluginDialog::RunNotificationL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::RunNotificationL" );
     if( EPosDecisionByRequestSource == iRequestInfo->iNotifReason ||
         EPosVerificationTimeout == iRequestInfo->iNotifReason    )
         {
@@ -195,6 +202,7 @@
     iNotification->SetTimeout(KNotificationTimeout);
     iNotification->EnableTouchActivation(ETrue);
     iNotification->ShowL();
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::RunNotificationL" );
     }
 
 // -----------------------------------------------------------------------------
@@ -204,6 +212,7 @@
 //
 void CLpdGlobalPluginDialog::SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo )
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::SetRequestInfoL" );
     if(iRequestInfo)
         {
         // clear and create again if already has been set before
@@ -245,6 +254,7 @@
             }
         
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::SetRequestInfoL" );
     }
 
 
@@ -252,41 +262,52 @@
 void CLpdGlobalPluginDialog::Cancel()
     {
     // Close any running dialogs if any.Close() doesnt have any effect if dialog is not running
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::Cancel" );
     isCancelled = ETrue;
     iMsgBox->Cancel();
     iNotification->Close();
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::Cancel" );
     }
 
 void CLpdGlobalPluginDialog::NotificationDialogActivated(
         const CHbDeviceNotificationDialogSymbian */*aDialog*/)        
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::NotificationDialogActivated" );
     // Complete with KErrNone now 
     TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrNone ));
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::NotificationDialogActivated" );
     }
 
 void CLpdGlobalPluginDialog::NotificationDialogClosed(
         const CHbDeviceNotificationDialogSymbian */*aDialog*/,
         TInt aCompletionCode)
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::NotificationDialogClosed" );
     TRAP_IGNORE(iCallBack.HandleDlgDismissedL( aCompletionCode ));
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::NotificationDialogClosed" );
     }
 
 void CLpdGlobalPluginDialog::DataReceived(CHbSymbianVariantMap& /*aData*/)
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::DataReceived" );
     mDissmissed = ETrue;
     TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrAccessDenied ));
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::DataReceived" );
     }
 
 void CLpdGlobalPluginDialog::DeviceDialogClosed(TInt /*aCompletionCode*/)
     {
+     LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::DeviceDialogClosed" );
     if (!mDissmissed && !isCancelled)
         {
         TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrNone ));
         }
+     LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::DeviceDialogClosed" );
     }
 
 void CLpdGlobalPluginDialog::AddVerDlgHeadingParamL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::AddVerDlgHeadingParamL" );
     HBufC* headingText = HbTextResolverSymbian::LoadL(KRequestHeading);
     CleanupStack::PushL(headingText);
     CHbSymbianVariant* heading = CHbSymbianVariant::NewL(headingText,
@@ -295,10 +316,12 @@
     mSymbianVariantMap->Add(KHeadingKey, heading );
     CleanupStack::Pop(heading);
     CleanupStack::PopAndDestroy(headingText);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::AddVerDlgHeadingParamL" );
     }
 
 void CLpdGlobalPluginDialog::AddQueryTextParamL()
     {
+     LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::AddQueryTextParamL" );
     HBufC * value = HBufC::NewL(KVariantMaxSize);
     CleanupStack::PushL(value);
     HBufC * value2 = HBufC::NewL(KVariantMaxSize);
@@ -387,11 +410,12 @@
     CleanupStack::Pop(queryText2);
     CleanupStack::Pop(queryText);
     CleanupStack::PopAndDestroy(3);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::AddQueryTextParamL" );
     }
 
 void CLpdGlobalPluginDialog::AddRequestorsParamL()
     {
-
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::AddRequestorsParamL" );
     CDesC16ArrayFlat* array = new CDesC16ArrayFlat(8);
     TInt reqCount = iRequestInfo->iRequestors.Count();
     if (!reqCount)
@@ -414,6 +438,7 @@
     CHbSymbianVariant* requestors = CHbSymbianVariant::NewL(marray,
             CHbSymbianVariant::EDesArray);
     mSymbianVariantMap->Add(KRequestorKey, requestors);
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::AddRequestorsParamL" );
     }
 
 // End of file
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestorprocessor.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestorprocessor.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -79,6 +79,7 @@
 TBool CLpdRequestorProcessor::ReadRequestorsL(
     const CPosPrivacyNotifier& aPosNotifier )
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdGlobalPluginDialog::ReadRequestorsL" );
     __ASSERT_DEBUG( aPosNotifier.CurrentRequest() != KPosNullQNRequestId,
                     HandleAssertErrorL() );
 
@@ -117,6 +118,7 @@
      	}
      resSession.Close();
        
+    LOCVERIFIERDLGDEBUG( "-CLpdGlobalPluginDialog::ReadRequestorsL" );
     return allRequestorIdsValid;
     }
 
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierplugin.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierplugin.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -76,9 +76,11 @@
 //
 void CLpdVerifierPlugin::ConstructL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::ConstructL" );
     BaseConstructL(KNotifierChannel, KNotifierPriority);
   
     iRtorProcessor = CLpdRequestorProcessor::NewL();
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::ConstructL" );    	
     }
 
 // -----------------------------------------------------------------------------
@@ -88,18 +90,20 @@
 //
 CLpdVerifierPlugin* CLpdVerifierPlugin::NewL()
     {
+     LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::NewL" );
     CLpdVerifierPlugin* self = new (ELeave) CLpdVerifierPlugin;
 
     CleanupStack::PushL(self);
     self->ConstructL();
     CleanupStack::Pop(self);
-
+     LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::NewL" );
     return self;
     }
 
 // Destructor
 CLpdVerifierPlugin::~CLpdVerifierPlugin()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::~CLpdVerifierPlugin" );
     // Destruction of this plugin should only occur only in shutdown
     // or in severe problem situation.
 
@@ -118,6 +122,7 @@
     iRequestActiveObject = NULL; 
     delete iRtorProcessor;
     iRtorProcessor = NULL; 
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::~CLpdVerifierPlugin" );
     
     }
 
@@ -128,7 +133,7 @@
 //
 void CLpdVerifierPlugin::HandleNewRequestL(TPosQNRequestId /*aRequestId */ )
     {
-    LOCVERIFIERDLGDEBUG( "CLpdVerifierPlugin::HandleNewRequestL" );
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNewRequestL" );
     
     // Check whether the notifier is already handling a request
     // If yes, do nothing for now.
@@ -141,6 +146,7 @@
         iRequestActiveObject = CLpdRequestAO::NewL(*this);
         iRequestActiveObject->ScheduleRequest();
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNewRequestL" );
     }
 
 
@@ -151,7 +157,7 @@
 //
 void CLpdVerifierPlugin::HandleRequestCancelled(TPosQNRequestId aRequestId)
     {
-    LOCVERIFIERDLGDEBUG( "CLpdVerifierPlugin::HandleRequestCancelled" );
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleRequestCancelled" );
     // Check whether the request is coming from Uikon Server. 
     // If not reject this request.
     if (!CheckClientSecureId(KPrivSrvSecureId))
@@ -182,7 +188,7 @@
         LOCVERIFIERDLGDEBUG( "Notification cancelled" );
         iNotifier->Cancel();
         }
-    
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleRequestCancelled" );
     }
 
 // -----------------------------------------------------------------------------
@@ -192,12 +198,12 @@
 //
 void CLpdVerifierPlugin::HandleAllRequestCancelled()
     {
-    LOCVERIFIERDLGDEBUG( "CLpdVerifierPlugin::HandleAllRequestCancelled" );
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleAllRequestCancelled" );
     if (iCurrentRequest != KPosNullQNRequestId)
         { // current request requires some specific behavior
         HandleRequestCancelled(iCurrentRequest);
         }
-   
+   LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleAllRequestCancelled" );
     }
 
 // -----------------------------------------------------------------------------
@@ -209,7 +215,7 @@
     {
     iVerifyResult = aResultCode;
 
-        LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleVerificationResultL(%d)",
+        LOCVERIFIERDLGDEBUG1( "+CLpdVerifierPlugin::HandleVerificationResultL(%d)",
                 iVerifyResult );
 
     switch (iVerifyResult)
@@ -244,6 +250,7 @@
         }
 
     CompleteCurrentAndContinue(iVerifyResult); // this request was handled
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleVerificationResultL" );
     }
 // -----------------------------------------------------------------------------
 // CLpdVerifierPlugin::HandleNotificationResultL
@@ -253,7 +260,7 @@
 void CLpdVerifierPlugin::HandleNotificationResultL(TInt aResultCode)
     {
 
-   LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleVerificationResultL(%d)",
+   LOCVERIFIERDLGDEBUG1( "+CLpdVerifierPlugin::HandleVerificationResultL(%d)",
                 aResultCode );
     CompleteRequest(iCurrentRequest, aResultCode);
     iCurrentRequest = KPosNullQNRequestId;
@@ -284,6 +291,7 @@
         }
 
     iRequestActiveObject->ScheduleRequest(); // handle next req.
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNotificationResultL" );
     }
 
 // -----------------------------------------------------------------------------
@@ -293,7 +301,7 @@
 //
 void CLpdVerifierPlugin::HandleLeave(TInt /*aError*/)
     {
-        LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleLeave(%d)", aError);
+        LOCVERIFIERDLGDEBUG1( "+CLpdVerifierPlugin::HandleLeave(%d)", aError);
     // In this case user needs feedback about the error situation:
     
 
@@ -301,6 +309,7 @@
     // iVerifyResult, but queue handling is still continued.
     // iVerifyResult is better completion code for request than aError.
     CompleteCurrentAndContinue(iVerifyResult);
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleLeave" );
     }
 
 // -----------------------------------------------------------------------------
@@ -310,6 +319,7 @@
 //
 void CLpdVerifierPlugin::HandleNextRequest()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextRequest" );
     TRAPD( err, HandleNextRequestL() );
     if (err)
         {
@@ -321,6 +331,7 @@
 
         CompleteCurrentAndContinue(iVerifyResult);
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextRequest" );
     }
 
 // -----------------------------------------------------------------------------
@@ -330,7 +341,7 @@
 //
 void CLpdVerifierPlugin::HandleNextRequestL()
     {
-
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextRequestL" );
     // It is better to free previous query resources here, because
     // now all callback methods have finished (active object allowed
     // run to completion)
@@ -382,6 +393,7 @@
         {
         User::Leave(KErrNotSupported);
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextRequestL" );
     }
 
 // -----------------------------------------------------------------------------
@@ -391,6 +403,7 @@
 //
 void CLpdVerifierPlugin::HandleNextVerificationL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextVerificationL" );
     __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
             HandleAssertErrorL() );
     __ASSERT_DEBUG( !iVerifierQuery, HandleAssertErrorL() );
@@ -421,6 +434,7 @@
         
         iVerifierQuery->StartQueryL();    
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextVerificationL" );
     }
 
 // -----------------------------------------------------------------------------
@@ -430,11 +444,13 @@
 //
 void CLpdVerifierPlugin::HandleNextNotificationL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextNotificationL" );
     __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
             HandleAssertErrorL() );
     
     // There is no differentiation now for periodic and single shot notifications
     HandleNextNonPeriodicNotificationL();
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextNotificationL" );
     }
 // -----------------------------------------------------------------------------
 // CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL
@@ -443,7 +459,7 @@
 //
 void CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL()
     {
-    
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL" );
     __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
             HandleAssertErrorL() );
     __ASSERT_DEBUG( !iNotifier, HandleAssertErrorL() );
@@ -462,6 +478,7 @@
     iNotifier = CLpdNotifierQueryLauncher::NewL(*this);
     iNotifier->SetRequestInfoL(iRtorProcessor);
     iNotifier->StartQueryL();
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL" );
     }
 
 
@@ -472,6 +489,7 @@
 //
 void CLpdVerifierPlugin::CompleteCurrentAndContinue(TInt aResultCode)
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::CompleteCurrentAndContinue" );
     if (iCurrentRequest != KPosNullQNRequestId)
         {
         CompleteRequest(iCurrentRequest, aResultCode);
@@ -480,6 +498,7 @@
 
     __ASSERT_DEBUG( iRequestActiveObject, HandleDebugAssertError() );
     iRequestActiveObject->ScheduleRequest(); // handle next req.
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::CompleteCurrentAndContinue" );
     }
 
 // -----------------------------------------------------------------------------
@@ -489,6 +508,7 @@
 //
 void CLpdVerifierPlugin::FreeQueryResources()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::FreeQueryResources" );
     iCurrentRequest = KPosNullQNRequestId;
     delete iVerifierQuery;
     iVerifierQuery = NULL;
@@ -500,6 +520,7 @@
         // be NULL, otherwise it points to an instance.
         iRtorProcessor->ResetAndDestroyRequestors();
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::FreeQueryResources" );
     }
 
 // -----------------------------------------------------------------------------
@@ -509,11 +530,13 @@
 //
 void CLpdVerifierPlugin::HandleAssertErrorL() const
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleAssertErrorL" ); 
 #ifdef _DEBUG        
     User::Panic(KPanicText, KLpdErrGeneral);
 #else
     User::Leave( KErrCorrupt );
 #endif
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleAssertErrorL" ); 
     }
 
 // -----------------------------------------------------------------------------
@@ -523,9 +546,11 @@
 //
 void CLpdVerifierPlugin::HandleDebugAssertError() const
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::HandleDebugAssertError" ); 
 #ifdef _DEBUG
     User::Panic(KPanicText, KLpdErrGeneral);
 #endif
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::HandleDebugAssertError" ); 
     }
 
 
@@ -538,6 +563,7 @@
 // -----------------------------------------------------------------------------
 CPosRequestor::TRequestType CLpdVerifierPlugin::CheckRequestTypeL()
     {
+    LOCVERIFIERDLGDEBUG( "+CLpdVerifierPlugin::CheckRequestTypeL" );
     CPosRequestor::TRequestType reqType = CPosRequestor::ENetworkTypeUnknown;
     if (RequestorCountL() > 0)
         {
@@ -545,6 +571,7 @@
         reqType = requestor->RequestType();
         CleanupStack::PopAndDestroy(requestor);
         }
+    LOCVERIFIERDLGDEBUG( "-CLpdVerifierPlugin::CheckRequestTypeL" );
     return reqType;
     }
 
--- a/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationcustomdialog.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationcustomdialog.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -40,24 +40,6 @@
     {
     qDebug()
             << "+PosVerificationCustomDialog::~PosVerificationCustomDialog()";
-    /*            
-     delete mHeadingLabel;
-     mHeadingLabel = NULL;
-
-     delete mPrimaryAction;
-     mPrimaryAction = NULL;
-
-     delete mQueryText;
-     mQueryText = NULL;
-
-     mRequestorListItems.clear();
-
-     delete mRequestorList;
-     mRequestorList = NULL;
-
-     delete mSecondryAction;
-     mSecondryAction = NULL;
-     */
     delete mQueryText2;
     mQueryText2 = NULL;
 
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.mmp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/group/AdvancedTriggerSupervision.mmp	Fri Jul 23 19:40:48 2010 +0530
@@ -56,6 +56,7 @@
 LIBRARY         lbt.lib
 LIBRARY         lbs.lib
 LIBRARY         centralrepository.lib 
+LIBRARY         ProfileEngine.lib
 
 LANG            SC
 
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AdvancedTriggerSupervision.h	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/inc/AdvancedTriggerSupervision.h	Fri Jul 23 19:40:48 2010 +0530
@@ -30,6 +30,7 @@
 
 // Forward declaration
 class TCoordinate;
+class MProEngEngine;
 
 // CONSTANTS
 //const ?type ?constant_var = ?constant;
@@ -142,6 +143,17 @@
          * Gets current coordinate
          */
         void GetCurrentCoordinateL( TCoordinate& aCoordinate );
+        
+        /**
+         * Set the phone profile to offline mode
+         */
+        void SetProfileToOfflineL();
+        
+        /**
+         * Restore original profile
+         */
+        void RestoreProfileL();
+                
             
         /**
         * Test methods are listed below. 
@@ -187,11 +199,18 @@
 
     private:    // Data
         
-        // ?one_line_short_description_of_data
-        //?data_declaration;
+		/**
+		 * Pointer to profile engine
+		 * Own.
+		 */
+        MProEngEngine* iProEngine;
+        
+        /**
+         * Current profile id
+         */
+        TInt iCurrentProfile;
 
-        // Reserved pointer for future extension
-        //TAny* iReserved;
+
 
     public:     // Friend classes
         //?friend_class_declaration;
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervision.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervision.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -21,6 +21,8 @@
 
 // INCLUDE FILES
 #include <Stiftestinterface.h>
+#include <ProEngFactory.h>
+#include <MProEngEngine.h>
 #include "AdvancedTriggerSupervision.h"
 #include <SettingServerClient.h>
 
@@ -132,13 +134,7 @@
                           CStifLogger::EFile,
                           EFalse );
     
-    RProcess process;
-    ret = process.Create(_L("lbsroot"), KNullDesC);
-    TRequestStatus status;
-    process.Rendezvous(status);
-    process.Resume();             
-    User::WaitForRequest(status);
-    process.Close();    
+    iProEngine= ProEngFactory::NewEngineL();  
     }
 
 // -----------------------------------------------------------------------------
@@ -168,7 +164,8 @@
 
     // Delete logger
     delete iLog; 
-
+    delete iProEngine;
+    iProEngine = NULL;
     }
 
 // ========================== OTHER EXPORTED FUNCTIONS =========================
--- a/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/AdvancedTriggerSupervision/src/AdvancedTriggerSupervisionBlocks.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -75,6 +75,9 @@
 #include <EPos_CPosModuleIdList.h>
 #include <EPos_CPosModules.h>
 #include <EPos_CPosModuleUpdate.h> // CPosModuleUpdate
+
+#include <MProEngEngine.h>
+#include <Profile.hrh>
 // EXTERNAL DATA STRUCTURES
 //extern  ?external_data;
 
@@ -199,6 +202,24 @@
     }
 
 // -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::SetProfileToOfflineL
+// -----------------------------------------------------------------------------
+void CAdvancedTriggerSupervision::SetProfileToOfflineL()
+    {
+    // Store current profile id.
+    iCurrentProfile =  iProEngine->ActiveProfileId();
+    // Change the active profile to Off-line
+    iProEngine->SetActiveProfileL( EProfileOffLineId );
+    }
+// -----------------------------------------------------------------------------
+// CAdvancedTriggerSupervision::RestoreProfileL
+// -----------------------------------------------------------------------------
+void CAdvancedTriggerSupervision::RestoreProfileL()
+    {
+    iProEngine->SetActiveProfileL( iCurrentProfile );
+    }
+
+// -----------------------------------------------------------------------------
 // CAdvancedTriggerSupervision::RunMethodL
 // Run specified method. Contains also table of test mothods and their names.
 // -----------------------------------------------------------------------------
@@ -270,6 +291,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -342,7 +368,7 @@
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	iLog->Log(_L("GP"));
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
     	if( FireInfo.iTriggerId==trigId )
     	{
     
@@ -390,6 +416,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -462,7 +493,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
     	if( FireInfo.iTriggerId==trigId)
     	{
     
@@ -511,6 +542,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -583,7 +619,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
     	if( FireInfo.iTriggerId==trigId)
     	{
   
@@ -631,6 +667,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -701,7 +742,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
     	if( FireInfo.iTriggerId==trigId)
     	{
    
@@ -750,6 +791,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -822,7 +868,8 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	
+    	RestoreProfileL();
     	if(  FireInfo.iTriggerId==trigId)
     	{
    
@@ -871,6 +918,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -943,7 +995,8 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	
+    	RestoreProfileL();
     	if( FireInfo.iTriggerId==trigId)
     	{
   
@@ -994,6 +1047,10 @@
  iLog->Log(_L("Subsession opened "));
  CleanupClosePushL( lbt );
  
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+     
  //Enable only simpsy
  EnableSimPSYL();
  //Clear all triggers
@@ -1071,6 +1128,7 @@
     wait->Start( );
     RArray<TLbtTriggerFireInfo> Firedtriggers;
     lbt.GetFiredTriggersL(Firedtriggers);
+    RestoreProfileL();
     if(Firedtriggers.Count()==2)
     {
         CleanupStack::PopAndDestroy( notifier );
@@ -1118,6 +1176,10 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1195,6 +1257,7 @@
   		wait->Start( );
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1242,6 +1305,10 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1324,6 +1391,7 @@
 	    CleanupStack::Pop( &lbt );
 	    CleanupStack::PopAndDestroy( &lbtserver );
 	    //delete wait;
+	    RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			return KErrNone;
@@ -1360,6 +1428,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1439,6 +1512,7 @@
   		wait->Start( );
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1485,6 +1559,11 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1567,6 +1646,7 @@
     	iLog->Log(_L("Trigger Fired"));
     	RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==2)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1611,6 +1691,10 @@
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
  	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1719,6 +1803,7 @@
 
   		RArray<TLbtTriggerFireInfo> Firedtriggers;
   		lbt.GetFiredTriggersL(Firedtriggers);
+  		RestoreProfileL();
   		if(Firedtriggers.Count()==4)
   		{
   			CleanupStack::PopAndDestroy( notifier );
@@ -1762,6 +1847,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1832,7 +1922,7 @@
     	FireInfo = notifier->GetFiredTrigger();
        	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
     	if( FireInfo.iTriggerId==trigId)
     	{
   
@@ -1882,6 +1972,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -1964,6 +2059,7 @@
     	TReal32 trigDistance;
     	TPosition firePosition;
     	FireInfo = notifier->GetFiredTrigger();
+    	RestoreProfileL();
     	if(FireInfo.iTriggerId!=trigId)
     	{
     //	notifier->StartNotification( wait );
@@ -2026,6 +2122,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2127,6 +2228,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
+    	RestoreProfileL();
      	if(FireInfo.iTriggerId ==trigIdtochange)
      	{
      		
@@ -2178,6 +2280,11 @@
  	 User::LeaveIfError( lbt1.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt1 );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2281,7 +2388,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
-     
+    	RestoreProfileL();
      	if(FireInfo.iTriggerId ==trigIdtochange)
      	{
      		CleanupStack::PopAndDestroy( notifier );
@@ -2332,6 +2439,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2432,6 +2544,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
+    	RestoreProfileL();
      	if(FireInfo.iTriggerId ==trigIdtochange)
      	{
      		CleanupStack::PopAndDestroy( notifier );
@@ -2480,6 +2593,11 @@
  	 User::LeaveIfError( lbt.Open(lbtserver));
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2583,6 +2701,7 @@
     	FireInfo = notifier->GetFiredTrigger();
     	FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     	firePosition.Distance(coordinate,trigDistance);
+    	RestoreProfileL();
     	if( trigDistance>=1000)
     	{
     	_LIT(KProcessToSearch, "About"); 
@@ -2648,6 +2767,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2732,6 +2856,7 @@
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
+    RestoreProfileL();
     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
     {
     	CleanupStack::PopAndDestroy( notifier );
@@ -2776,6 +2901,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2856,6 +2986,7 @@
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
+    RestoreProfileL();
     if( trigDistance>=1000 &&notifier->iTriggerFireCount ==2)
     {
     	CleanupStack::PopAndDestroy( notifier );
@@ -2899,6 +3030,11 @@
  	 User::LeaveIfError( lbt.Open( lbtserver ) );
  	 iLog->Log(_L("Subsession opened "));
  	 CleanupClosePushL( lbt );
+ 	 
+     // Set profile to offline mode.This is required to avoid movement detection blocking the 
+     // trigger firing.
+     SetProfileToOfflineL();
+ 	 
  	 //Enable only simpsy
      EnableSimPSYL();
      //Clear all triggers
@@ -2978,6 +3114,7 @@
     FireInfo = notifier->GetFiredTrigger();
     FireInfo.iFiredPositionInfo.GetPosition(firePosition);
     firePosition.Distance(coordinate,trigDistance);
+    RestoreProfileL();
     if( trigDistance<=1000 &&notifier->iTriggerFireCount ==2)
     {
     	CleanupStack::PopAndDestroy( notifier );
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/conf/CellbasedtriggerOperations.cfg	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/conf/CellbasedtriggerOperations.cfg	Fri Jul 23 19:40:48 2010 +0530
@@ -286,6 +286,20 @@
 foobar TC_LBT_034_56L
 delete foobar
 [Endtest] 
+
+[Test]
+title TC_LBT_034_61L
+create CellbasedtriggerOperations foobar
+foobar TC_LBT_034_61L
+delete foobar
+[Endtest] 
+[Test]
+title TC_LBT_034_62L
+create CellbasedtriggerOperations foobar
+foobar TC_LBT_034_62L
+delete foobar
+[Endtest]    
+
 [Test]
 title TC_LBT_034_69L
 create CellbasedtriggerOperations foobar
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h	Fri Jul 23 19:40:48 2010 +0530
@@ -139,7 +139,8 @@
         */
         static CLbtEventObserver* NewL( RLbt& aLbt );
 
-              
+        static CLbtEventObserver* NewL();
+        
         /**
         * Destructor.
         */
@@ -162,7 +163,8 @@
 	    
 	    void HandleCIDChangeL(const CTelephony::TNetworkInfoV1 &aNwInfo);
 	    void StartCidNotification( CActiveSchedulerWait* aWait );
-
+	    void GetCurrentCGIInfo( CTelephony::TNetworkInfoV1& aNwInfo,
+                                CActiveSchedulerWait* aWait);
 
     
     private:
@@ -170,18 +172,23 @@
         /**
         * C++ default constructor.
         */
-    CLbtEventObserver(  );
+	    CLbtEventObserver();
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL( RLbt& aLbt );
         
+        /**
+         * By default Symbian 2nd phase constructor is private.
+         */
+         void ConstructL();
+        
     private:
     
         CLbtCidChangeNotifier* iCidchangenotifier; 
         CActiveSchedulerWait* iWait;
-        
+        CTelephony::TNetworkInfoV1* iNetWorkInfo;
        
        
 
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/CellbasedtriggerOperations.h	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/CellbasedtriggerOperations.h	Fri Jul 23 19:40:48 2010 +0530
@@ -27,8 +27,8 @@
 #include <StifLogger.h>
 #include <TestScripterInternal.h>
 #include <StifTestModule.h>
-
-
+#include <etel3rdparty.h>
+#include <etelmm.h>
 // CONSTANTS
 //const ?type ?constant_var = ?constant;
 
@@ -138,6 +138,13 @@
         * @since ?Series60_version
         */
         void Delete();
+        
+        /**
+         * Gets current cell information
+         */
+        void GetCurrentCellInfoL(  
+                RMobilePhone::TMobilePhoneNetworkMode& aNetworkMode,
+                CTelephony::TNetworkInfoV1& aNwInfo );
 
         /**
         * Test methods are listed below. 
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/lbtcidchangenotifier.h	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/lbtcidchangenotifier.h	Fri Jul 23 19:40:48 2010 +0530
@@ -43,6 +43,14 @@
  */
 NONSHARABLE_CLASS( CLbtCidChangeNotifier ) : public CActive
     {
+    enum TState
+        {
+        ENone,
+        
+        ECurrentNetwork,
+        
+        ENotifyNetworkChange
+        };
 public:
 
     /**
@@ -56,7 +64,12 @@
     ~CLbtCidChangeNotifier();
     
 public:
-
+    
+    /**
+     * 
+     */
+    void GetCurrentCGIInfo();
+    
     /**
      * Initiates a request for notification after the specified time interval
      * has elapsed
@@ -92,6 +105,8 @@
      
      MLbtCidChangeObsrvr *iObs;
      
+     
+     TState iState;
     };
 
 #endif  // C_LBTSTRATEGYTIMER_H
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/AsynOperationAO.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -286,6 +286,17 @@
     }
 
 // -----------------------------------------------------------------------------
+// CTriggerFireObserver::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLbtEventObserver::ConstructL()
+    {
+     RFileLogger aLog;
+     iCidchangenotifier=CLbtCidChangeNotifier::NewL(aLog,this);
+    }
+
+// -----------------------------------------------------------------------------
 // CTriggerFireObserver::NewL
 // Two-phased constructor.
 // -----------------------------------------------------------------------------
@@ -304,6 +315,19 @@
 
     }
 
+
+// -----------------------------------------------------------------------------
+// CTriggerFireObserver::NewL
+// -----------------------------------------------------------------------------
+CLbtEventObserver* CLbtEventObserver::NewL()
+    {
+    CLbtEventObserver* self = new (ELeave) CLbtEventObserver();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+    }
+
 // Destructor
 CLbtEventObserver::~CLbtEventObserver()
     { 
@@ -352,6 +376,14 @@
 	SetActive( ); 
 }
 
+void CLbtEventObserver::GetCurrentCGIInfo( CTelephony::TNetworkInfoV1& aNwInfo,
+                                           CActiveSchedulerWait* aWait )
+    {
+    iWait=aWait;
+    iNetWorkInfo = &aNwInfo;
+    iCidchangenotifier->GetCurrentCGIInfo();
+    }
+    
 void CLbtEventObserver::HandleCIDChangeL(const CTelephony::TNetworkInfoV1 &aNwInfo)
     { 
 
@@ -360,12 +392,20 @@
 //	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Network id = %s"),aNwInfo.iNetworkId);
 //	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Location Area code= %d"),aNwInfo.iLocationAreaCode);
 	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "Cell Id= %d"),aNwInfo.iCellId);
-
+	if( iNetWorkInfo )
+	    {
+        iNetWorkInfo->iMode = aNwInfo.iMode;
+        iNetWorkInfo->iCountryCode = aNwInfo.iCountryCode;
+        iNetWorkInfo->iNetworkId = aNwInfo.iNetworkId;
+        iNetWorkInfo->iLocationAreaCode = aNwInfo.iLocationAreaCode;
+        iNetWorkInfo->iCellId  = aNwInfo.iCellId;
+        iWait->AsyncStop( );
+	    }
     }
     
     void CLbtEventObserver::StartCidNotification( CActiveSchedulerWait* aWait )
 	{
-	
+        iNetWorkInfo = NULL;
 	  	iWait=aWait;
 	  	iCidchangenotifier->Start();
 	}
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/CellbasedtriggerOperationsBlocks.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/CellbasedtriggerOperationsBlocks.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -139,6 +139,42 @@
 
     }
 
+
+// -----------------------------------------------------------------------------
+// CCellbasedtriggerOperations::GetCurrentCellInfo
+// -----------------------------------------------------------------------------
+void CCellbasedtriggerOperations::GetCurrentCellInfoL( 
+                            RMobilePhone::TMobilePhoneNetworkMode& aNetworkMode,
+                            CTelephony::TNetworkInfoV1& aNwInfo )  
+    {
+    iLog->Log(_L("+GetCurrentCellInfoL"));
+    CLbtEventObserver* notifier= CLbtEventObserver::NewL();
+    CleanupStack::PushL( notifier );
+    CActiveSchedulerWait* wait = new( ELeave ) CActiveSchedulerWait;
+    // Ownership of wait is taken by notifier
+    iLog->Log(_L("+GetCurrentCGIInfo"));
+    notifier->GetCurrentCGIInfo( aNwInfo,wait );
+    iLog->Log(_L("-GetCurrentCGIInfo"));
+    wait->Start();
+    iLog->Log(_L("WaitStart"));
+    switch( aNwInfo.iMode )
+        {
+        case CTelephony::ENetworkModeGsm:
+            aNetworkMode = RMobilePhone::ENetworkModeGsm;
+            break;
+            
+        case CTelephony::ENetworkModeWcdma:
+            aNetworkMode = RMobilePhone::ENetworkModeWcdma;
+            break;
+            
+        default:
+            aNetworkMode = RMobilePhone::ENetworkModeUnknown;
+        }
+            
+    CleanupStack::PopAndDestroy( notifier );
+    iLog->Log(_L("-GetCurrentCellInfoL"));
+    }
+
 // -----------------------------------------------------------------------------
 // CCellbasedtriggerOperations::RunMethodL
 // Run specified method. Contains also table of test mothods and their names.
@@ -6067,24 +6103,23 @@
        
     // set condition
     
-    	CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
- 	CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
+    CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+    CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
  	CLbtEventObserver* notifier= CLbtEventObserver::NewL( lbt);
 	CleanupStack::PushL( notifier );
     CTriggerFireObserver* notifier2= CTriggerFireObserver::NewL( lbt);
     CleanupStack::PushL( notifier2 );
 	
-	TBuf<4> Networkcountrycode = _L("404");
-    TBuf<8> Networkidentitycode = _L("45");
-    TUint Locationareacode = 1627;
-    TUint CellId = 11681;
-   
-    CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL(RMobilePhone :: ENetworkModeGsm,
-   														Networkcountrycode,
-   														Networkidentitycode,
-   														Locationareacode,
-   														CellId
-   														);
+  
+    RMobilePhone::TMobilePhoneNetworkMode networkMode;
+    CTelephony::TNetworkInfoV1 nwInfo;
+    GetCurrentCellInfoL( networkMode,nwInfo );
+    
+    CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL( networkMode,
+                                                nwInfo.iCountryCode,
+                                                nwInfo.iNetworkId,
+                                                nwInfo.iLocationAreaCode,
+                                                nwInfo.iCellId );
     
     
     // ownership of Cellarea object transferred to the condition object
@@ -6100,14 +6135,12 @@
 	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
     TLbtTriggerId trigId;
            
-    notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
+    notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
     wait->Start( );
     
-    iLog->Log(_L("Trigger Created"));    
-    notifier->StartCidNotification(wait);
     iLog->Log(_L("Cell id change notification requested"));
     notifier2->StartNotification( wait2 );
-  	wait2->Start( );
+    wait2->Start( );
     iLog->Log(_L("Trigger Fired"));
     
     notifier->Cancel();
@@ -6130,7 +6163,7 @@
     {
     CLbtGeoCell* cell=NULL;
     	cell= static_cast<CLbtGeoCell*> (area);
-    	if(cell->CellId()==CellId)
+    	if(cell->CellId()==nwInfo.iCellId)
     	    {
     	    CleanupStack::PopAndDestroy( Triginfo );
 		    CleanupStack::PopAndDestroy( notifier2 );
@@ -6164,121 +6197,118 @@
     //Firing of CGI based Cellular Session trigger
     TInt CCellbasedtriggerOperations::TC_LBT_034_62_testL( CStifItemParser& /* aItem */ )
     {
-   	
- 	  RLbtServer lbtserver;
- 	 RLbt lbt;
- 	 iLog->Log(_L("Before connecting"));
- 	 User::LeaveIfError( lbtserver.Connect() );
-     CleanupClosePushL( lbtserver );
-     iLog->Log(_L("Connection to RLbtServer Passed "));
- 	 User::LeaveIfError( lbt.Open(lbtserver));
- 	 iLog->Log(_L("Subsession opened "));
- 	 CleanupClosePushL( lbt );
- 
- 
-	  //Construct a startup trigger
-    CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
-    
-    //Push to cleanup stack
-    CleanupStack::PushL( trig );
-    iLog->Log(_L("Startup Trigger Entry Created "));
-    
-    // Set Name
-    trig->SetNameL(_L("Trigger1"));
-   
-   
-    // set condition
-    
-    	CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
- 	CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
- 	CLbtEventObserver* notifier= CLbtEventObserver::NewL( lbt);
-	CleanupStack::PushL( notifier );
-    CTriggerFireObserver* notifier2= CTriggerFireObserver::NewL( lbt);
-    CleanupStack::PushL( notifier2 );
-	
-	TBuf<4> Networkcountrycode = _L("404");
-    TBuf<8> Networkidentitycode = _L("45");
-    TUint Locationareacode = 1627;
-    TUint CellId = 11681;
-   
-    CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL(RMobilePhone :: ENetworkModeGsm,
-   														Networkcountrycode,
-   														Networkidentitycode,
-   														Locationareacode,
-   														CellId
-   														);
-    
-    
-    // ownership of Cellarea object transferred to the condition object
-    CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
-                                                Cellarea,
-                                                CLbtTriggerConditionArea::EFireOnEnter);
-        
-    trig->SetCondition(condition); // ownership transferred to object
-	
-	 //set Requestor     
-    CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
-	CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
-	TBuf<KLbtMaxNameLength> ReqData=_L("");
-	trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
-    TLbtTriggerId trigId;
+        
+        RLbtServer lbtserver;
+        RLbt lbt;
+        iLog->Log(_L("Before connecting"));
+        User::LeaveIfError( lbtserver.Connect() );
+        CleanupClosePushL( lbtserver );
+        iLog->Log(_L("Connection to RLbtServer Passed "));
+        User::LeaveIfError( lbt.Open(lbtserver));
+        iLog->Log(_L("Subsession opened "));
+        CleanupClosePushL( lbt );
+    
+    
+         //Construct a startup trigger
+       CLbtSessionTrigger* trig = CLbtSessionTrigger::NewL();
+       
+       //Push to cleanup stack
+       CleanupStack::PushL( trig );
+       iLog->Log(_L("Session Trigger Entry Created "));
+       
+       // Set Name
+       trig->SetNameL(_L("Trigger1"));
+       // set condition
+       
+       CActiveSchedulerWait* wait=new(ELeave)CActiveSchedulerWait;
+       CActiveSchedulerWait* wait2=new(ELeave)CActiveSchedulerWait;
+       CLbtEventObserver* notifier= CLbtEventObserver::NewL( lbt);
+       CleanupStack::PushL( notifier );
+       CTriggerFireObserver* notifier2= CTriggerFireObserver::NewL( lbt);
+       CleanupStack::PushL( notifier2 );
+       
+     
+       RMobilePhone::TMobilePhoneNetworkMode networkMode;
+       CTelephony::TNetworkInfoV1 nwInfo;
+       GetCurrentCellInfoL( networkMode,nwInfo );
+       
+       CLbtGeoCell* Cellarea  = CLbtGeoCell::NewL( networkMode,
+                                                   nwInfo.iCountryCode,
+                                                   nwInfo.iNetworkId,
+                                                   nwInfo.iLocationAreaCode,
+                                                   nwInfo.iCellId );
+       
+       
+       // ownership of Cellarea object transferred to the condition object
+       CLbtTriggerConditionArea* condition=CLbtTriggerConditionArea::NewL(
+                                                   Cellarea,
+                                                   CLbtTriggerConditionArea::EFireOnEnter);
            
-    notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
-    wait->Start( );
-    
-    iLog->Log(_L("Trigger Created"));    
-    notifier->StartCidNotification(wait);
-    iLog->Log(_L("Cell id change notification requested"));
-    notifier2->StartNotification( wait2 );
-  	wait2->Start( );
-    iLog->Log(_L("Trigger Fired"));
-    
-    notifier->Cancel();
-    TLbtTriggerFireInfo FireInfo;
-    FireInfo = notifier2->GetFiredTrigger();
-    
-    CLbtTriggerInfo *Triginfo;
-    iLog->Log(_L("Before GetTriggerLC "));
-    
-    Triginfo = lbt.GetTriggerLC(FireInfo.iTriggerId);
-    CLbtTriggerEntry *TrigEntry = Triginfo->TriggerEntry();
-    
-    //Check Condition of the trigger
-	CLbtTriggerConditionArea* Condition2 = static_cast <CLbtTriggerConditionArea*>(TrigEntry->GetCondition());
-	
-	CLbtGeoAreaBase* area = Condition2->TriggerArea();
-	
-    if(area->Type()==CLbtGeoAreaBase::ECellular)
-    {
-    CLbtGeoCell* cell=NULL;
-    	cell= static_cast<CLbtGeoCell*> (area);
-    	if(cell->CellId()==CellId)
-    	    {
-    	    CleanupStack::PopAndDestroy( Triginfo );
-		      CleanupStack::PopAndDestroy( notifier2 );
-		    CleanupStack::PopAndDestroy( notifier );
-			CleanupStack::PopAndDestroy( trig );
-			CleanupStack::Pop( &lbt );
-			CleanupStack::PopAndDestroy( &lbtserver );
-			//delete wait;
-			//delete wait2;
-    		return KErrNone;	
-    	    }
-    	    else
-    	    {
-    	    CleanupStack::PopAndDestroy( Triginfo );
-		      CleanupStack::PopAndDestroy( notifier2 );
-		    CleanupStack::PopAndDestroy( notifier );
-			CleanupStack::PopAndDestroy( trig );
-			CleanupStack::Pop( &lbt );
-			CleanupStack::PopAndDestroy( &lbtserver );
-			//delete wait;
-			//delete wait2;
-    		return -99;
-    	    }
-    }
-    return KErrNone;
-    }
+       trig->SetCondition(condition); // ownership transferred to object
+        //set Requestor     
+       CRequestorBase::TRequestorType ReqType=CRequestorBase::ERequestorUnknown;
+       CRequestorBase::_TRequestorFormat ReqFormat=CRequestorBase::EFormatUnknown;
+       TBuf<KLbtMaxNameLength> ReqData=_L("");
+       trig->SetRequestorL(ReqType,ReqFormat,ReqData);  
+       TLbtTriggerId trigId;
+              
+       notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
+       wait->Start( );
+
+       notifier2->StartNotification( wait2 );
+       wait2->Start( );
+       iLog->Log(_L("Trigger Fired"));
+       
+       notifier->Cancel();
+       TLbtTriggerFireInfo FireInfo;
+       FireInfo = notifier2->GetFiredTrigger();
+       
+       CLbtTriggerInfo *Triginfo;
+       iLog->Log(_L("Before GetTriggerLC "));
+       
+       Triginfo = lbt.GetTriggerLC(FireInfo.iTriggerId);
+       //Triginfo = lbt.GetTriggerLC(trigId);
+       CLbtTriggerEntry *TrigEntry = Triginfo->TriggerEntry();
+       
+       //Check Condition of the trigger
+       CLbtTriggerConditionArea* Condition2 = static_cast <CLbtTriggerConditionArea*>(TrigEntry->GetCondition());
+       
+       CLbtGeoAreaBase* area = Condition2->TriggerArea();
+       
+       if(area->Type()==CLbtGeoAreaBase::ECellular)
+       {
+       CLbtGeoCell* cell=NULL;
+           cell= static_cast<CLbtGeoCell*> (area);
+           if(cell->CellId()==nwInfo.iCellId)
+               {
+               CleanupStack::PopAndDestroy( Triginfo );
+               CleanupStack::PopAndDestroy( notifier2 );
+               CleanupStack::PopAndDestroy( notifier );
+               CleanupStack::PopAndDestroy( trig );
+               CleanupStack::Pop( &lbt );
+               CleanupStack::PopAndDestroy( &lbtserver );
+           //  //delete wait;
+           //  //delete wait2;
+               return KErrNone;    
+               }
+               else
+               {
+               CleanupStack::PopAndDestroy( Triginfo );
+                 CleanupStack::PopAndDestroy( notifier2 );
+               CleanupStack::PopAndDestroy( notifier );
+               CleanupStack::PopAndDestroy( trig );
+               CleanupStack::Pop( &lbt );
+               CleanupStack::PopAndDestroy( &lbtserver );
+           //  //delete wait;
+           //  //delete wait2;
+               return -99;
+               }
+       }
+       
+       
+       return KErrNone;
+       
+       }
     
     //Test case to check hysteresis condition for cell based triggers
     TInt CCellbasedtriggerOperations::TC_LBT_034_65_testL( CStifItemParser& /* aItem */ )
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/lbtcidchangenotifier.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/src/lbtcidchangenotifier.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -50,21 +50,48 @@
     
     //Make Async call
     iTelephony->NotifyChange(iStatus, CTelephony::ECurrentNetworkInfoChange, iNwInfoPckg);
-    
+    iState = ENotifyNetworkChange;
     }
+
+void CLbtCidChangeNotifier::GetCurrentCGIInfo()
+    {
+    //iStatus = KRequestPending;
+    if(IsActive())
+        {
+        return;
+        }
+        
+    iTelephony->GetCurrentNetworkInfo(iStatus, iNwInfoPckg);
+    SetActive();     
+    iState = ECurrentNetwork;
+    }
+
 void CLbtCidChangeNotifier::DoCancel()
     {
-    //Cancel Async call
-//    	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "DoCancel before CancelAsync"));
-    iTelephony->CancelAsync(CTelephony::ECurrentNetworkInfoChangeCancel);
-//    	RFileLogger::WriteFormat(KLbtTraceDir, KLbtTraceFile, EFileLoggingModeAppend,_L( "DoCancel After CancelAsync"));
+    switch( iState )
+        {
+        case ECurrentNetwork:
+            iTelephony->CancelAsync(CTelephony::EGetCurrentNetworkInfoCancel);
+            iState = ENone;
+            break;
+            
+        case ENotifyNetworkChange:
+            iTelephony->CancelAsync(CTelephony::ECurrentNetworkInfoChangeCancel);
+            iState = ENone;
+            break;
+            
+        default:
+            break;
+        }
     
     }
+
 CLbtCidChangeNotifier::CLbtCidChangeNotifier(RFileLogger &aLog, MLbtCidChangeObsrvr *aObs) 
                         : CActive( EPriorityStandard ),
                         iNwInfoPckg(iNwInfo),
                         iLog(aLog), 
-                        iObs(aObs)
+                        iObs(aObs),
+                        iState( ENone ) 
                         
     {
     CActiveScheduler::Add( this ); 
@@ -73,14 +100,25 @@
     {
     //Construct Async Object
     iTelephony = CTelephony::NewL();
-    
     }
     
 void CLbtCidChangeNotifier::RunL()
 	{
-	//iLog.Write(_L("CLbtCidChangeNotifier::RunL"));	
-	iObs->HandleCIDChangeL(iNwInfo);
-	Start();
+    switch( iState )
+        {
+        case ECurrentNetwork:
+            iObs->HandleCIDChangeL(iNwInfo);        
+            iState = ENone;
+            break;
+            
+        case ENotifyNetworkChange:
+            iObs->HandleCIDChangeL(iNwInfo);
+            Start();
+            break;
+            
+        default:
+            break;
+        }
     }
     
     
--- a/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/conf/TestHybridTriggers.cfg	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/conf/TestHybridTriggers.cfg	Fri Jul 23 19:40:48 2010 +0530
@@ -580,7 +580,7 @@
 foobar TC_TestUpdateTrigger6L
 delete foobar
 [Endtest]
-/*
+
 [Test]
 title TC_TestHybridTriggerFiring1L
 create TestHybridTriggers foobar
@@ -593,6 +593,8 @@
 foobar TC_TestHybridTriggerFiring2L
 delete foobar
 [Endtest]
+
+/*
 [Test]
 title StartCellChangeNotifierL
 create TestHybridTriggers foobar
--- a/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/src/TestHybridTriggersBlocks.cpp	Fri Jul 09 20:18:03 2010 +0530
+++ b/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/src/TestHybridTriggersBlocks.cpp	Fri Jul 23 19:40:48 2010 +0530
@@ -6523,7 +6523,7 @@
        CleanupStack::PushL( notifier );
       
                  
-       notifier->CreateTriggers( lbt,*trig,trigId,EFalse,wait );
+       notifier->CreateTriggers( lbt,*trig,trigId,ETrue,wait );
        wait->Start( );
        iLog->Log(_L("Trigger Created"));
        notifier->StartNotification( wait );