--- a/genericpositioningplugins/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/genericpositioningplugins/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -18,13 +18,13 @@
#include <platform_paths.hrh>
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
#include "../locationnpppsy/group/bld.inf"
#include "../locationsuplpsy/group/bld.inf"
PRJ_EXPORTS
-../cenrep/10282266_s60.cre z:/private/10202be9/10282266_s60.cre
+//../cenrep/10282266_s60.cre z:/private/10202be9/10282266_s60.cre
../cenrep/1028224B_s60.cre z:/private/10202be9/1028224B_s60.cre
../rom/prifw_cenrep.iby CORE_MW_LAYER_IBY_EXPORT_PATH(prifw_cenrep.iby)
--- a/genericpositioningplugins/locationnpppsy/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/genericpositioningplugins/locationnpppsy/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -18,7 +18,7 @@
#include <platform_paths.hrh>
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
PRJ_EXPORTS
../rom/nla_npppsy.iby CORE_MW_LAYER_IBY_EXPORT_PATH(nla_npppsy.iby)
--- a/genericpositioningplugins/locationnpppsy/inc/npppsysingletonhandler.h Thu May 27 13:18:17 2010 +0300
+++ b/genericpositioningplugins/locationnpppsy/inc/npppsysingletonhandler.h Wed Jun 23 18:40:52 2010 +0300
@@ -51,7 +51,7 @@
* status.
* @reuturn the pointer the the singleton handler
*/
- static CNppPsySingletonHandler* CNppPsySingletonHandler::GetInstanceL(
+ static CNppPsySingletonHandler* GetInstanceL(
MPositionerStatus& aStatusInterface );
/**
--- a/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -17,7 +17,7 @@
PRJ_PLATFORMS
-WINSCW ARMV5
+WINSCW ARMV5 GCCE
#include "../genericpositioningplugins/group/bld.inf"
#include "../landmarks/group/bld.inf"
--- a/landmarks/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/landmarks/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -19,7 +19,7 @@
PRJ_PLATFORMS
-WINSCW ARMV5
+WINSCW ARMV5 GCCE
#include "../locationlandmarks/group/bld.inf"
--- a/landmarks/locationlandmarks/dbmanclientlib/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/landmarks/locationlandmarks/dbmanclientlib/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include <platform_paths.hrh>
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
PRJ_EXPORTS
--- a/landmarks/locationlandmarks/dbmanclientlib/src/EPos_HPosLmDatabaseInfo.cpp Thu May 27 13:18:17 2010 +0300
+++ b/landmarks/locationlandmarks/dbmanclientlib/src/EPos_HPosLmDatabaseInfo.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -254,9 +254,16 @@
sizeof(TInt) +
aDatabaseUri.Size();
+#if defined(__GCCE__)
+ // allocate memory
+ return User::AllocL(_FOFF(HPosLmDatabaseInfo,
+ iBuffer) + requiredBufferSize * sizeof (typeof(iBuffer)));
+#else
// allocate memory
return User::AllocL(_FOFF(HPosLmDatabaseInfo,
- iBuffer[requiredBufferSize]));
+ iBuffer[requiredBufferSize]));
+#endif
+
}
--- a/landmarks/locationlandmarks/internalservices/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/landmarks/locationlandmarks/internalservices/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -43,10 +43,8 @@
../inc/EPos_CPosLmSettingsHandler.h |../../../inc/epos_cposlmsettingshandler.h
../inc/EPos_PosLmLongTextColHandler.h |../../../inc/epos_poslmlongtextcolhandler.h
-../data/101FE99B.txt /epoc32/release/winscw/udeb/z/private/10202be9/101fe99b.txt
PRJ_MMPFILES
-//gnumakefile epos_landmarksglobalcategories_icons.mk
EPos_LmInternalServices.mmp
EPos_LandmarksGlobalCategories.mmp
--- a/landmarks/locationlandmarks/localaccess/inc/epos_cposlmlocaldatabase.h Thu May 27 13:18:17 2010 +0300
+++ b/landmarks/locationlandmarks/localaccess/inc/epos_cposlmlocaldatabase.h Wed Jun 23 18:40:52 2010 +0300
@@ -360,7 +360,7 @@
* full information.
* @return The landmark.
*/
- CPosLandmark* CPosLmLocalDatabase::ReadLmLC(
+ CPosLandmark* ReadLmLC(
TPosLmItemId aLandmarkId,
TBool aIsPartial );
--- a/landmarks/locationlandmarks/server/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/landmarks/locationlandmarks/server/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -25,7 +25,7 @@
// Internal APIs
../inc/EPos_PosLmServerCommon.h |../../../inc/epos_poslmservercommon.h
-../data/backup_registration.xml /epoc32/data/z/private/101fdf81/backup_registration.xml
+../data/backup_registration.xml z:/private/101fdf81/backup_registration.xml
PRJ_MMPFILES
EPos_LandmarksServer.mmp
--- a/layers.sysdef.xml Thu May 27 13:18:17 2010 +0300
+++ b/layers.sysdef.xml Wed Jun 23 18:40:52 2010 +0300
@@ -14,6 +14,11 @@
mrp="" bldFile="&layer_real_source_path;/supl/locationomasuplprotocolhandler/asnpluginimplementation/group"
filter="dfs_build" name="lodo_locationsrv_supl_asnpluginimplementation" />
</module>
+ <module name="locationsupllocinfoconverter">
+ <unit unitID="lodo.locationsrv.supl.locationsupllocinfoconverter"
+ mrp="" bldFile="&layer_real_source_path;/supl/locationsupllocinfoconverter/group"
+ filter="dfs_build" name="lodo_locationsrv_supl_locationsupllocinfoconverter" />
+ </module>
<module name="asnpluginimplementationver2">
<unit unitID="lodo.locationsrv.supl.asnpluginimplementationver2"
mrp="" bldFile="&layer_real_source_path;/supl/locationomasuplprotocolhandler/asnpluginimplementationver2/group"
--- a/locationsystemui/locationsysui/locsysui.pro Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/locsysui.pro Wed Jun 23 18:40:52 2010 +0300
@@ -19,5 +19,8 @@
SYMBIAN_PLATFORMS = WINSCW ARMV5
SUBDIRS += possettings/possettings.pro
+SUBDIRS += privacyverifiernotifierui/privacyverifiernotifierui.pro
+BLD_INF_RULES.prj_exports += "conf/loclocalvariation.confml MW_LAYER_CONFML(loclocalvariation.confml)" \
+ "conf/loclocalvariation_20022D83.crml MW_LAYER_CRML(loclocalvariation_20022D83.crml)"
\ No newline at end of file
--- a/locationsystemui/locationsysui/possettings/bwins/possettingsengineu.def Thu May 27 13:18:17 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-EXPORTS ?trUtf8@PosSettingsAdvOp@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString PosSettingsAdvOp::trUtf8(char const *, char const *)
- ?staticMetaObject@PosSettingsAdvOp@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const PosSettingsAdvOp::staticMetaObject
- ?setExpanded@PosSettingsAdvOp@@QAEXABVQModelIndex@@_N@Z @ 3 NONAME ; void PosSettingsAdvOp::setExpanded(class QModelIndex const &, bool)
- ?addAction@PosSettingsAdvOp@@QAEXPAVHbAction@@W4ActionContainer@HbView@@@Z @ 4 NONAME ; void PosSettingsAdvOp::addAction(class HbAction *, enum HbView::ActionContainer)
- ?qt_metacast@PosSettingsAdvOp@@UAEPAXPBD@Z @ 5 NONAME ; void * PosSettingsAdvOp::qt_metacast(char const *)
- ??_EPosSettingsView@@UAE@I@Z @ 6 NONAME ; PosSettingsView::~PosSettingsView(unsigned int)
- ?isExpanded@PosSettingsAdvOp@@QBE_NABVQModelIndex@@@Z @ 7 NONAME ; bool PosSettingsAdvOp::isExpanded(class QModelIndex const &) const
- ?addConnection@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 8 NONAME ; void PosSettingsAdvOp::addConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
- ?tr@PosSettingsAdvOp@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString PosSettingsAdvOp::tr(char const *, char const *, int)
- ?appendDataFormItem@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@0@Z @ 10 NONAME ; void PosSettingsAdvOp::appendDataFormItem(class HbDataFormModelItem *, class HbDataFormModelItem *)
- ??1PosSettingsAdvOp@@UAE@XZ @ 11 NONAME ; PosSettingsAdvOp::~PosSettingsAdvOp(void)
- ?qt_metacall@PosSettingsAdvOp@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12 NONAME ; int PosSettingsAdvOp::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0PosSettingsAdvOp@@QAE@PAVHbView@@@Z @ 13 NONAME ; PosSettingsAdvOp::PosSettingsAdvOp(class HbView *)
- ??_EPosSettingsAdvOp@@UAE@I@Z @ 14 NONAME ; PosSettingsAdvOp::~PosSettingsAdvOp(unsigned int)
- ??1PosSettingsView@@UAE@XZ @ 15 NONAME ; PosSettingsView::~PosSettingsView(void)
- ?itemPrototypes@PosSettingsAdvOp@@QAEXAAV?$QList@PAVHbAbstractViewItem@@@@@Z @ 16 NONAME ; void PosSettingsAdvOp::itemPrototypes(class QList<class HbAbstractViewItem *> &)
- ?removeConnection@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 17 NONAME ; void PosSettingsAdvOp::removeConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
- ?indexFromItem@PosSettingsAdvOp@@QAE?AVQModelIndex@@PBVHbDataFormModelItem@@@Z @ 18 NONAME ; class QModelIndex PosSettingsAdvOp::indexFromItem(class HbDataFormModelItem const *)
- ?setItemPrototypes@PosSettingsAdvOp@@QAEXAAV?$QList@PAVHbAbstractViewItem@@@@@Z @ 19 NONAME ; void PosSettingsAdvOp::setItemPrototypes(class QList<class HbAbstractViewItem *> &)
- ??0PosSettingsView@@QAE@PAVQGraphicsItem@@@Z @ 20 NONAME ; PosSettingsView::PosSettingsView(class QGraphicsItem *)
- ?removeItem@PosSettingsAdvOp@@QAE_NPAVHbDataFormModelItem@@@Z @ 21 NONAME ; bool PosSettingsAdvOp::removeItem(class HbDataFormModelItem *)
- ?trUtf8@PosSettingsAdvOp@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString PosSettingsAdvOp::trUtf8(char const *, char const *, int)
- ?tr@PosSettingsAdvOp@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString PosSettingsAdvOp::tr(char const *, char const *)
- ?getStaticMetaObject@PosSettingsAdvOp@@SAABUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const & PosSettingsAdvOp::getStaticMetaObject(void)
- ?metaObject@PosSettingsAdvOp@@UBEPBUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const * PosSettingsAdvOp::metaObject(void) const
-
--- a/locationsystemui/locationsysui/possettings/eabi/possettingsengineu.def Thu May 27 13:18:17 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-EXPORTS
- _ZN15PosSettingsViewC1EP13QGraphicsItem @ 1 NONAME
- _ZN15PosSettingsViewC2EP13QGraphicsItem @ 2 NONAME
- _ZN15PosSettingsViewD0Ev @ 3 NONAME
- _ZN15PosSettingsViewD1Ev @ 4 NONAME
- _ZN15PosSettingsViewD2Ev @ 5 NONAME
- _ZN16PosSettingsAdvOp10removeItemEP19HbDataFormModelItem @ 6 NONAME
- _ZN16PosSettingsAdvOp11qt_metacallEN11QMetaObject4CallEiPPv @ 7 NONAME
- _ZN16PosSettingsAdvOp11qt_metacastEPKc @ 8 NONAME
- _ZN16PosSettingsAdvOp11setExpandedERK11QModelIndexb @ 9 NONAME
- _ZN16PosSettingsAdvOp13addConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 10 NONAME
- _ZN16PosSettingsAdvOp13indexFromItemEPK19HbDataFormModelItem @ 11 NONAME
- _ZN16PosSettingsAdvOp14itemPrototypesER5QListIP18HbAbstractViewItemE @ 12 NONAME
- _ZN16PosSettingsAdvOp16removeConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 13 NONAME
- _ZN16PosSettingsAdvOp16staticMetaObjectE @ 14 NONAME DATA 16
- _ZN16PosSettingsAdvOp17setItemPrototypesER5QListIP18HbAbstractViewItemE @ 15 NONAME
- _ZN16PosSettingsAdvOp18appendDataFormItemEP19HbDataFormModelItemS1_ @ 16 NONAME
- _ZN16PosSettingsAdvOp19getStaticMetaObjectEv @ 17 NONAME
- _ZN16PosSettingsAdvOp9addActionEP8HbActionN6HbView15ActionContainerE @ 18 NONAME
- _ZN16PosSettingsAdvOpC1EP6HbView @ 19 NONAME
- _ZN16PosSettingsAdvOpC2EP6HbView @ 20 NONAME
- _ZN16PosSettingsAdvOpD0Ev @ 21 NONAME
- _ZN16PosSettingsAdvOpD1Ev @ 22 NONAME
- _ZN16PosSettingsAdvOpD2Ev @ 23 NONAME
- _ZNK16PosSettingsAdvOp10isExpandedERK11QModelIndex @ 24 NONAME
- _ZNK16PosSettingsAdvOp10metaObjectEv @ 25 NONAME
- _ZTI15PosSettingsView @ 26 NONAME
- _ZTI16PosSettingsAdvOp @ 27 NONAME
- _ZTV15PosSettingsView @ 28 NONAME
- _ZTV16PosSettingsAdvOp @ 29 NONAME
- _ZThn16_N15PosSettingsViewD0Ev @ 30 NONAME
- _ZThn16_N15PosSettingsViewD1Ev @ 31 NONAME
- _ZThn8_N15PosSettingsViewD0Ev @ 32 NONAME
- _ZThn8_N15PosSettingsViewD1Ev @ 33 NONAME
-
--- a/locationsystemui/locationsysui/possettings/inc/possettingsadvinterface.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsadvinterface.h Wed Jun 23 18:40:52 2010 +0300
@@ -19,7 +19,7 @@
#define POSSETTINGSENGADVANCEDINTERFACE_H
#include "possettingsadvop.h"
-#include <qtplugin>
+#include <QtPlugin>
--- a/locationsystemui/locationsysui/possettings/inc/possettingsadvop.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsadvop.h Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include "possettingsglobal.h"
-#include <QObject.h>
+#include <qobject.h>
#include <hbview.h>
#include <hbdataform.h>
#include <hbdataformmodel.h>
--- a/locationsystemui/locationsysui/possettings/inc/possettingsview.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/inc/possettingsview.h Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include "possettingsglobal.h"
-#include<qobject>
+#include<QObject>
#include <cpbasesettingview.h>
// Forward declaration
--- a/locationsystemui/locationsysui/possettings/poslocationservices/inc/locationservicescustomviewitem.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/locationservicescustomviewitem.h Wed Jun 23 18:40:52 2010 +0300
@@ -19,7 +19,7 @@
#include <hbdataformviewitem.h>
#include <hbdataformmodelitem.h>
-#include <hbwidget>
+#include <HbWidget>
//dataItemType for Location services custom widget
--- a/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengine.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/poslocationservices/inc/poslocationservicesengine.h Wed Jun 23 18:40:52 2010 +0300
@@ -18,7 +18,7 @@
#define POSLOCATIONSERVICESENGINE_H
#include "poslocationservicesengineprivate.h"
-#include <QObject.h>
+#include <QObject>
--- a/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsengineprivate.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsengineprivate.h Wed Jun 23 18:40:52 2010 +0300
@@ -25,7 +25,7 @@
#include <qlist.h>
#include <qstring.h>
-#include <epos_mposmodulesobserver.h>
+#include <EPos_MPosModulesObserver.h>
/**
* The class defines the interface for receiving position
--- a/locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsengineprivate.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/src/pospsysettingsengineprivate.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -20,9 +20,9 @@
#include "pospsysettingsengine.h"
#include <qglobal.h>
-#include <epos_cposmodules.h>
-#include <epos_cposmoduleidlist.h>
-#include <epos_cposmoduleupdate.h>
+#include <EPos_CPosModules.h>
+#include <EPos_CPosModuleIdList.h>
+#include <EPos_CPosModuleUpdate.h>
// constants
const TInt KNameLength = 50;
--- a/locationsystemui/locationsysui/possettings/posmethodsplugin/src/possettingssignalmapper.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/src/possettingssignalmapper.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -16,7 +16,7 @@
*/
-#include "PosSettingsSignalMapper.h"
+#include "possettingssignalmapper.h"
//---------------------------------------------------------------------
Binary file locationsystemui/locationsysui/possettings/possettings_stub.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/bwins/possettingsengineu.def Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,26 @@
+EXPORTS ?trUtf8@PosSettingsAdvOp@@SA?AVQString@@PBD0@Z @ 1 NONAME ; class QString PosSettingsAdvOp::trUtf8(char const *, char const *)
+ ?staticMetaObject@PosSettingsAdvOp@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const PosSettingsAdvOp::staticMetaObject
+ ?setExpanded@PosSettingsAdvOp@@QAEXABVQModelIndex@@_N@Z @ 3 NONAME ; void PosSettingsAdvOp::setExpanded(class QModelIndex const &, bool)
+ ?addAction@PosSettingsAdvOp@@QAEXPAVHbAction@@W4ActionContainer@HbView@@@Z @ 4 NONAME ; void PosSettingsAdvOp::addAction(class HbAction *, enum HbView::ActionContainer)
+ ?qt_metacast@PosSettingsAdvOp@@UAEPAXPBD@Z @ 5 NONAME ; void * PosSettingsAdvOp::qt_metacast(char const *)
+ ??_EPosSettingsView@@UAE@I@Z @ 6 NONAME ; PosSettingsView::~PosSettingsView(unsigned int)
+ ?isExpanded@PosSettingsAdvOp@@QBE_NABVQModelIndex@@@Z @ 7 NONAME ; bool PosSettingsAdvOp::isExpanded(class QModelIndex const &) const
+ ?addConnection@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 8 NONAME ; void PosSettingsAdvOp::addConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
+ ?tr@PosSettingsAdvOp@@SA?AVQString@@PBD0H@Z @ 9 NONAME ; class QString PosSettingsAdvOp::tr(char const *, char const *, int)
+ ?appendDataFormItem@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@0@Z @ 10 NONAME ; void PosSettingsAdvOp::appendDataFormItem(class HbDataFormModelItem *, class HbDataFormModelItem *)
+ ??1PosSettingsAdvOp@@UAE@XZ @ 11 NONAME ; PosSettingsAdvOp::~PosSettingsAdvOp(void)
+ ?qt_metacall@PosSettingsAdvOp@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 12 NONAME ; int PosSettingsAdvOp::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0PosSettingsAdvOp@@QAE@PAVHbView@@@Z @ 13 NONAME ; PosSettingsAdvOp::PosSettingsAdvOp(class HbView *)
+ ??_EPosSettingsAdvOp@@UAE@I@Z @ 14 NONAME ; PosSettingsAdvOp::~PosSettingsAdvOp(unsigned int)
+ ??1PosSettingsView@@UAE@XZ @ 15 NONAME ; PosSettingsView::~PosSettingsView(void)
+ ?itemPrototypes@PosSettingsAdvOp@@QAEXAAV?$QList@PAVHbAbstractViewItem@@@@@Z @ 16 NONAME ; void PosSettingsAdvOp::itemPrototypes(class QList<class HbAbstractViewItem *> &)
+ ?removeConnection@PosSettingsAdvOp@@QAEXPAVHbDataFormModelItem@@PBDPAVQObject@@1@Z @ 17 NONAME ; void PosSettingsAdvOp::removeConnection(class HbDataFormModelItem *, char const *, class QObject *, char const *)
+ ?indexFromItem@PosSettingsAdvOp@@QAE?AVQModelIndex@@PBVHbDataFormModelItem@@@Z @ 18 NONAME ; class QModelIndex PosSettingsAdvOp::indexFromItem(class HbDataFormModelItem const *)
+ ?setItemPrototypes@PosSettingsAdvOp@@QAEXAAV?$QList@PAVHbAbstractViewItem@@@@@Z @ 19 NONAME ; void PosSettingsAdvOp::setItemPrototypes(class QList<class HbAbstractViewItem *> &)
+ ??0PosSettingsView@@QAE@PAVQGraphicsItem@@@Z @ 20 NONAME ; PosSettingsView::PosSettingsView(class QGraphicsItem *)
+ ?removeItem@PosSettingsAdvOp@@QAE_NPAVHbDataFormModelItem@@@Z @ 21 NONAME ; bool PosSettingsAdvOp::removeItem(class HbDataFormModelItem *)
+ ?trUtf8@PosSettingsAdvOp@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString PosSettingsAdvOp::trUtf8(char const *, char const *, int)
+ ?tr@PosSettingsAdvOp@@SA?AVQString@@PBD0@Z @ 23 NONAME ; class QString PosSettingsAdvOp::tr(char const *, char const *)
+ ?getStaticMetaObject@PosSettingsAdvOp@@SAABUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const & PosSettingsAdvOp::getStaticMetaObject(void)
+ ?metaObject@PosSettingsAdvOp@@UBEPBUQMetaObject@@XZ @ 25 NONAME ; struct QMetaObject const * PosSettingsAdvOp::metaObject(void) const
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/eabi/possettingsengineu.def Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,35 @@
+EXPORTS
+ _ZN15PosSettingsViewC1EP13QGraphicsItem @ 1 NONAME
+ _ZN15PosSettingsViewC2EP13QGraphicsItem @ 2 NONAME
+ _ZN15PosSettingsViewD0Ev @ 3 NONAME
+ _ZN15PosSettingsViewD1Ev @ 4 NONAME
+ _ZN15PosSettingsViewD2Ev @ 5 NONAME
+ _ZN16PosSettingsAdvOp10removeItemEP19HbDataFormModelItem @ 6 NONAME
+ _ZN16PosSettingsAdvOp11qt_metacallEN11QMetaObject4CallEiPPv @ 7 NONAME
+ _ZN16PosSettingsAdvOp11qt_metacastEPKc @ 8 NONAME
+ _ZN16PosSettingsAdvOp11setExpandedERK11QModelIndexb @ 9 NONAME
+ _ZN16PosSettingsAdvOp13addConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 10 NONAME
+ _ZN16PosSettingsAdvOp13indexFromItemEPK19HbDataFormModelItem @ 11 NONAME
+ _ZN16PosSettingsAdvOp14itemPrototypesER5QListIP18HbAbstractViewItemE @ 12 NONAME
+ _ZN16PosSettingsAdvOp16removeConnectionEP19HbDataFormModelItemPKcP7QObjectS3_ @ 13 NONAME
+ _ZN16PosSettingsAdvOp16staticMetaObjectE @ 14 NONAME DATA 16
+ _ZN16PosSettingsAdvOp17setItemPrototypesER5QListIP18HbAbstractViewItemE @ 15 NONAME
+ _ZN16PosSettingsAdvOp18appendDataFormItemEP19HbDataFormModelItemS1_ @ 16 NONAME
+ _ZN16PosSettingsAdvOp19getStaticMetaObjectEv @ 17 NONAME
+ _ZN16PosSettingsAdvOp9addActionEP8HbActionN6HbView15ActionContainerE @ 18 NONAME
+ _ZN16PosSettingsAdvOpC1EP6HbView @ 19 NONAME
+ _ZN16PosSettingsAdvOpC2EP6HbView @ 20 NONAME
+ _ZN16PosSettingsAdvOpD0Ev @ 21 NONAME
+ _ZN16PosSettingsAdvOpD1Ev @ 22 NONAME
+ _ZN16PosSettingsAdvOpD2Ev @ 23 NONAME
+ _ZNK16PosSettingsAdvOp10isExpandedERK11QModelIndex @ 24 NONAME
+ _ZNK16PosSettingsAdvOp10metaObjectEv @ 25 NONAME
+ _ZTI15PosSettingsView @ 26 NONAME
+ _ZTI16PosSettingsAdvOp @ 27 NONAME
+ _ZTV15PosSettingsView @ 28 NONAME
+ _ZTV16PosSettingsAdvOp @ 29 NONAME
+ _ZThn16_N15PosSettingsViewD0Ev @ 30 NONAME
+ _ZThn16_N15PosSettingsViewD1Ev @ 31 NONAME
+ _ZThn8_N15PosSettingsViewD0Ev @ 32 NONAME
+ _ZThn8_N15PosSettingsViewD1Ev @ 33 NONAME
+
--- a/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsadvview.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsadvview.h Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include "possettingsadvop.h"
-#include <QObject.h>
+#include <QObject>
#include <cpbasesettingview.h>
//class PosSettingsAdvancedDataForm;
--- a/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengine.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengine.h Wed Jun 23 18:40:52 2010 +0300
@@ -21,7 +21,7 @@
#include "possettingscommon.h"
#include "possettingsengineprivate.h"
-#include <QObject.h>
+#include <QObject>
#include <qglobal.h>
/**
--- a/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengineprivate.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingsengineprivate.h Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include "possettingscommon.h"
-#include <epos_mposmodulesobserver.h>
+#include <EPos_MPosModulesObserver.h>
#include <lbtserver.h>
#include <lbtmanager.h>
--- a/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingspluginsloader.h Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/inc/possettingspluginsloader.h Wed Jun 23 18:40:52 2010 +0300
@@ -18,9 +18,9 @@
#ifndef PosSettingsPluginsLoader_H
#define PosSettingsPluginsLoader_H
-#include "PosSettingsadvinterface.h"
+#include "possettingsadvinterface.h"
-#include <QObject.h>
+#include <QObject>
#include <e32cmn.h>
class PosSettingsPluginsLoader
--- a/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsengine/src/possettingsengineprivate.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -18,11 +18,11 @@
#include "possettingsengineprivate.h"
#include "possettingsengine.h"
#include <qglobal.h>
-#include <epos_csuplsettings.h>
+#include <EPos_CSuplSettings.h>
#include <lbtcommon.h>
-#include <epos_cposmodules.h>
-#include <epos_cposmoduleidlist.h>
-#include <epos_cposmoduleupdate.h>
+#include <EPos_CPosModules.h>
+#include <EPos_CPosModuleIdList.h>
+#include <EPos_CPosModuleUpdate.h>
//---------------------------------------------------------------------
// PosSettingsEnginePrivate::PosSettingsEnginePrivate()
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/possettingsplugin.pro Wed Jun 23 18:40:52 2010 +0300
@@ -29,7 +29,7 @@
OBJECTS_DIR = obj
RCC_DIR = rcc
RESOURCES += possettingsplugin.qrc
-#TRANSLATIONS = lilocationmw.ts
+TRANSLATIONS = lilocationmw.ts
# Platforms
SYMBIAN_PLATFORMS = WINSCW \
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingsplugin.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include "possettingspluginhelper.h"
#include "apilogger.h"
-#include <QTCore>
+#include <QtCore>
#include <QDebug>
#include <QTranslator>
#include <cpsettingformentryitemdataimpl.h>
--- a/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingspluginhelper_p.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locationsystemui/locationsysui/possettings/possettingsplugin/src/possettingspluginhelper_p.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -18,7 +18,7 @@
#include "possettingspluginhelper_p.h"
#include "possettingspluginhelper.h"
-#include <epos_cposmodules.h>
+#include <EPos_CPosModules.h>
#include <lbs/epos_cposmoduleidlist.h>
#include <featmgr.h>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/bwins/locnotificationclientu.def Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,6 @@
+EXPORTS
+ ?Close@RContactResolverSession@@QAEXXZ @ 1 NONAME ; void RContactResolverSession::Close(void)
+ ?Connect@RContactResolverSession@@QAEHXZ @ 2 NONAME ; int RContactResolverSession::Connect(void)
+ ??0RContactResolverSession@@QAE@XZ @ 3 NONAME ; RContactResolverSession::RContactResolverSession(void)
+ ?ResolveRequestorsL@RContactResolverSession@@QAEXAAV?$RPointerArray@VCPosRequestor@@@@@Z @ 4 NONAME ; void RContactResolverSession::ResolveRequestorsL(class RPointerArray<class CPosRequestor> &)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/eabi/locnotificationclientu.def Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,7 @@
+EXPORTS
+ _ZN23RContactResolverSession18ResolveRequestorsLER13RPointerArrayI13CPosRequestorE @ 1 NONAME
+ _ZN23RContactResolverSession5CloseEv @ 2 NONAME
+ _ZN23RContactResolverSession7ConnectEv @ 3 NONAME
+ _ZN23RContactResolverSessionC1Ev @ 4 NONAME
+ _ZN23RContactResolverSessionC2Ev @ 5 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/group/contactresolversession.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* 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: Project definition file for Contact Resolver clientlib
+*
+*/
+
+
+// INCLUDES
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
+
+TARGET locnotificationclient.dll
+TARGETTYPE DLL
+UID 0x1000008d 0xEF2227BD
+
+CAPABILITY All -Tcb
+
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE contactresolversession.cpp
+
+
+
+// System Include
+MW_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE .
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+
+LIBRARY euser.lib
+LIBRARY eiksrv.lib
+LIBRARY eposprvtyp.lib
+LIBRARY estor.lib bafl.lib
+LIBRARY flogger.lib
+
+EPOCALLOWDLLDATA
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/inc/contactresolversession.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,77 @@
+/*
+ * 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: RContactResolverSession
+ * This class provides the client-side interface to the server session
+ */
+#ifndef CONTACTRESOLVERSESSION_H
+#define CONTACTRESOLVERSESSION_H
+
+#include <e32std.h>
+
+class CPosRequestor;
+
+class RContactResolverSession : public RSessionBase
+ {
+public:
+ // Constructors and destructors
+
+ /**
+ * Default constructor.
+ * Constructs the object.
+ */
+ IMPORT_C RContactResolverSession();
+
+public:
+ // New functions
+
+ /**
+ * Connect.
+ * Connects to the server and create a session.
+ * @return Error code.
+ */
+ IMPORT_C TInt Connect();
+
+ /**
+ * Resolve the requestors.
+ * @param[IN,OUT] aRequestors Array of Requestors
+ */
+ IMPORT_C void ResolveRequestorsL(
+ RPointerArray<CPosRequestor>& aRequestors);
+
+ /**
+ * closes the session.
+ */
+ IMPORT_C void Close();
+
+ /**
+ * Starts the server process if not already started.
+ */
+ static TInt StartServer();
+
+ /**
+ * creates the server process.
+ */
+ static TInt CreateServerProcess();
+
+private:
+ /**
+ * Version.
+ * Gets the version number.
+ * @return The version.
+ */
+ TVersion Version() const;
+
+ };
+
+#endif //CONTACTRESOLVERSESSION_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/contactresolversession/src/contactresolversession.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,228 @@
+/*
+ * 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: client-side interface implementation for server session.
+ *
+ */
+
+#include "contactresolversession.h"
+#include "locprivacyinternal.h"
+#include "locprivacycommon.h"
+
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/EPos_RPosRequestorStack.h>
+#include <e32cmn.h>
+#include <s32strm.h>
+#include <s32mem.h>
+
+
+TInt KDefaultMessageSlots = 255;
+const TUid KServerUid3 =
+ {
+ 0x101f7a86
+ };
+_LIT(KServerFilename, "locnotificationserver.exe");
+
+// -----------------------------------------------------------------------------
+// RContactResolverSession::RContactResolverSession()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RContactResolverSession::RContactResolverSession() :
+ RSessionBase()
+ {
+ // No implementation required
+ }
+
+// -----------------------------------------------------------------------------
+// RContactResolverSession::ResolveRequestorsL()
+// Issues a request for the time to the server.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void RContactResolverSession::ResolveRequestorsL(RPointerArray<
+ CPosRequestor>& aRequestors)
+ {
+
+ RPosRequestorStack* requestors = new (ELeave) RPosRequestorStack;
+ CleanupStack::PushL(requestors);
+
+ //-------------------------------------------------------------
+ // getting size from the server in first IPC
+ CBufFlat* buffer = CBufFlat::NewL(512);
+ CleanupStack::PushL(buffer);
+ RBufWriteStream writeStream;
+ writeStream.Open(*buffer);
+ CleanupClosePushL(writeStream);
+
+ TInt count = aRequestors.Count();
+ for (TInt i = 0; i < count; ++i)
+ {
+ requestors->Append(aRequestors[i]);
+ }
+ requestors->ExternalizeL(writeStream);
+ writeStream.CommitL();
+
+ TPtr8 ptr = buffer->Ptr(0);
+
+ TIpcArgs args;
+ TInt size = 0;
+ TPckg<TInt> sizePkg(size);
+ args.Set(0, &sizePkg);
+ args.Set(1, &ptr);
+
+ TInt in = SendReceive(ELocPrivacyGetSize, args);
+
+ CleanupStack::PopAndDestroy(&writeStream);
+ CleanupStack::PopAndDestroy(buffer);
+ CleanupStack::PopAndDestroy(requestors);
+ //-------------------------------------------------------------
+ //-------------------------------------------------------------
+ // allocating the buffer of the size obtained in the first IPC
+ // and getting the data from the server in the 2nd IPC
+
+ // This call waits for the server to complete the request before
+ // proceeding. When it returns, the new time will be in aTime.
+
+
+ CBufFlat* buffer1 = CBufFlat::NewL(512);
+ CleanupStack::PushL(buffer1);
+ buffer1->ResizeL(size);
+
+ TPtr8 bufPtr = buffer1->Ptr(0);
+ TIpcArgs ipcArgs;
+ ipcArgs.Set(0, &bufPtr);
+ in = SendReceive(ELocPrivacyResolve, ipcArgs);
+
+ //-------------------------------------------------------------
+
+ RBufReadStream readStream;
+ readStream.Open(*buffer1);
+ CleanupClosePushL(readStream);
+ RPosRequestorStack* requestors2 = new (ELeave) RPosRequestorStack;
+ CleanupStack::PushL(requestors2);
+ requestors2->InternalizeL(readStream);
+ TInt cnt = requestors2->Count();
+ aRequestors.Reset();
+ for (TInt i = 0; i < cnt; ++i)
+ {
+ CPosRequestor * entry = requestors2->operator [](i);
+ aRequestors.Append(entry);
+ }
+ CleanupStack::PopAndDestroy(requestors2);
+ CleanupStack::PopAndDestroy(&readStream);
+ CleanupStack::PopAndDestroy(buffer1);
+
+ }
+
+// -----------------------------------------------------------------------------
+// RContactResolverSession::Connect()
+// Connects to the server and create a session.
+// -----------------------------------------------------------------------------
+
+EXPORT_C TInt RContactResolverSession::Connect()
+ {
+ TInt error = StartServer();
+
+ if (KErrNone == error)
+ {
+ error = CreateSession(KLocPrivacyServerName, Version(),
+ KDefaultMessageSlots);
+ }
+ return error;
+ }
+
+// -----------------------------------------------------------------------------
+// StartServer()
+// Starts the server if it is not already running
+// -----------------------------------------------------------------------------
+//
+TInt RContactResolverSession::StartServer()
+ {
+ TInt result;
+
+ TFindServer findServer(KLocPrivacyServerName);
+ TFullName name;
+
+ result = findServer.Next(name);
+ if (result == KErrNone)
+ {
+ // Server already running
+ return KErrNone;
+ }
+
+ result = CreateServerProcess();
+ if (result != KErrNone)
+ {
+ return result;
+ }
+
+ return KErrNone;
+ }
+
+// -----------------------------------------------------------------------------
+// CreateServerProcess()
+// Creates a server process
+// -----------------------------------------------------------------------------
+//
+TInt RContactResolverSession::CreateServerProcess()
+ {
+ TInt result;
+
+ const TUidType serverUid(KNullUid, KNullUid, KServerUid3);
+
+ RProcess server;
+ TRequestStatus status;
+ result = server.Create(KServerFilename, KNullDesC, serverUid);
+
+ if (result != KErrNone)
+ {
+ server.Close();
+ return KErrNotFound;
+ }
+
+ server.Rendezvous(status);
+
+ if (status != KRequestPending)
+ {
+ User::WaitForRequest(status);
+ server.Kill(KErrNone);
+ server.Close();
+ return (status.Int());
+ }
+ else
+ {
+ server.Resume();
+ }
+
+ User::WaitForRequest(status);
+ server.Close();
+
+ if (status != KErrNone)
+ {
+ return (status.Int());
+ }
+
+ return KErrNone;
+ }
+
+TVersion RContactResolverSession::Version() const
+ {
+ return TVersion(KLocPrivacyServerMajorVersionNumber,
+ KLocPrivacyServerMinorVersionNumber,
+ KLocPrivacyServerBuildVersionNumber);
+ }
+
+EXPORT_C void RContactResolverSession::Close()
+ {
+ RSessionBase::Close();
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/contactresolversession.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,77 @@
+/*
+ * 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: RContactResolverSession
+ * This class provides the client-side interface to the server session
+ */
+#ifndef CONTACTRESOLVERSESSION_H
+#define CONTACTRESOLVERSESSION_H
+
+#include <e32std.h>
+
+class CPosRequestor;
+
+class RContactResolverSession : public RSessionBase
+ {
+public:
+ // Constructors and destructors
+
+ /**
+ * Default constructor.
+ * Constructs the object.
+ */
+ IMPORT_C RContactResolverSession();
+
+public:
+ // New functions
+
+ /**
+ * Connect.
+ * Connects to the server and create a session.
+ * @return Error code.
+ */
+ IMPORT_C TInt Connect();
+
+ /**
+ * Resolve the requestors.
+ * @param[IN,OUT] aRequestors Array of Requestors
+ */
+ IMPORT_C void ResolveRequestorsL(
+ RPointerArray<CPosRequestor>& aRequestors);
+
+ /**
+ * closes the session.
+ */
+ IMPORT_C void Close();
+
+ /**
+ * Starts the server process if not already started.
+ */
+ static TInt StartServer();
+
+ /**
+ * creates the server process.
+ */
+ static TInt CreateServerProcess();
+
+private:
+ /**
+ * Version.
+ * Gets the version number.
+ * @return The version.
+ */
+ TVersion Version() const;
+
+ };
+
+#endif //CONTACTRESOLVERSESSION_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locprivacycommon.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* 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: Server name and version definition.
+*
+*/
+
+#ifndef PRIVACYCOMMON_H
+#define PRIVACYCOMMON_H
+
+#include <e32cmn.h>
+
+// CONSTANTS
+_LIT(KLocPrivacyServerName, "!locnotificationserver");
+
+const TUint KLocPrivacyServerMajorVersionNumber = 0;
+const TUint KLocPrivacyServerMinorVersionNumber = 0;
+const TUint KLocPrivacyServerBuildVersionNumber = 0;
+
+#endif // PRIVACYCOMMON_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locprivacyinternal.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* 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: IPC enumerations and constant definition for server.
+*
+*/
+
+#ifndef PRIVACYINTERNAL_H
+#define PRIVACYINTERNAL_H
+
+
+
+//CONSTANTS
+
+// IPC enumerations
+enum TPosPrivacyClientServer
+ {
+ // To get the size of modified buffer containing resolved requestors.
+ ELocPrivacyGetSize = 0,
+ // To get the resolved requestors.
+ ELocPrivacyResolve
+ };
+
+// Buffer granularity
+const TInt KPosBufFlatExpandSize = 100;
+
+#endif // PRIVACYINTERNAL_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locutilsdebug.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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: LocUtilsDebug contains debug macros.
+*
+*/
+
+
+#ifndef LOCUTILSDEBUG_H
+#define LOCUTILSDEBUG_H
+
+// INCLUDES
+#include "locutilsdebugconfig.hrh"
+
+#include <e32std.h>
+
+
+// MACROS
+#define DEBUG(TEXT) { \
+ _LIT( KText, #TEXT ); \
+ Debug(KText) \
+ }
+
+#define LOC(TEXT, ARG1) { \
+ _LIT( KText, #TEXT ); \
+ Debug( KText, (ARG1) ); \
+ }
+
+#define LOC2(TEXT, ARG1, ARG2) { \
+ _LIT( KText, #TEXT ); \
+ Debug( KText,(ARG1), (ARG2) ); \
+ }
+
+#define LOC3(TEXT, ARG1, ARG2, ARG3) { \
+ _LIT( KText, #TEXT ); \
+ Debug( KText, (ARG1), (ARG2), (ARG3) ); \
+ }
+
+IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
+
+/**
+* By using component specific debug macros unnecessary
+* debug prints can be avoided.
+* Also component specific debugging is possible by compiling
+* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
+*/
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+
+#define LOCUTILSDEBUG(TEXT) DEBUG(TEXT);
+#define LOCUTILSDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1);
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2);
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3);
+
+#else
+
+#define LOCUTILSDEBUG(TEXT) ;
+#define LOCUTILSDEBUG1(TEXT, ARG1) ;
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2) ;
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3) ;
+
+#endif
+
+#endif // LOCUTILSDEBUG_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/inc/locutilsdebugconfig.hrh Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* 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 is the main build-time configuration file of Loc Utils
+*
+*/
+
+
+#ifndef LOCUTILSDEBUGCONFIG_HRH_
+#define LOCUTILSDEBUGCONFIG_HRH_
+
+// INCLUDES
+
+// Flags for development:
+
+
+// Defined LOC_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
+
+//#define LOC_ENABLE_DEBUG_PRINT
+
+#endif // LOCUTILSDEBUGCONFIG_HRH_
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/install/privacydialogs_stub.pkg Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,40 @@
+;
+; 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: Stub Package file for Privacy dialogs
+;
+;
+; Languages
+&EN
+
+; Header
+#{"privacydialog"}, (0x101f7a86), 1, 0, 0, TYPE = SA
+
+; Localised Vendor name
+%{"Nokia"}
+
+; Unique Vendor name
+:"Nokia"
+
+; Hb custom device dialog plugin
+"" - "z:\sys\bin\posverificationdialogplugin.dll"
+"" - "z:\resource\plugins\devicedialogs\posverificationdialogplugin.qtplugin"
+
+; Qt engine dll
+"" - "z:\sys\bin\locnotificationengine.dll"
+
+;Symbian components
+"" - "z:\sys\bin\contactresolversession.dll"
+"" - "z:\sys\bin\locprivacysrv.exe"
+"" - "z:\sys\bin\locutils.dll"
+"" - "z:\sys\bin\locverifierdlg.dll"
Binary file locationsystemui/locationsysui/privacyverifiernotifierui/install/privacydialogs_stub.sis has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/bwins/locnotificationengineu.def Wed Jun 23 18:40:52 2010 +0300
@@ -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)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/eabi/locnotificationengineu.def Wed Jun 23 18:40:52 2010 +0300
@@ -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/locrequestorutilsresolver.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* 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: Requestor utilities, supports Resolving of Requestors.
+*
+*/
+
+
+#ifndef CLOCREQUESTORUTILSRESOLVER_H
+#define CLOCREQUESTORUTILSRESOLVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+//FORWARD DECLARATION
+class CPosRequestor;
+class QLocNotificationEngine;
+
+// CLASS DECLARATION
+
+/**
+*
+*
+*
+*/
+class CLocRequestorUtilsResolver : public CBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Symbian OS constructor
+ * @param None
+ * @return new object
+ */
+ IMPORT_C static CLocRequestorUtilsResolver* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CLocRequestorUtilsResolver();
+
+ public: // Implement base class virtual methods
+ /**
+ * Resolve the requestors.
+ * @param[IN,OUT] aRequestors Array of Requestors,ownership is transferred to caller
+
+ */
+ IMPORT_C void ResolveRequestorsL(
+ RPointerArray<CPosRequestor>& aRequestors );
+
+
+ private: // Constructors
+ /**
+ * C++ default constructor.
+ */
+ CLocRequestorUtilsResolver();
+
+ /**
+ * The Symbian 2nd Phase Constructor is always Private
+ */
+ void ConstructL();
+
+
+
+ private: // member data
+
+ // Qt implementation class for notification engine.Ownership remains with object
+ QLocNotificationEngine* iEngine;
+ };
+
+#endif // CLOCREQUESTORUTILSRESOLVER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/inc/qlocnotificationengine.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* 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: Implementation of positioning settings engine class.
+*
+*/
+
+#ifndef QLOCNOTIFICATIONENGINE_H
+#define QLOCNOTIFICATIONENGINE_H
+
+#include <qcontactrequests.h>
+
+class QContactManager;
+
+/**
+ * This class is used as a container for Pos requestor data which needs to be resolved.
+ * After resolution the result is returned in the same class. QPosRequestorData is used
+ * so as to avoid exposing CPosRequestorData to
+ */
+
+class QPosRequestorData
+ {
+
+public :
+ enum IdFormat
+ {
+ /** The requestor ID format is unknown. */
+ EIdFormatUnknown,
+ /** The requestor is identified by name. */
+ EIdFormatGenericName,
+ /** The requestor is identified by phone number. */
+ EIdFormatPhoneNumber,
+ /** The requestor is identified by URL. */
+ EIdFormatUrl,
+ /** The requestor is identified by email address. */
+ EIdFormatEmail,
+ /** The requestor is identified by the URL of the SIP session. */
+ EIdFormatSIPUrl,
+ /** The requestor is identified by the IMS public identity. */
+ EIdFormatIMSPublicIdentity,
+ /** The requestor is identified by Mobile identification Number. */
+ EIdFormatMIN,
+ /** The requestor is identified by Mobile Directory Number. */
+ EIdFormatMDN
+ };
+public:
+ /*
+ * Default construtor
+ */
+ QPosRequestorData();
+
+ /*
+ * Destructor for QPosRequestorData
+ */
+ ~QPosRequestorData();
+
+public:
+ /*
+ * Setter method for QPosRequestorData
+ * @param idFormat - Field in which string needs to be searched for resolution
+ * @param idString - String which needs to be resolved
+ */
+ void setPosRequestorData(const QPosRequestorData::IdFormat& idFormat, const QString& idString);
+
+ /*
+ * Getter method for QPosRequestorData
+ * @param idFormat - Field in which string needs to be searched for resolution
+ * @param idString - String which needs to be resolved \ after resolution the result is stored in this
+ */
+ void getPosRequestorData(QPosRequestorData::IdFormat& idFormat, QString& idString) const;
+
+private:
+
+ // contains string to be resolve - string after resolution is stored in this
+ QString mIdString;
+ //idformat of the string to be searched - indicates in what field the string needs to be searched in
+ IdFormat mIdFormat;
+ };
+
+/**
+ * QLocNotificationEngine class provides a Qt interface to perform operations such as
+ * requestor resolution, activating indicators for missed location notfications etc.
+ *
+ */
+
+class QLocNotificationEngine
+ {
+
+public:
+ /**
+ * Default constructor
+ * This throws an error if construction fails.
+ */
+ QLocNotificationEngine();
+
+ /**
+ * Destructor
+ */
+ ~QLocNotificationEngine();
+
+public:
+ /*
+ * Resolves requestor from phoebook
+ * @param[IN,OUT] posRequestorData resolved requestors
+ */
+ void processRequestors(QPosRequestorData& posRequestorData);
+
+private: // data member
+ // Contact manager instance
+ QtMobility::QContactManager* mContactManager;
+
+ };
+
+#endif // QLOCNOTIFICATIONENGINE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/locnotificationengine.pro Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,43 @@
+# Copyright (c) 2009 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: LocNotificationEngine pro file
+TEMPLATE = lib
+TARGET = locnotificationengine
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb
+CONFIG += mobility
+MOBILITY = contacts
+
+# Uncomment following line to disable logging
+# DEFINES += QT_NO_DEBUG_OUTPUT
+MOC_DIR = moc
+OBJECTS_DIR = obj
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+ ARMV5
+LIBS += -leposprvtyp
+
+# Input
+SOURCES += src/locrequestorutilsresolver.cpp \
+ src/qlocnotificationengine.cpp
+HEADERS += inc/locrequestorutilsresolver.h \
+ inc/qlocnotificationengine.h
+symbian: {
+ TARGET.EPOCALLOWDLLDATA = 1
+ DEFINES += BUILD_POSSETTINGS
+ DEFINES += PLUGINUID3=0x2002E705
+ TARGET.UID3 = 0x2002E705
+}
+
+TARGET.CAPABILITY = All \
+ -TCB
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/locrequestorutilsresolver.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,165 @@
+/*
+* 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: Implementation of location notification engine class.
+*
+*/
+
+
+// INCLUDE FILES
+
+
+#include "locrequestorutilsresolver.h"
+#include "qlocnotificationengine.h"
+
+#include <e32base.h>
+#include <barsread.h>
+
+
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_cposservicerequestor.h>
+#include <lbs/epos_cposcontactrequestor.h>
+
+
+
+
+// ============= CLocRequestorUtilsResolver MEMBER FUNCTIONS =================
+
+// ---------------------------------------------------------------------------
+// CLocRequestorUtilsResolver::NewL
+// 2 Phase Constructor
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CLocRequestorUtilsResolver* CLocRequestorUtilsResolver::NewL()
+ {
+ CLocRequestorUtilsResolver* self =
+ new(ELeave) CLocRequestorUtilsResolver();
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// destructor
+// ---------------------------------------------------------------------------
+//
+CLocRequestorUtilsResolver::~CLocRequestorUtilsResolver()
+ {
+ delete iEngine;
+ iEngine = NULL;
+ }
+
+// ---------------------------------------------------------------------------
+// The method resolves requestors by delegating requests to QPosRequestorData
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CLocRequestorUtilsResolver::ResolveRequestorsL(
+ RPointerArray<CPosRequestor>& aRequestors )
+ {
+ //resolve requestors one by one by extracting the idFormat and idString
+ //from the requestor array
+ TInt count = aRequestors.Count();
+ for(TInt iter = 0; iter < count; ++iter)
+ {
+ CPosRequestor::TRequestorIdFormat idFormat = aRequestors[iter]->RequestorIdFormat();
+ QPosRequestorData::IdFormat qposidformat;
+ switch(idFormat)
+ {
+
+ case CPosRequestor::EIdFormatGenericName:
+ qposidformat=QPosRequestorData::EIdFormatGenericName;
+ break;
+
+ case CPosRequestor::EIdFormatPhoneNumber:
+ qposidformat=QPosRequestorData::EIdFormatPhoneNumber;
+ break;
+ case CPosRequestor::EIdFormatUrl:
+ qposidformat=QPosRequestorData::EIdFormatUrl;
+ break;
+ case CPosRequestor::EIdFormatEmail:
+ qposidformat=QPosRequestorData::EIdFormatEmail;
+ break;
+ case CPosRequestor::EIdFormatSIPUrl:
+ qposidformat=QPosRequestorData::EIdFormatSIPUrl;
+ break;
+ case CPosRequestor::EIdFormatIMSPublicIdentity:
+ qposidformat=QPosRequestorData::EIdFormatIMSPublicIdentity;
+ break;
+ case CPosRequestor::EIdFormatMIN:
+ qposidformat=QPosRequestorData::EIdFormatMIN;
+ break;
+ case CPosRequestor::EIdFormatMDN:
+ qposidformat=QPosRequestorData::EIdFormatMDN;
+ break;
+ case CPosRequestor::EIdFormatUnknown:
+ default:
+ qposidformat=QPosRequestorData::EIdFormatUnknown;
+ break;
+ }
+ //right now the phonebook has fields corresponding to email,phone number, URL only
+ //other cases are not supported by the phonebook
+ if(qposidformat == QPosRequestorData::EIdFormatEmail ||
+ qposidformat == QPosRequestorData::EIdFormatPhoneNumber ||
+ qposidformat == QPosRequestorData::EIdFormatUrl )
+ {
+ //convert TDes to QString
+ QString qReqString((QChar*)aRequestors[iter]->RequestorIdString().Ptr(),aRequestors[iter]->RequestorIdString().Length());
+
+ QPosRequestorData posRequestor;
+ posRequestor.setPosRequestorData(qposidformat,qReqString);
+
+ iEngine->processRequestors(posRequestor);
+
+ QString retString;
+ posRequestor.getPosRequestorData(qposidformat,retString);
+
+ //convert QString to TDes
+ TPtrC16 textPtr(reinterpret_cast<const TUint16*>(retString.utf16()));
+
+ aRequestors[iter]->SetRequestorIdL(idFormat,textPtr);
+ }
+ }
+ }
+
+
+// ---------------------------------------------------------------------------
+// CLocRequestorUtilsResolver::CLocRequestorUtilsResolver
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// ---------------------------------------------------------------------------
+//
+CLocRequestorUtilsResolver::CLocRequestorUtilsResolver()
+ {
+ // Nothing to do.
+ }
+
+// ---------------------------------------------------------------------------
+// CLocRequestorUtilsResolver::ConstructL
+// Symbian Second Phase COnstructor
+// ---------------------------------------------------------------------------
+//
+void CLocRequestorUtilsResolver::ConstructL()
+ {
+ try
+ {
+ iEngine = new QLocNotificationEngine();
+ }
+ catch( int error )
+ {
+ User::Leave(error);
+ }
+ }
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locnotificationengine/src/qlocnotificationengine.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,167 @@
+/*
+* 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: Implementation of positioning settings engine class.
+*
+*/
+
+#include "qlocnotificationengine.h"
+
+#include <QDebug>
+#include <QLocale>
+
+#include <qcontactrequests.h>
+#include <qcontactfilters.h>
+#include <qcontact.h>
+#include <qcontactname.h>
+#include <qcontactemailaddress.h>
+#include <qcontactphonenumber.h>
+#include <qcontacturl.h>
+#include <qcontactmanager.h>
+#include <qcontactdisplaylabel.h>
+
+#include <hbnumbergrouping.h>
+
+
+
+//---------------------------------------------------------------------
+// QLocNotificationEngine::QLocNotificationEngine()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QLocNotificationEngine::QLocNotificationEngine()
+ {
+ //"symbian" is the string used to load the contact manager corresponding to the phonebook database
+ mContactManager = new QtMobility::QContactManager("symbian");
+ }
+
+//------QLocNotificationEngine-----------------------------------------
+// QLocNotificationEngine::~QLocNotificationEngine()
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QLocNotificationEngine::~QLocNotificationEngine()
+ {
+ delete mContactManager;
+ }
+
+//------QLocNotificationEngine-----------------------------------------
+// QLocNotificationEngine::processRequestors
+// Used to resolve requestors
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void QLocNotificationEngine::processRequestors(QPosRequestorData& posRequestorData)
+ {
+
+ QtMobility::QContactDetailFilter filter;
+
+ QString idString;
+ QPosRequestorData::IdFormat idFormat = QPosRequestorData::EIdFormatUnknown;
+ posRequestorData.getPosRequestorData(idFormat,idString);
+
+ switch(idFormat) // set definition name based on the idformat to be searched for
+ {
+ case QPosRequestorData::EIdFormatPhoneNumber:
+ {
+ filter.setDetailDefinitionName(QtMobility::QContactPhoneNumber::DefinitionName, QtMobility::QContactPhoneNumber::FieldNumber);
+ }
+ break;
+
+ case QPosRequestorData::EIdFormatEmail:
+ {
+ filter.setDetailDefinitionName(QtMobility::QContactEmailAddress::DefinitionName, QtMobility::QContactEmailAddress::FieldEmailAddress);
+ }
+ break;
+ case QPosRequestorData::EIdFormatUrl:
+ {
+ filter.setDetailDefinitionName(QtMobility::QContactUrl::DefinitionName,QtMobility::QContactUrl::ContextHome);
+ }
+ break;
+
+ //other cases are not supported by the phonebook
+ default: //this case wont arise as other values will already have been filtered out
+
+ break;
+ }
+ filter.setMatchFlags(QtMobility::QContactFilter::MatchExactly);
+ filter.setValue(idString);
+
+ QList<QtMobility::QContactLocalId> matchingContacts = mContactManager->contactIds(filter);
+
+ if (matchingContacts.size() > 0) //if any contacts were found
+ {
+
+ 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
+ }
+ else
+ {
+ // if no contacts were found
+
+ if( QPosRequestorData::EIdFormatPhoneNumber == idFormat )
+ {
+ // Group the phone number according to current system locale
+ /*
+ QString isStringPh = HbNumberGrouping::formatPhoneNumber(idString,QLocale::system().country());
+ posRequestorData.setPosRequestorData(idFormat,isStringPh); //set back result
+ */
+ posRequestorData.setPosRequestorData(idFormat,idString); //set back result
+ }
+ }
+
+ }
+
+//---------------------------------------------------------------------
+// QPosRequestorData::QPosRequestorData()
+// Constructor for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QPosRequestorData::QPosRequestorData()
+ {
+
+ }
+
+//---------------------------------------------------------------------
+// QPosRequestorData::~QPosRequestorData()
+// Destructor for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+QPosRequestorData::~QPosRequestorData()
+ {
+
+ }
+
+//---------------------------------------------------------------------
+// QPosRequestorData::setPosRequestorData()
+// Settermethod for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void QPosRequestorData::setPosRequestorData(const QPosRequestorData::IdFormat& idFormat, const QString& idString)
+ {
+ mIdFormat = idFormat;
+ mIdString = idString;
+ }
+
+//---------------------------------------------------------------------
+// QPosRequestorData::getPosRequestorData()
+// Gettermethod for QPosRequestorData
+// (other items were commented in a header).
+//---------------------------------------------------------------------
+void QPosRequestorData::getPosRequestorData(QPosRequestorData::IdFormat& idFormat, QString& idString) const
+ {
+ idFormat = mIdFormat;
+ idString = mIdString;
+ }
+
+// End of file.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/group/locprivacyserver.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* 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: Project definition file for server
+*
+*/
+
+#include <platform_paths.hrh>
+
+TARGET locnotificationserver.exe
+EPOCSTACKSIZE 0x5000
+TARGETTYPE exe
+UID 0x00000000 0x101f7a86
+
+VENDORID VID_DEFAULT
+CAPABILITY CAP_SERVER
+
+SOURCEPATH ../src
+SOURCE locprivacyserverstartup.cpp
+SOURCE locprivacyserver.cpp
+SOURCE locprivacyserversession.cpp
+
+
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+USERINCLUDE ../../locnotificationengine/inc
+
+MW_LAYER_SYSTEMINCLUDE
+
+LIBRARY bafl.lib
+LIBRARY euser.lib
+LIBRARY eposprvtyp.lib
+LIBRARY eposutils.lib
+LIBRARY efsrv.lib
+LIBRARY estor.lib
+LIBRARY locnotificationengine.lib
+
+// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacycommon.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* 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: Server name and version definition.
+*
+*/
+
+#ifndef PRIVACYCOMMON_H
+#define PRIVACYCOMMON_H
+
+#include <e32cmn.h>
+
+// CONSTANTS
+_LIT(KLocPrivacyServerName, "!locnotificationserver");
+
+const TUint KLocPrivacyServerMajorVersionNumber = 0;
+const TUint KLocPrivacyServerMinorVersionNumber = 0;
+const TUint KLocPrivacyServerBuildVersionNumber = 0;
+
+#endif // PRIVACYCOMMON_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyinternal.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* 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: IPC enumerations and constant definition for server.
+*
+*/
+
+#ifndef PRIVACYINTERNAL_H
+#define PRIVACYINTERNAL_H
+
+
+
+//CONSTANTS
+
+// IPC enumerations
+enum TPosPrivacyClientServer
+ {
+ // To get the size of modified buffer containing resolved requestors.
+ ELocPrivacyGetSize = 0,
+ // To get the resolved requestors.
+ ELocPrivacyResolve
+ };
+
+// Buffer granularity
+const TInt KPosBufFlatExpandSize = 100;
+
+#endif // PRIVACYINTERNAL_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserver.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* 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: server class definition.
+*
+*/
+
+#ifndef CLOCPRIVACYSERVER_H
+#define CLOCPRIVACYSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+#include <locprivacyinternal.h>
+
+// FORWARD DECLARATIONS
+class CLocPrivacyServerSession;
+
+// CLASS DECLARATION
+
+/**
+ * The main server side class.
+ */
+class CLocPrivacyServer : public CServer2
+ {
+public:
+ // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CLocPrivacyServer* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CLocPrivacyServer();
+
+private:
+
+ /**
+ * C++ constructor.
+ *
+ * @param aPriority Priority at which to run the server active object.
+ */
+ CLocPrivacyServer(
+ /* IN */TInt aPriority);
+
+ /**
+ * EPOC default constructor.
+ */
+ void ConstructL();
+
+public:
+ // New functions
+
+ // Server priority. 950 is standard value.
+ enum
+ {
+ EPriority = 950
+ };
+
+ /**
+ * Increment number of sessions.
+ */
+ void IncrementSessions();
+
+ /**
+ * Decrement number of sessions.
+ *
+ * @param aSession Pointer to session that is calling
+ * DecrementSessions().It will be used in future.
+ */
+ void DecrementSessions(
+ /* IN */CLocPrivacyServerSession* /*aSession */);
+
+public:
+ // Functions from base classes
+
+ /**
+ * From CServer.
+ *
+ * @param aVersion the server version.
+ * @param aMessage The connect message from the client.
+ * @return a new session
+ */
+ CSession2* NewSessionL(
+ /* IN */const TVersion& aVersion,
+ /* IN */const RMessage2& aMessage) const;
+
+ /**
+ * From CActive.
+ *
+ * @param aError the error code of the server leave.
+ * @return always KErrNone.
+ */
+ TInt RunError(
+ /* IN */TInt aError);
+
+private:
+
+ // By default, prohibit copy constructor
+ CLocPrivacyServer(const CLocPrivacyServer&);
+ // Prohibit assigment operator
+ CLocPrivacyServer& operator=(const CLocPrivacyServer&);
+
+private:
+ // Data
+ TInt iNumSessions;
+ };
+
+#endif // CLOCPRIVACYSERVER_H
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserverdebugpanic.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* 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: Panic code definitions for server.
+*
+*/
+
+#ifndef LOCPRIVACYSERVERDEBUGPANIC_H
+#define LOCPRIVACYSERVERDEBUGPANIC_H
+
+#include <e32def.h>
+
+_LIT(KLocPrivSrvDebugPanicCategory, "Loc Priv debug");
+
+enum TLocPrivSrvDebugPanic
+ {
+ // Unknown request recieved from client.
+ ELocPrivSrvPanicUnknownActivity = 0
+ };
+
+#endif // LOCPRIVACYSERVERDEBUGPANIC_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserversession.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* 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: Server session class definition.
+*
+*/
+
+
+#ifndef CLOCPRIVACYSERVERSESSION_H
+#define CLOCPRIVACYSERVERSESSION_H
+
+// INCLUDES
+#include <e32base.h>
+#include <lbs/epos_cposrequestor.h>
+
+// FORWARD DECLARATIONS
+class CPosPrivacyServer;
+//class CPosPrivManager;
+class RPosRequestorStack;
+
+// CLASS DECLARATION
+
+/**
+ * The EPos privacy server session class.
+ *
+ */
+class CLocPrivacyServerSession : public CSession2
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aServer Reference to the server Active Object
+ * @return Pointer to a new instance of CPosPrivacyServerSession
+ */
+ static CLocPrivacyServerSession* NewL(
+ /* IN */ CLocPrivacyServer& aServer
+ );
+
+ /**
+ * C++ destructor
+ */
+ ~CLocPrivacyServerSession();
+
+ private: // Private Constructing
+
+ /**
+ * C++ private constructor
+ */
+ CLocPrivacyServerSession();
+
+ /**
+ * EPOC default constructor.
+ * @param aServer Reference to the server Active Object
+ */
+ void ConstructL(
+ /* IN */ CLocPrivacyServer& aServer
+ );
+
+ public: // Functions from base classes
+
+ /**
+ * From CSession2.
+ * This function services all requests from clients.
+ *
+ * @param aMessage the message that should be serviced
+ */
+ void ServiceL(
+ /* IN */ const RMessage2& aMessage
+ );
+
+ private: // New functions
+
+ /**
+ * Closes the session.
+ */
+ void CloseSession();
+
+ // Contains the actual ServiceL code.
+ //
+ void DispatchL(const RMessage2& aMessage);
+
+
+
+ private:
+
+ // By default, prohibit copy constructor
+ CLocPrivacyServerSession( const CLocPrivacyServerSession& );
+ // Prohibit assigment operator
+ CLocPrivacyServerSession& operator= ( const CLocPrivacyServerSession& );
+
+ private: // Data
+ // Buffer for hoding resolved requestors
+ CBufFlat* iBufFlat;
+ };
+
+#endif // CLOCPRIVACYSERVERSESSION_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/inc/locprivacyserverstartup.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* 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: Class definition for server startup .
+*
+*/
+
+#ifndef LOCPRIVACYSERVERSTARTUP_H
+#define LOCPRIVACYSERVERSTARTUP_H
+
+// INCLUDES
+#include <e32base.h>
+
+// CLASS DECLARATION
+
+/**
+* This class contains static functions which handles server startup.
+*/
+class LocPrivacyServerStartup
+ {
+
+ public: // New functions
+
+ /**
+ * Server thread entry point
+ *
+ * @return error code
+ */
+ static TInt StartServer();
+
+ private: // New functions
+
+ static void StartServerL();
+
+ };
+
+#endif // LOCPRIVACYSERVERSTARTUP_H
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserver.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,123 @@
+/*
+* 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: server class implementation.
+*
+*/
+
+// INCLUDE FILES
+
+#include "locprivacyserver.h"
+#include "locprivacycommon.h"
+#include "locprivacyserversession.h"
+#include "locprivacyserverdebugpanic.h"
+
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CLocPrivacyServer::CLocPrivacyServer(TInt aPriority)
+ : CServer2(aPriority),
+ iNumSessions(0)
+ {
+ // This does not do anything.
+ __DECLARE_NAME(_S("CLocPrivacyServer"));
+ }
+
+// EPOC default constructor can leave.
+void CLocPrivacyServer::ConstructL()
+ {
+ User::LeaveIfError(Start(KLocPrivacyServerName));
+ }
+
+// Two-phased constructor
+CLocPrivacyServer* CLocPrivacyServer::NewL()
+ {
+ CLocPrivacyServer* self = new (ELeave) CLocPrivacyServer(EPriority);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// Destructor
+CLocPrivacyServer::~CLocPrivacyServer()
+ {
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::IncrementSessions
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServer::IncrementSessions()
+ {
+ iNumSessions++;
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::DecrementSessions
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServer::DecrementSessions(
+ CLocPrivacyServerSession* /*aSession*/)
+ {
+ iNumSessions--;
+ if (iNumSessions == 0)
+ {
+ // Shutdown the server by shutting down the active scheduler.
+ CActiveScheduler::Stop();
+ }
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::NewSessionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+CSession2* CLocPrivacyServer::NewSessionL(
+ const TVersion& /*aVersion*/,
+ const RMessage2& /*aMessage*/) const
+ {
+
+ // Make new session
+ CLocPrivacyServerSession* newSession = CLocPrivacyServerSession::NewL(
+ const_cast<CLocPrivacyServer&>(*this));
+
+ return newSession;
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServer::RunError
+// This method is called by the active scheduler whenever an
+// untrapped leave occurs in the server active object.
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TInt CLocPrivacyServer::RunError(TInt aError)
+ {
+ Message().Complete(aError);
+ ReStart();
+ return KErrNone;
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserversession.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,176 @@
+/*
+* 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: Server session class implementation.
+*
+*/
+
+// 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"
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+// Two-phased constructor
+CLocPrivacyServerSession* CLocPrivacyServerSession::NewL(
+ CLocPrivacyServer& aServer)
+ {
+ CLocPrivacyServerSession* self = new (ELeave) CLocPrivacyServerSession();
+ CleanupStack::PushL(self);
+ self->ConstructL(aServer);
+ CleanupStack::Pop();
+ return self;
+ }
+
+// Destructor
+CLocPrivacyServerSession::~CLocPrivacyServerSession()
+ {
+ CloseSession();
+ delete iBufFlat;
+ iBufFlat = NULL;
+ }
+
+// C++ default constructor can NOT contain any code, that
+// might leave.
+//
+CLocPrivacyServerSession::CLocPrivacyServerSession() :
+ CSession2(), iBufFlat(NULL)
+ {
+ // Doesn't really do anything according to the header file (e32def.h,
+ // lines 139 and 184) and the documentation doesn't mention it.
+ __DECLARE_NAME(_S("CLocPrivacyServerSession"));
+ }
+
+// EPOC default constructor
+void CLocPrivacyServerSession::ConstructL(CLocPrivacyServer& aServer)
+ {
+ aServer.IncrementSessions();
+ iBufFlat = CBufFlat::NewL(KPosBufFlatExpandSize);
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServerSession::ServiceL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServerSession::ServiceL(const RMessage2& aMessage)
+ {
+ TRAPD(err, DispatchL(aMessage));
+
+ aMessage.Complete(err);
+
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServerSession::CloseSession
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServerSession::CloseSession()
+ {
+ CLocPrivacyServer
+ * server =
+ static_cast<CLocPrivacyServer*> (const_cast<CServer2*> (Server()));
+ server->DecrementSessions(this);
+ }
+
+// ---------------------------------------------------------
+// CLocPrivacyServerSession::DispatchL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CLocPrivacyServerSession::DispatchL(const RMessage2& aMessage)
+ {
+ switch ( aMessage.Function() )
+ {
+ case ELocPrivacyGetSize:
+
+ {
+ TInt desLength=0;
+ desLength = aMessage.GetDesLength( 1 );
+
+ CBufFlat* bufFlat1 = CBufFlat::NewL(desLength);
+ CleanupStack::PushL(bufFlat1);
+ bufFlat1->ResizeL(desLength);
+
+ TPtr8 ptr(bufFlat1->Ptr(0));
+ // Copy content to local buffer
+ aMessage.ReadL(1, ptr);
+
+ RBufReadStream readStream(*bufFlat1);
+ CleanupClosePushL(readStream);
+
+ RPosRequestorStack* requestors1 = new (ELeave) RPosRequestorStack;
+ CleanupStack::PushL(requestors1);
+ requestors1->InternalizeL(readStream);
+
+ CLocRequestorUtilsResolver* res =
+ CLocRequestorUtilsResolver::NewL();
+ CleanupStack::PushL(res);
+
+ res->ResolveRequestorsL(*requestors1);
+
+
+ // use data member buffer and externalize
+
+ RBufWriteStream writeStream;
+ // Reset the buffer
+ iBufFlat->Reset();
+ writeStream.Open(*iBufFlat);
+ CleanupClosePushL(writeStream);
+
+ requestors1->ExternalizeL(writeStream);
+ writeStream.CommitL();
+
+ // Find the new size
+
+ TInt newsize = iBufFlat->Size();
+
+ CleanupStack::PopAndDestroy(&writeStream);
+ CleanupStack::PopAndDestroy(res);
+ CleanupStack::PopAndDestroy(requestors1);
+ CleanupStack::PopAndDestroy(&readStream);
+ CleanupStack::PopAndDestroy(bufFlat1);
+
+ // write back new size
+ TPtr8 ptr1(reinterpret_cast<TUint8*> (&newsize),
+ sizeof(newsize), sizeof(newsize));
+
+ aMessage.WriteL(0, ptr1);
+ }
+ break;
+
+ case ELocPrivacyResolve:
+ {
+ TPtr8 ptr2 = iBufFlat->Ptr(0);
+ aMessage.WriteL(0, ptr2);
+ }
+ break;
+
+ default:
+ aMessage.Panic(KLocPrivSrvDebugPanicCategory,
+ ELocPrivSrvPanicUnknownActivity);
+ break;
+ }
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locprivacyserver/src/locprivacyserverstartup.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* 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: Implementation for server startup .
+*
+*/
+
+// INCLUDE FILES
+#include "locprivacyserverstartup.h"
+#include "locprivacyserver.h"
+#include "locprivacycommon.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// LocPrivacyServerStartup::StartServer
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TInt LocPrivacyServerStartup::StartServer()
+ {
+ __UHEAP_MARK;
+
+ CTrapCleanup* cleanupStack = CTrapCleanup::New();
+
+ TInt ret = KErrNoMemory;
+
+ if (cleanupStack)
+ {
+ TRAP(ret, StartServerL());
+ delete cleanupStack;
+ }
+
+ __UHEAP_MARKEND;
+
+ return ret;
+ }
+
+// -----------------------------------------------------------------------------
+// LocPrivacyServerStartup::StartServerL
+//
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void LocPrivacyServerStartup::StartServerL()
+ {
+ // Rename thread to aid debugging
+ User::LeaveIfError(User::RenameThread(KLocPrivacyServerName));
+
+ // start scheduler and server
+ CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
+ CleanupStack::PushL(scheduler);
+ CActiveScheduler::Install(scheduler);
+
+ CLocPrivacyServer* server = CLocPrivacyServer::NewL();
+ CleanupStack::PushL(server);
+
+ CleanupStack::Pop(2, scheduler); // server
+
+ RProcess::Rendezvous(KErrNone);
+
+ CActiveScheduler::Start();
+
+ delete server;
+ delete scheduler;
+ }
+
+// -----------------------------------------------------------------------------
+// E32Main
+// Server process entry-point
+// Recover the startup parameters and run the server
+// -----------------------------------------------------------------------------
+//
+TInt E32Main()
+ {
+ return LocPrivacyServerStartup::StartServer();
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/bwins/locutils_32u.def Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ ?Debug@@YAXV?$TRefByValue@$$CBVTDesC16@@@@ZZ @ 1 NONAME ; void Debug(class TRefByValue<class TDesC16 const >, ...)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/eabi/locutils_32u.def Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,3 @@
+EXPORTS
+ _Z5Debug11TRefByValueIK7TDesC16Ez @ 1 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/group/locutils.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* 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: Project definition file for Location Utils
+*
+*/
+
+
+// INCLUDES
+#include "../inc/locutilsuid.hrh"
+
+#include <data_caging_paths.hrh>
+#include <bldvariant.hrh>
+#include <platform_paths.hrh> // For the MW_LAYER_SYSTEMINCLUDE
+
+TARGET locutils.dll
+TARGETTYPE dll
+UID 0x0 0x101F84FB
+
+VENDORID VID_DEFAULT
+CAPABILITY CAP_GENERAL_DLL
+
+SOURCEPATH ../src
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+SOURCE locutilsdebug.cpp
+#else
+SOURCE locutilsdebugdummy.cpp
+#endif
+
+// System Include
+MW_LAYER_SYSTEMINCLUDE
+
+USERINCLUDE .
+USERINCLUDE ../inc
+
+LIBRARY euser.lib
+LIBRARY bafl.lib
+LIBRARY efsrv.lib
+LIBRARY sysutil.lib
+LIBRARY eposprvtyp.lib
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+LIBRARY flogger.lib
+#endif
+
+LIBRARY CenRepNotifHandler.lib
+LIBRARY CentralRepository.lib
+
+#if defined(WINS)
+deffile ../bwins/locutils_32.def
+#elif defined(EABI)
+deffile ../eabi/locutils_32.def
+#endif
+
+// End of file
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsdebug.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* 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: LocUtilsDebug contains debug macros.
+*
+*/
+
+
+#ifndef LOCUTILSDEBUG_H
+#define LOCUTILSDEBUG_H
+
+// INCLUDES
+#include "locutilsdebugconfig.hrh"
+
+#include <e32std.h>
+
+
+// MACROS
+#define DEBUG(TEXT) { \
+ _LIT( KText, #TEXT ); \
+ Debug(KText) \
+ }
+
+#define LOC(TEXT, ARG1) { \
+ _LIT( KText, #TEXT ); \
+ Debug( KText, (ARG1) ); \
+ }
+
+#define LOC2(TEXT, ARG1, ARG2) { \
+ _LIT( KText, #TEXT ); \
+ Debug( KText,(ARG1), (ARG2) ); \
+ }
+
+#define LOC3(TEXT, ARG1, ARG2, ARG3) { \
+ _LIT( KText, #TEXT ); \
+ Debug( KText, (ARG1), (ARG2), (ARG3) ); \
+ }
+
+IMPORT_C void Debug( TRefByValue<const TDesC> aText, ...);
+
+/**
+* By using component specific debug macros unnecessary
+* debug prints can be avoided.
+* Also component specific debugging is possible by compiling
+* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
+*/
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+
+#define LOCUTILSDEBUG(TEXT) DEBUG(TEXT);
+#define LOCUTILSDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1);
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2);
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3);
+
+#else
+
+#define LOCUTILSDEBUG(TEXT) ;
+#define LOCUTILSDEBUG1(TEXT, ARG1) ;
+#define LOCUTILSDEBUG2(TEXT, ARG1, ARG2) ;
+#define LOCUTILSDEBUG3(TEXT, ARG1, ARG2, ARG3) ;
+
+#endif
+
+#endif // LOCUTILSDEBUG_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsdebugconfig.hrh Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* 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 is the main build-time configuration file of Loc Utils
+*
+*/
+
+
+#ifndef LOCUTILSDEBUGCONFIG_HRH_
+#define LOCUTILSDEBUGCONFIG_HRH_
+
+// INCLUDES
+
+// Flags for development:
+
+
+// Defined LOC_ENABLE_DEBUG_PRINT flag enables debug prints to a file.
+
+//#define LOC_ENABLE_DEBUG_PRINT
+
+#endif // LOCUTILSDEBUGCONFIG_HRH_
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/inc/locutilsuid.hrh Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* 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: Common header for Location Utils UIDs.
+*
+*/
+
+
+#ifndef LOCUTILSUID_H_
+#define LOCUTILSUID_H_
+
+// MACROS
+
+/// Location utility component UID3
+#define LOCUTILS_UID3 0x101F84FB
+
+#endif // LOCUTILSUID_H_
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/src/locutilsdebug.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* 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: Contains debugging functions
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "locutilsdebug.h"
+#include <flogger.h>
+#include <e32svr.h>
+// CONSTANTS
+
+/// Folder where the log resides
+_LIT( KLocLogFolder, "Verifier" );
+
+/// The name of the log file
+_LIT( KLocLogFileName, "LocVerifier" );
+
+/// The format in which the time is formatted in log
+_LIT( KLocLogTimeFormat, "%02d.%02d:%02d:%06d ");
+
+/// The length of the string produced by KLocLogTimeFormat
+const TInt KLocLogTimeFormatLength = 16;
+
+/// How many characters a log line can contain
+const TInt KLocLogLineLength = 256;
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+
+// -----------------------------------------------------------------------------
+// Debug
+// Generates a log file if c:\logs\locationsysui\ folder exists
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void Debug( TRefByValue<const TDesC> aText, ... )
+ {
+ VA_LIST args;
+ VA_START( args, aText );
+
+ TBuf<KLocLogLineLength> buf;
+ buf.FormatList( aText, args );
+
+ #ifdef _DEBUG
+ RDebug::Print(buf);
+ #endif
+
+ RFileLogger logger;
+
+ TInt ret=logger.Connect();
+ if (ret==KErrNone)
+ {
+ logger.SetDateAndTime( EFalse,EFalse );
+ logger.CreateLog( KLocLogFolder, KLocLogFileName, EFileLoggingModeAppend );
+ TBuf<KLocLogTimeFormatLength> timeStamp;
+ TTime now;
+ now.HomeTime();
+ TDateTime dateTime;
+ dateTime = now.DateTime();
+ timeStamp.Format( KLocLogTimeFormat,
+ dateTime.Hour(), dateTime.Minute(),
+ dateTime.Second(), dateTime.MicroSecond() );
+ buf.Insert( 0, timeStamp );
+
+ logger.Write(buf);
+ }
+
+ logger.Close();
+
+ VA_END( args );
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locutils/src/locutilsdebugdummy.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* 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: Contains dummy implementation for debugging function
+*
+*/
+
+
+#include "locutilsdebug.h"
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+// -----------------------------------------------------------------------------
+// Debug
+// -----------------------------------------------------------------------------
+//
+EXPORT_C void Debug( TRefByValue<const TDesC> /*aText*/, ... )
+ {
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/group/locverifierdlg.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,73 @@
+/*
+* 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: Project definition file for Location Verification Dialog
+*
+*/
+
+
+// INCLUDES
+#include "../inc/locverifieruid.h"
+#include <data_caging_paths.hrh>
+#include <platform_paths.hrh>
+
+TARGET locverifierdlg.dll
+TARGETTYPE PLUGIN
+UID 0x10009D8D KLocVerifierDlgUID3
+
+CAPABILITY CAP_ECOM_PLUGIN
+
+VENDORID VID_DEFAULT
+
+SOURCEPATH ../src
+SOURCE lpdverifierplugin.cpp
+SOURCE lpdrequestao.cpp
+SOURCE lpdrequestorprocessor.cpp
+SOURCE lpdverifierquerylauncher.cpp
+SOURCE lpdnotifierquerylauncher.cpp
+SOURCE lpdglobalplugindialog.cpp
+SOURCE lpdquerylauncherbase.cpp
+SOURCE lpddllmain.cpp
+
+
+// System Include
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE \epoc32\include\mw\hb\hbcore
+SYSTEMINCLUDE \epoc32\include\mw\hb\hbwidgets
+
+USERINCLUDE .
+USERINCLUDE ../inc
+USERINCLUDE ../../inc
+USERINCLUDE ../../locnotificationengine/inc
+
+SOURCEPATH ../rss
+START RESOURCE 101f84fc.rss
+TARGET locverifierdlg.rsc
+END
+
+// EPos:
+LIBRARY eposprvqnif.lib
+// Location:
+LIBRARY locnotificationengine.lib
+// Symbian & Hb:
+LIBRARY euser.lib
+LIBRARY eiksrv.lib
+LIBRARY eposprvtyp.lib
+LIBRARY estor.lib bafl.lib
+LIBRARY flogger.lib
+LIBRARY HbCore.lib
+LIBRARY HbWidgets.lib
+LIBRARY QtCore.lib
+LIBRARY locnotificationclient.lib
+LIBRARY systemtoneservice.lib
+LIBRARY locutils.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/locverifierdlgdebug.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* 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: LocVerifierDlgDebug contains debug macros.
+*
+*/
+
+
+#ifndef LOCVERIFIERDLGDEBUG_H
+#define LOCVERIFIERDLGDEBUG_H
+
+// INCLUDES
+#include "locutilsdebug.h"
+#include <e32std.h>
+
+
+// MACROS
+
+/**
+* By using component specific debug macros unnecessary
+* debug prints can be avoided.
+* Also component specific debugging is possible by compiling
+* only certain components when LOC_ENABLE_DEBUG_PRINT is defined.
+*/
+
+#ifdef LOC_ENABLE_DEBUG_PRINT
+#define LOCVERIFIERDLGDEBUG(TEXT) DEBUG(TEXT);
+#define LOCVERIFIERDLGDEBUG1(TEXT, ARG1) LOC(TEXT, ARG1);
+#define LOCVERIFIERDLGDEBUG2(TEXT, ARG1, ARG2) LOC2(TEXT, ARG1, ARG2);
+#define LOCVERIFIERDLGDEBUG3(TEXT, ARG1, ARG2, ARG3) LOC3(TEXT, ARG1, ARG2, ARG3);
+#else
+#define LOCVERIFIERDLGDEBUG(TEXT);
+#define LOCVERIFIERDLGDEBUG1(TEXT, ARG1);
+#define LOCVERIFIERDLGDEBUG2(TEXT, ARG1, ARG2);
+#define LOCVERIFIERDLGDEBUG3(TEXT, ARG1, ARG2, ARG3);
+#endif
+
+#endif /* LOCVERIFIERDLGDEBUG_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/locverifieruid.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* 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: Common header for Location application UIDs.
+*
+*/
+
+
+#ifndef LOCVERIFIERUID_H
+#define LOCVERIFIERUID_H
+
+/// Location verifier dialog UID3
+#define KLocVerifierDlgUID3 0x101f84fc
+
+#define KNotifierUID2 0x101fdfae
+
+#endif // LOCVERIFIERUID_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpddlgobserver.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* 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: Callback interface class.
+*
+*/
+
+
+#ifndef MLPDDLGOBSERVER_H
+#define MLPDDLGOBSERVER_H
+
+// INCLUDES
+#include <e32base.h>
+
+
+// CLASS DECLARATION
+
+/**
+* Callback interface class.
+* Implementor of this class gives a reference to itself when
+* creating a global query dialog. A callback method is then
+* called when the query is dismissed.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class MLpdDlgObserver
+ {
+ public:
+
+ /**
+ * Pure virtual callback method.
+ * @param aResult code of the query
+ */
+ virtual void HandleDlgDismissedL( TInt aResult) = 0;
+ };
+
+#endif // MLPDDLGOBSERVER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdglobalplugindialog.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* 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: List query dialog suitable for verifier plug-in use.
+*
+*/
+
+
+#ifndef CLPDGLOBALPLUGINDIALOG_H
+#define CLPDGLOBALPLUGINDIALOG_H
+
+// INCLUDES
+#include <hbdevicemessageboxsymbian.h>
+#include <hbdevicenotificationdialogsymbian.h>
+#include <hbdevicedialogsymbian.h>
+
+
+const TInt KReqBufferSize = 256;
+// FORWARD DECLARATIONS
+class MLpdDlgObserver;
+class CLpdRequestorProcessor;
+class CHbDeviceDialog;
+// CLASS DECLARATION
+
+/**
+* A list query dialog suitable for verifier plug-in use.
+* utilizes MLpdDlgObserver
+* for notifying when dialog is dismissed.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class CLpdGlobalPluginDialog : public CBase,
+ public MHbDeviceDialogObserver ,
+ public MHbDeviceNotificationDialogObserver
+
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aCallBack is notified when dialog is dismissed
+ * @return created object
+ */
+ static CLpdGlobalPluginDialog* NewL(
+ MLpdDlgObserver& aCallBack);
+
+
+ /**
+ * C++ destructor.
+ */
+ virtual ~CLpdGlobalPluginDialog();
+
+ public: // Functions from base classes
+
+
+ void RunVerificationQueryL();
+
+ void RunNotificationL();
+
+
+ void SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo );
+
+
+ void Cancel();
+
+ void DataReceived(CHbSymbianVariantMap& aData);
+
+ void DeviceDialogClosed(TInt aCompletionCode);
+
+ void AddVerDlgHeadingParamL();
+
+ void AddQueryTextParamL();
+
+ void AddRequestorsParamL();
+
+
+
+ public:
+ void NotificationDialogActivated (const CHbDeviceNotificationDialogSymbian *aDialog);
+
+ void NotificationDialogClosed (const CHbDeviceNotificationDialogSymbian *aDialog, TInt aCompletionCode);
+
+
+
+ private: // Constructors and destructor
+
+ /**
+ * Symbian 2nd Phase Constructor.
+ */
+ void ConstructL();
+
+ /**
+ * C++ constructor.
+ * @param aCallBack is notified when dialog is dismissed
+ */
+ CLpdGlobalPluginDialog(
+ MLpdDlgObserver& aCallBack);
+
+ private: // Data
+
+ // Object which is notified when query is dismissed
+ MLpdDlgObserver& iCallBack;
+ CHbDeviceDialogSymbian* iMsgBox;
+ CHbDeviceNotificationDialogSymbian* iNotification;
+ CLpdRequestorProcessor* iRequestInfo;
+ CHbSymbianVariantMap* mSymbianVariantMap;
+ TBool mDissmissed;
+ TBool isCancelled;
+
+
+ };
+
+#endif // CLPDGLOBALPLUGINDIALOG_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdnotifierquerylauncher.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* 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: Class which handles the dialog and expiration timer.
+*
+*/
+
+
+#ifndef CLPDNOTIFIERQUERYLAUNCHER_H
+#define CLPDNOTIFIERQUERYLAUNCHER_H
+
+// INCLUDES
+#include "lpdquerylauncherbase.h"
+#include <e32base.h>
+#include <lbs/epos_privacy.h>
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+/**
+* Implements functionality for executing notifications.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class CLpdNotifierQueryLauncher :
+public CLpdQueryLauncherBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aHandler of ther query result
+ * @return created object
+ */
+ static CLpdNotifierQueryLauncher* NewL( MLpdResultHandler& aHandler );
+
+ /**
+ * Destructor. Call Cancel() first if you have launched a query.
+ */
+ virtual ~CLpdNotifierQueryLauncher();
+
+
+ protected: // Functions from base classes
+
+ /**
+ * From CLpdQueryLauncherBase, called when dialog is dismissed.
+ */
+ void ExtendedHandleDlgDismissedL();
+
+ void RequestType(TRequestType& aRequestType);
+
+ private: // Constructors and destructors
+
+ /**
+ * C++ constructor.
+ * @param aHandler of the query result
+ */
+ CLpdNotifierQueryLauncher( MLpdResultHandler& aHandler );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+ };
+
+#endif // CLPDNOTIFIERQUERYLAUNCHER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdquerylauncherbase.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* 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: Abstract base class for queries.
+*
+*/
+
+
+#ifndef CLPDQUERYLAUNCHERBASE_H
+#define CLPDQUERYLAUNCHERBASE_H
+
+// INCLUDES
+#include "lpddlgobserver.h"
+
+#include <e32base.h>
+#include <badesca.h>
+#include <coemain.h>
+
+#include <epos_cposprivacynotifier.h>
+
+
+// SYSTEM INCLUDE
+
+
+// FORWARD DECLARATIONS
+class CLpdGlobalPluginDialog;
+class CLpdMessagePluginDialog;
+class MLpdResultHandler;
+class CLpdRequestorProcessor;
+
+
+// CLASS DECLARATION
+
+/**
+* Base class which handles the dialog and expiration timer.
+* Expiration timer can be used to ensure that if the user doesn't handle
+* a dialog in certain time the dialog is closed. NOTE: In current
+* implementation the timer is not started, i.e. dialogs never expire.
+* Implementations of this class should notify a result handler
+* when dialog result is available. This base class takes care of
+* notifying possible timeout with KErrTimedOut.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class CLpdQueryLauncherBase : public CBase, public MLpdDlgObserver
+ {
+
+protected:
+ enum TRequestType
+ {
+ EVerification = 0,
+ ENotification,
+ EUnknown
+ };
+
+
+ public: // Constructors and destructor
+
+ /**
+ * Destructor. Exits possibly running dialog without callback.
+ */
+ virtual ~CLpdQueryLauncherBase();
+
+
+ public: // New functions, query setup and launching
+
+ /**
+ * Method for setting text array.
+ *
+ */
+ void SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo );
+
+
+ /**
+ * Method for launching query, note that it must have been
+ * correctly prepared first.
+ */
+ void StartQueryL();
+
+
+ virtual void RequestType(TRequestType& aRequestType);
+
+
+ public: // Functions from base classes
+
+ /**
+ * From MLpdDlgObserver, called when dialog is dismissed.
+ * This method calls also pure virtual method
+ * ExtendedHandleDlgDismissedL().
+ * @param aResult code of the query
+ */
+ void HandleDlgDismissedL( TInt aResult);
+
+ public:
+ void Cancel();
+ protected: // Constructors and destructors
+
+ /**
+ * C++ constructor.
+ * @param aHandler of the query result
+ */
+ CLpdQueryLauncherBase( MLpdResultHandler& aHandler );
+
+ void ConstructL();
+
+ protected: // New functions
+
+ /**
+ * This pure virtual method must be implemented
+ * by the derived class to handle the result code
+ * appropriately and to notify the observer of this
+ * class.
+ */
+ virtual void ExtendedHandleDlgDismissedL() = 0;
+
+
+ protected: // Data
+
+ // Reference to the result handler
+ MLpdResultHandler& iHandler;
+
+ // Result code from the dialog
+ TInt iResult;
+
+ // Pointer to the list query dialog
+ CLpdGlobalPluginDialog* iQueryDlg; // owns untils RunLD() called
+
+
+ };
+
+#endif // CLPDQUERYLAUNCHERBASE_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdrequestao.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* 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: Active object which ensures that current call stack is run to
+* completion before a new request is handled
+*
+*/
+
+
+#ifndef CLPDREQUESTAO_H
+#define CLPDREQUESTAO_H
+
+// INCLUDES
+#include <e32base.h>
+#include <lbs/epos_privacy.h>
+
+
+// FORWARD DECLARATIONS
+class CLpdVerifierPlugin;
+
+// CLASS DECLARATION
+
+/**
+* Active object used by the verifier plugin.
+* Ensures that current call stack is run to completion before a
+* new request is handled. Otherwise access violations might occur.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class CLpdRequestAO : public CActive
+ {
+ public: // Constructors and destructors
+
+ /**
+ * Two-phased constructor.
+ * @param aPlugin reference to the owner of this object
+ * @return created object
+ */
+ static CLpdRequestAO* NewL( CLpdVerifierPlugin& aPlugin );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CLpdRequestAO();
+
+ public: // New functions
+
+ /**
+ * Issues a request and completes it immediatelly, so that it
+ * will be handled as soon as previous request is run to completion.
+ */
+ void ScheduleRequest();
+
+
+ private:
+
+ /**
+ * Private C++ default constructor.
+ * @param aPlugin reference to the owner of this object
+ */
+ CLpdRequestAO( CLpdVerifierPlugin& aPlugin );
+
+ private: // Functions from base classes
+
+ /**
+ * From CActive.
+ */
+ void RunL();
+
+ /**
+ * From CActive.
+ */
+ void DoCancel();
+
+ private: // Data
+
+ // Verifier plugin
+ CLpdVerifierPlugin& iPlugin; // doesn't own
+
+
+};
+
+#endif // CLPDREQUESTAO_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdrequestorprocessor.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* 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: Processes requestor related data.
+*
+*/
+
+
+#ifndef CLPDREQUESTORPROCESSOR_H
+#define CLPDREQUESTORPROCESSOR_H
+
+// INCLUDES
+#include "locrequestorutilsresolver.h"
+#include <e32base.h>
+#include <lbs/epos_rposrequestorstack.h>
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_privacy.h>
+// FORWARD DECLARATIONS
+class CPosPrivacyNotifier;
+
+
+// CLASS DECLARATION
+
+/**
+* This class reads, processes and owns requestor data.
+* @lib locverifierdlg.dll
+* @since 2.1
+*/
+class CLpdRequestorProcessor : public CBase
+ {
+ public: // Constructors and destructor
+
+ enum TDialogType
+ {
+ /** Query dialog requested. */
+ EQuery = 0,
+ /** Notification dialog requested. */
+ ENotification
+ };
+
+
+
+ /**
+ * Two-phased constructor.
+ * @return created object
+ */
+ static CLpdRequestorProcessor* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CLpdRequestorProcessor();
+
+ public: // New functions
+
+ /**
+ * Reads requestor information from the privacy notifier.
+ * Uses RequestorIdValid() for id validity check.
+ * Calls UpdateRuleRequestorsL().
+ * @param aPosNotifier reference
+ * @return ETrue if all requestor id's were valid, EFalse otherwise.
+ */
+ TBool ReadRequestorsL( const CPosPrivacyNotifier& aPosNotifier );
+
+ /**
+ * Returns requestor array for reading.
+ * @return array of requestors
+ */
+ const RPointerArray<CPosRequestor>& Requestors() const;
+
+ /**
+ * Resets requestor arrays and destroys requestor objects.
+ */
+ void ResetAndDestroyRequestors();
+
+
+ protected: // Constructors and destructors
+
+ /**
+ * C++ constructor.
+ */
+ CLpdRequestorProcessor();
+
+ protected: // New methods
+
+ /**
+ * Handles assert errors. Panics in debug build but leaves in release
+ * build, as this component runs in EikSrv and must never panic.
+ */
+ void HandleAssertErrorL() const;
+
+ private:
+ TBool RequestorIdValid(
+ const CPosRequestor& aRequestor );
+
+ public:
+ RPointerArray<CPosRequestor> iRequestors;
+ CPosRequestor::TRequestType iRequestType;
+ TPosRequestDecision iRequestDecision;
+ TDialogType iDialogType;
+ TPosNotificationReason iNotifReason;
+
+ };
+
+#endif // CLPDREQUESTORPROCESSOR_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdresulthandler.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,66 @@
+/*
+* 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: Callback interface class.
+*
+*/
+
+
+#ifndef MLPDRESULTHANDLER_H
+#define MLPDRESULTHANDLER_H
+
+// INCLUDES
+#include <e32def.h>
+
+// FORWARD DECLARATIONS
+class CLpdQueryLauncherBase;
+
+
+// CLASS DECLARATION
+
+/**
+* Observer pattern for handling dialog result. Used by several
+* classes deriving from CLpdQueryLauncherBase.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class MLpdResultHandler
+ {
+ public: // New functions
+
+ /**
+ * Pure virtual observer method.
+ * @param aResultCode
+ */
+ virtual void HandleVerificationResultL( TInt aResultCode ) = 0;
+
+ /**
+ * Pure virtual observer method.
+ * @param aResultCode
+ */
+ virtual void HandleNotificationResultL( TInt aResultCode ) = 0;
+
+ /**
+ * Pure virtual observer method. Called if leave occurred in other
+ * callback methods. Used because it is not acceptable to propagate
+ * leave to AVKON dialog, plugin must clean up and continue with
+ * handling of request queue.
+ * @param aError code
+ */
+ virtual void HandleLeave( TInt aError ) = 0;
+ };
+
+#endif // MLPDRESULTHANDLER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdverifierplugin.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,224 @@
+/*
+* 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: Verifier plug-in which derives from CPosPrivacyNotifier.
+*
+*/
+
+
+// INCLUDES
+
+#ifndef CLPDVERIFIERDLG_H
+#define CLPDVERIFIERDLG_H
+
+#include "lpdrequestao.h"
+#include "lpdresulthandler.h"
+
+#include <epos_cposprivacynotifier.h>
+#include <lbs/epos_privacy.h>
+#include <lbs/epos_cposrequestor.h>
+// SYSTEM INCLUDE
+#include <bldvariant.hrh> // For the 3.2 Flag
+
+
+// FORWARD DECLARATIONS
+class CLpdVerifierQueryLauncher;
+class CLpdNotifierQueryLauncher;
+class CLpdRequestorProcessor;
+class CLocRequestorUtilsResolver;
+
+
+// CLASS DECLARATION
+
+/**
+* Verifier plug-in which derives from CPosPrivacyNotifier.
+* Notifiers are based on RNotifier framework, and this particular
+* notifier is used to launch a privacy query for accepting/rejecting
+* privacy requests. It also shows informational notes and error
+* messages, which are received as notification.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class CLpdVerifierPlugin : public CPosPrivacyNotifier, public MLpdResultHandler
+ {
+ // To allow calls to HandleNextRequest() from active object
+ friend class CLpdRequestAO;
+
+ private:
+
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @return created object
+ */
+ static CLpdVerifierPlugin* NewL();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CLpdVerifierPlugin();
+
+ /**
+ * Method for cancelling query or freeing
+ * resources after finishing query.
+ */
+ void FreeQueryResources();
+
+ public: // Functions from base classes
+
+ /**
+ * From CPosPrivacyNotifier, called when a new request arrives.
+ * @param aRequestId identifier of received request
+ */
+ void HandleNewRequestL( TPosQNRequestId aRequestId );
+
+ /**
+ * From CPosPrivacyNotifier, called when request has been cancelled
+ * @param aRequestId identifier of cancelled request
+ */
+ void HandleRequestCancelled( TPosQNRequestId aRequestId );
+
+ /**
+ * From CPosPrivacyNotifier, called when all requests are cancelled.
+ */
+ void HandleAllRequestCancelled();
+
+ /**
+ * From MLpdResultHandler, called when verification result is available.
+ * @param aResultCode
+ */
+ void HandleVerificationResultL( TInt aResultCode );
+
+ /**
+ * From MLpdResultHandler, called when notification has been done.
+ * @param aResultCode
+ */
+ void HandleNotificationResultL( TInt aResultCode );
+
+ /**
+ * From MLpdResultHandler, called if leave occurred in callback method
+ * @param aError code
+ */
+ void HandleLeave( TInt aError );
+
+
+
+
+ protected: // New functions
+
+ /**
+ * Non-leaving internal method for handling next pending request.
+ */
+ void HandleNextRequest();
+
+ /**
+ * Internal method for handling next pending request.
+ */
+ void HandleNextRequestL();
+
+ /**
+ * Internal helper method used by HandleNextRequestL().
+ */
+ void HandleNextVerificationL();
+
+ /**
+ * Internal helper method used by HandleNextRequestL().
+ */
+ void HandleNextNotificationL();
+
+ /**
+ * Internal helper method used by HandleNextNotificationL().
+ */
+ void HandleNextNonPeriodicNotificationL();
+
+
+ /**
+ * Internal helper method.
+ * Completes current request and continues queue handling.
+ */
+ void CompleteCurrentAndContinue( TInt aResultCode );
+
+ /**
+ * Handles assert errors. Panics in debug build but leaves in release
+ * build, as this component runs in EikSrv and must never panic.
+ */
+ void HandleAssertErrorL() const;
+
+ /**
+ * Panics in debug build but does nothing in release build.
+ */
+ void HandleDebugAssertError() const;
+
+
+
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CLpdVerifierPlugin();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+
+
+ /**
+ * Checks the type of request and helps to know
+ * if a given request is of SUPL periodic type
+ * @param aCurrentRequest request id
+ * @return CPosRequestor::TRequestType type of request enum
+ */
+ CPosRequestor::TRequestType CheckRequestTypeL();
+
+
+ private: // Data
+
+
+
+ // Identifier of currently handled request
+ TPosQNRequestId iCurrentRequest;
+
+ // Type of the current request, valid if iCurrentRequest valid
+ TRequestType iCurrentRequestType;
+
+ // Result code of verifier query, needed if user cancels rule query
+ TInt iVerifyResult;
+
+
+ // Location request accept/reject query object
+ CLpdVerifierQueryLauncher* iVerifierQuery; // owns
+
+ // Location request accept/reject query object
+ CLpdNotifierQueryLauncher* iNotifier; // owns
+
+ // Active object, used to let requests run to
+ // completion instead of recursive calls.
+ CLpdRequestAO* iRequestActiveObject; // owns
+
+ CLpdRequestorProcessor* iRtorProcessor; // owns
+
+ CLocRequestorUtilsResolver* iUtils; // owns
+
+
+ };
+
+#endif // CLPDVERIFIERDLG_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/inc/lpdverifierquerylauncher.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,88 @@
+/*
+* 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: Class which handles the dialog and expiration timer.
+*
+*/
+
+
+#ifndef CLPDVERIFIERQUERYLAUNCHER_H
+#define CLPDVERIFIERQUERYLAUNCHER_H
+
+// INCLUDES
+#include "lpdquerylauncherbase.h"
+#include <e32base.h>
+#include <lbs/epos_privacy.h>
+
+
+// FORWARD DECLARATIONS
+class CLpdGlobalPluginDialog;
+
+
+// CLASS DECLARATION
+
+/**
+* Implements functionality for executing verification queries.
+*
+* @lib locverifierdlg.lib
+* @since 2.1
+*/
+class CLpdVerifierQueryLauncher :
+public CLpdQueryLauncherBase
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ * @param aHandler of ther query result
+ * @return created object
+ */
+ static CLpdVerifierQueryLauncher* NewL(
+ MLpdResultHandler& aHandler );
+
+ /**
+ * Destructor. Call Cancel() first if you have launched a query.
+ */
+ virtual ~CLpdVerifierQueryLauncher();
+
+ public: // New functions
+
+
+ protected: // Functions from base classes
+
+ /**
+ * From CLpdQueryLauncherBase, called when dialog is dismissed.
+ */
+ void ExtendedHandleDlgDismissedL();
+
+ void RequestType(TRequestType& aRequestType);
+
+ private: // Constructors and destructors
+
+ /**
+ * C++ constructor.
+ * @param aHandler of the query result
+ */
+ CLpdVerifierQueryLauncher( MLpdResultHandler& aHandler );
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL();
+
+
+ };
+
+#endif // CLPDVERIFIERQUERYLAUNCHER_H
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/rss/101f84fc.rss Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* 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 file specifies the interface and implementation information
+* for BTnotif Ecom Plugins.
+*
+*/
+
+
+#include "ecom/registryinfo.rh"
+#include "uikon.hrh"
+#include <lbs/epos_privacynotifier.hrh>
+
+#define PRINOTDISPLAYNAME "TTNOTIFY2V2 Plugin 1"
+#define PRINOTDEFAULTDATA "TTNOTIFY2V2"
+#define PRINOTOPAQUEDATA "0"
+
+RESOURCE REGISTRY_INFO theInfo
+{
+ dll_uid = 0x101f84fc;
+ interfaces =
+ {
+ INTERFACE_INFO
+ {
+ interface_uid = KUikonUidPluginInterfaceNotifiers; // ECOM Notifier Plugin
+ implementations =
+ {
+ IMPLEMENTATION_INFO
+ {
+ implementation_uid = 0x10207243;
+ version_no = 1;
+ display_name = PRINOTDISPLAYNAME;
+ default_data = PRINOTDEFAULTDATA;
+ opaque_data = PRINOTOPAQUEDATA;
+ }
+ };
+ }
+ };
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpddllmain.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* 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: Dll entry point and plugin creation functions.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdverifierplugin.h"
+#include <e32base.h>
+#include <eiknotapi.h>
+#include <ecom/implementationproxy.h>
+
+// ============================= LOCAL FUNCTIONS ===============================
+
+LOCAL_C void CreateNotifiersL(
+ CArrayPtrFlat<MEikSrvNotifierBase2>* aNotifiers )
+ {
+ CLpdVerifierPlugin* notifier = CLpdVerifierPlugin::NewL();
+ CleanupStack::PushL( notifier );
+ aNotifiers->AppendL( notifier->NotifierBase() );
+ CleanupStack::Pop( notifier ); // Do not destroy. This is handled by the FW.
+ }
+
+// ========================== OTHER EXPORTED FUNCTIONS =========================
+
+LOCAL_C CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
+ {
+ CArrayPtrFlat<MEikSrvNotifierBase2>* notifiers =
+ new CArrayPtrFlat<MEikSrvNotifierBase2>( 1 );
+ if ( notifiers )
+ {
+ TRAPD( err, CreateNotifiersL( notifiers ) );
+ if ( err )
+ { // release any notifiers we have created
+ TInt count = notifiers->Count();
+ while ( --count >= 0 )
+ {
+ ( *notifiers )[count]->Release();
+ }
+ delete notifiers;
+ notifiers = NULL;
+ }
+ }
+ return notifiers;
+ }
+
+const TImplementationProxy ImplementationTable[] =
+ {
+#ifdef __EABI__
+ {{0x10207243},(TFuncPtr)NotifierArray}
+#else
+ {{0x10207243},NotifierArray}
+#endif
+ };
+
+// ======== GLOBAL FUNCTIONS ========
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+ {
+ aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy) ;
+ return ImplementationTable;
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdglobalplugindialog.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,420 @@
+/*
+* 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: List query dialog suitable for verifier plug-in use.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdglobalplugindialog.h"
+#include "lpddlgobserver.h"
+#include "lpdrequestorprocessor.h"
+
+#include <lbs/EPos_CPosContactRequestor.h>
+#include <lbs/EPos_CPosServiceRequestor.h>
+#include <lbs/EPos_CPosRequestor.h>
+#include <hbsymbianvariant.h>
+#include <hbtextresolversymbian.h>
+#include <systemtoneservice.h>
+#include <e32des16.h>
+
+_LIT(KNotifReqSeperator,",");
+_LIT(KHeadingKey, "heading");
+_LIT(KQueryTextKey, "queryText");
+_LIT(KQueryText2Key, "queryText2");
+_LIT(KRequestorKey, "requestor");
+_LIT(KVerificationDlgType, "hb.posverifiction.dialog/1.0");
+_LIT(KLocTsFileName, "lilocationmw_");
+_LIT(KLocTsFilePath, "z://resource/qt/translations/");
+_LIT(KLocTsAFileAltPath, "c://resource/");
+//Translation String Ids
+//Verification Dialog
+_LIT(KRequestHeading, "txt_loe_title_location_request");
+_LIT(KSingleshotDecisionRejected, "txt_loe_info_your_location_will_not_be_shared_by_d");
+_LIT(KSingleshotDecisionAccepted, "txt_loe_info_your_location_will_be_shared_by_defau");
+_LIT(KSingleshotDecisionNotAvailable, "txt_loe_info_your_location_will_be_shared_with");
+_LIT(KPeriodicDecisionRejected, "txt_loe_info_your_location_will_not_be_shared_peri");
+_LIT(KPeriodicDecisionAccepted, "txt_loe_info_your_location_will_be_shared_periodic");
+_LIT(KPeriodicDecisionNotAvailable, "txt_loe_info_you_location_will_be_shared_periodica");
+_LIT(KRequestorText, "txt_loe_info_location_was_requested_by");
+_LIT(KUnknownRequestor, "txt_loe_info_unknown_requestor");
+//Notification
+_LIT(KNotificationNotSent, "txt_loe_dpophead_your_location_not_sent_to");
+_LIT(KNotificationSent, "txt_loe_dpophead_your_location_sent_to");
+
+const TInt KNotificationTimeout = 15000;
+const TInt KMaxSize = 1024;
+const TInt KVariantMaxSize = 256;
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::CLpdGlobalPluginDialog
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdGlobalPluginDialog::CLpdGlobalPluginDialog(
+ MLpdDlgObserver& aCallBack
+ )
+ : iCallBack( aCallBack ),
+ iMsgBox(NULL),
+ iNotification(NULL),
+ iRequestInfo(NULL)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::ConstructL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+void CLpdGlobalPluginDialog::ConstructL()
+ {
+ iMsgBox = CHbDeviceDialogSymbian::NewL();
+ iNotification = CHbDeviceNotificationDialogSymbian::NewL(this);
+ TBool result =
+ HbTextResolverSymbian::Init(KLocTsFileName, KLocTsFilePath);
+ if (!result)
+ {
+ HbTextResolverSymbian::Init(KLocTsFileName, KLocTsAFileAltPath);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdGlobalPluginDialog* CLpdGlobalPluginDialog::NewL(
+ MLpdDlgObserver& aCallBack)
+ {
+ CLpdGlobalPluginDialog* self =
+ new( ELeave ) CLpdGlobalPluginDialog( aCallBack);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// Destructor
+CLpdGlobalPluginDialog::~CLpdGlobalPluginDialog()
+ {
+ delete iMsgBox;
+ iMsgBox = NULL;
+
+ delete iNotification;
+ iNotification = NULL;
+
+ delete iRequestInfo;
+ iRequestInfo=NULL;
+
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::RunLD
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdGlobalPluginDialog::RunVerificationQueryL()
+ {
+ mSymbianVariantMap = CHbSymbianVariantMap::NewL();
+ CleanupStack::PushL(mSymbianVariantMap);
+
+ AddVerDlgHeadingParamL();
+ AddQueryTextParamL();
+ AddRequestorsParamL();
+ CSystemToneService* sts = CSystemToneService::Create();
+ iMsgBox->Show(KVerificationDlgType, *mSymbianVariantMap, this);
+ if( sts )
+ {
+ sts->PlayTone(CSystemToneService::ELocationRequest);
+ }
+ CSystemToneService::Delete(sts);
+ CleanupStack::Pop(mSymbianVariantMap);
+ }
+
+void CLpdGlobalPluginDialog::RunNotificationL()
+ {
+ if( EPosDecisionByRequestSource == iRequestInfo->iNotifReason ||
+ EPosVerificationTimeout == iRequestInfo->iNotifReason )
+ {
+ if ( EPosDecisionAccepted == iRequestInfo->iRequestDecision )
+ {
+ HBufC* title = HbTextResolverSymbian::LoadL(KNotificationSent);
+ CleanupStack::PushL(title);
+ iNotification->SetTitleL(title->Des());
+ CleanupStack::PopAndDestroy(title);
+ }
+ if( EPosDecisionRejected == iRequestInfo->iRequestDecision )
+ {
+ HBufC* title = HbTextResolverSymbian::LoadL(KNotificationNotSent);
+ CleanupStack::PushL(title);
+ iNotification->SetTitleL(title->Des());
+ CleanupStack::PopAndDestroy(title);
+ }
+ }
+ else
+ {
+ // Not supported
+ User::Leave(KErrNotSupported);
+ }
+ TBuf<KMaxSize> buf;
+
+ TInt count= iRequestInfo->iRequestors.Count();
+ if( count == 0 )
+ {
+ HBufC* requestor = HbTextResolverSymbian::LoadL(KUnknownRequestor);
+ CleanupStack::PushL(requestor);
+ buf.Append(requestor->Des());
+ CleanupStack::PopAndDestroy(requestor);
+ }
+ else
+ {
+ for(TInt i=0;i< count;i++ )
+ {
+ if(i!=0)
+ {
+ buf.Append(KNotifReqSeperator);
+ }
+ buf.Append(iRequestInfo->iRequestors[i]->RequestorIdString());
+ }
+ }
+ iNotification->SetTextL(buf);
+ iNotification->SetTimeout(KNotificationTimeout);
+ iNotification->EnableTouchActivation(ETrue);
+ iNotification->ShowL();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdGlobalPluginDialog::SetMessageTextL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdGlobalPluginDialog::SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo )
+ {
+ if(iRequestInfo)
+ {
+ // clear and create again if already has been set before
+ delete iRequestInfo;
+ iRequestInfo=NULL;
+ }
+ iRequestInfo=CLpdRequestorProcessor::NewL();
+
+ iRequestInfo->iDialogType=aRequestInfo->iDialogType;
+ iRequestInfo->iNotifReason=aRequestInfo->iNotifReason;
+ iRequestInfo->iRequestDecision=aRequestInfo->iRequestDecision;
+ iRequestInfo->iRequestType=aRequestInfo->iRequestType;
+
+ const RPointerArray<CPosRequestor>& requestors = aRequestInfo->iRequestors;
+
+ TInt count = requestors.Count();
+ for(TInt i=0; i< count; i++ )
+ {
+ CPosRequestor::TRequestorIdFormat idFormat;
+ TPtrC idString;
+ idFormat=requestors[i]->RequestorIdFormat();
+ idString.Set(requestors[i]->RequestorIdString());
+
+ if( CPosRequestor::ERequestorService==requestors[i]->RequestType())
+ {
+ CPosServiceRequestor* service = CPosServiceRequestor::NewL(idFormat,idString);
+ CleanupStack::PushL(service);
+ // Ownership transferred
+ iRequestInfo->iRequestors.Append(service);
+ CleanupStack::Pop(service);
+ }
+ else
+ {
+ CPosContactRequestor* contact = CPosContactRequestor::NewL(idFormat,idString);
+ CleanupStack::PushL(contact);
+ // Ownership transferred
+ iRequestInfo->iRequestors.Append(contact);
+ CleanupStack::Pop(contact);
+ }
+
+ }
+ }
+
+
+
+void CLpdGlobalPluginDialog::Cancel()
+ {
+ // Close any running dialogs if any.Close() doesnt have any effect if dialog is not running
+ isCancelled = ETrue;
+ iMsgBox->Cancel();
+ iNotification->Close();
+ }
+
+void CLpdGlobalPluginDialog::NotificationDialogActivated(
+ const CHbDeviceNotificationDialogSymbian */*aDialog*/)
+ {
+ // Complete with KErrNone now
+ TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrNone ));
+ }
+
+void CLpdGlobalPluginDialog::NotificationDialogClosed(
+ const CHbDeviceNotificationDialogSymbian */*aDialog*/,
+ TInt aCompletionCode)
+ {
+ TRAP_IGNORE(iCallBack.HandleDlgDismissedL( aCompletionCode ));
+ }
+
+void CLpdGlobalPluginDialog::DataReceived(CHbSymbianVariantMap& /*aData*/)
+ {
+ mDissmissed = ETrue;
+ TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrAccessDenied ));
+ }
+
+void CLpdGlobalPluginDialog::DeviceDialogClosed(TInt /*aCompletionCode*/)
+ {
+ if (!mDissmissed && !isCancelled)
+ {
+ TRAP_IGNORE(iCallBack.HandleDlgDismissedL( KErrNone ));
+ }
+ }
+
+void CLpdGlobalPluginDialog::AddVerDlgHeadingParamL()
+ {
+ HBufC* headingText = HbTextResolverSymbian::LoadL(KRequestHeading);
+ CleanupStack::PushL(headingText);
+ CHbSymbianVariant* heading = CHbSymbianVariant::NewL(headingText,
+ CHbSymbianVariant::EDes);
+ CleanupStack::PushL(heading);
+ mSymbianVariantMap->Add(KHeadingKey, heading );
+ CleanupStack::Pop(heading);
+ CleanupStack::PopAndDestroy(headingText);
+ }
+
+void CLpdGlobalPluginDialog::AddQueryTextParamL()
+ {
+ HBufC * value = HBufC::NewL(KVariantMaxSize);
+ CleanupStack::PushL(value);
+ HBufC * value2 = HBufC::NewL(KVariantMaxSize);
+ CleanupStack::PushL(value2);
+ HBufC* requestorText = HbTextResolverSymbian::LoadL(KRequestorText);
+ CleanupStack::PushL(requestorText);
+
+ if (CPosRequestor::ERequestSingleShot == iRequestInfo->iRequestType)
+ {
+ if (EPosDecisionNotAvailable == iRequestInfo->iRequestDecision)
+ {
+ HBufC* queryText = HbTextResolverSymbian::LoadL(
+ KSingleshotDecisionNotAvailable);
+ CleanupStack::PushL(queryText);
+ value->Des().Copy(queryText->Des());
+ CleanupStack::PopAndDestroy(queryText);
+ }
+ else if (EPosDecisionAccepted == iRequestInfo->iRequestDecision)
+ {
+ HBufC* queryText = HbTextResolverSymbian::LoadL(
+ KSingleshotDecisionAccepted);
+ CleanupStack::PushL(queryText);
+ value->Des().Copy(queryText->Des());
+ value2->Des().Copy(requestorText->Des());
+ CleanupStack::PopAndDestroy(queryText);
+ }
+ else if (EPosDecisionRejected == iRequestInfo->iRequestDecision)
+ {
+ HBufC* queryText = HbTextResolverSymbian::LoadL(
+ KSingleshotDecisionRejected);
+ CleanupStack::PushL(queryText);
+ value->Des().Copy(queryText->Des());
+ value2->Des().Copy(requestorText->Des());
+ CleanupStack::PopAndDestroy(queryText);
+ }
+ }
+
+ else if (CPosRequestor::ERequestPeriodic == iRequestInfo->iRequestType)
+ {
+ if (EPosDecisionNotAvailable == iRequestInfo->iRequestDecision)
+ {
+ HBufC* queryText = HbTextResolverSymbian::LoadL(
+ KPeriodicDecisionNotAvailable);
+ CleanupStack::PushL(queryText);
+ value->Des().Copy(queryText->Des());
+ CleanupStack::PopAndDestroy(queryText);
+ }
+ else if (EPosDecisionAccepted == iRequestInfo->iRequestDecision)
+ {
+ HBufC* queryText = HbTextResolverSymbian::LoadL(
+ KPeriodicDecisionAccepted);
+ CleanupStack::PushL(queryText);
+ value->Des().Copy(queryText->Des());
+ value2->Des().Copy(requestorText->Des());
+ CleanupStack::PopAndDestroy(queryText);
+ }
+ else if (EPosDecisionRejected == iRequestInfo->iRequestDecision)
+ {
+ HBufC* queryText = HbTextResolverSymbian::LoadL(
+ KPeriodicDecisionRejected);
+ CleanupStack::PushL(queryText);
+ value->Des().Copy(queryText->Des());
+ value2->Des().Copy(requestorText->Des());
+ CleanupStack::PopAndDestroy(queryText);
+ }
+ }
+ else
+ {
+ // Not supported
+ User::Leave(KErrNotSupported);
+ }
+
+ CHbSymbianVariant* queryText = CHbSymbianVariant::NewL(value,
+ CHbSymbianVariant::EDes);
+ CleanupStack::PushL(queryText);
+
+ CHbSymbianVariant* queryText2 = CHbSymbianVariant::NewL(value2,
+ CHbSymbianVariant::EDes);
+ CleanupStack::PushL(queryText2);
+
+ if (value2->Length()!= 0)
+ {
+ mSymbianVariantMap->Add(KQueryText2Key, queryText2);
+ }
+ mSymbianVariantMap->Add(KQueryTextKey, queryText);
+ CleanupStack::Pop(queryText2);
+ CleanupStack::Pop(queryText);
+ CleanupStack::PopAndDestroy(3);
+ }
+
+void CLpdGlobalPluginDialog::AddRequestorsParamL()
+ {
+
+ CDesC16ArrayFlat* array = new CDesC16ArrayFlat(8);
+ TInt reqCount = iRequestInfo->iRequestors.Count();
+ if (!reqCount)
+ {
+ HBufC* requestor = HbTextResolverSymbian::LoadL(KUnknownRequestor);
+ CleanupStack::PushL(requestor);
+ array->AppendL(requestor->Des());
+ CleanupStack::PopAndDestroy(requestor);
+ }
+ else
+ {
+ for (TInt i = 0; i < reqCount; ++i)
+ {
+ array->AppendL(iRequestInfo->iRequestors[i]->RequestorIdString());
+ }
+ }
+
+ TInt count = array->MdcaCount();
+ MDesCArray* marray = static_cast<MDesCArray*> (array);
+ CHbSymbianVariant* requestors = CHbSymbianVariant::NewL(marray,
+ CHbSymbianVariant::EDesArray);
+ mSymbianVariantMap->Add(KRequestorKey, requestors);
+ }
+
+// End of file
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdnotifierquerylauncher.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* 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: Class which handles the dialog and expiration timer.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdnotifierquerylauncher.h"
+#include "lpdglobalplugindialog.h"
+
+#include "lpdresulthandler.h"
+#include <lbs/epos_privacy.h>
+
+// CONSTANTS
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::CLpdNotifierQueryLauncher
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdNotifierQueryLauncher::CLpdNotifierQueryLauncher(
+ MLpdResultHandler& aHandler )
+ : CLpdQueryLauncherBase( aHandler )
+ {
+ // Intentionally empty
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLpdNotifierQueryLauncher::ConstructL()
+ {
+ CLpdQueryLauncherBase::ConstructL();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdNotifierQueryLauncher* CLpdNotifierQueryLauncher::NewL(
+ MLpdResultHandler& aHandler )
+ {
+ CLpdNotifierQueryLauncher* self = new( ELeave )
+ CLpdNotifierQueryLauncher( aHandler );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ return self;
+ }
+
+// Destructor
+CLpdNotifierQueryLauncher::~CLpdNotifierQueryLauncher()
+ {
+ // Intentionally empty
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::ExtendedHandleDlgDismissedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdNotifierQueryLauncher::ExtendedHandleDlgDismissedL()
+ {
+ iHandler.HandleNotificationResultL( iResult );
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdNotifierQueryLauncher::RequestType
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdNotifierQueryLauncher::RequestType(TRequestType& aRequestType)
+ {
+ aRequestType = CLpdQueryLauncherBase::ENotification;
+ }
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdquerylauncherbase.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,142 @@
+/*
+* 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: Abstract base class for queries.
+*
+*/
+
+
+// INCLUDE FILES
+
+#include "lpdquerylauncherbase.h"
+#include "lpdresulthandler.h"
+#include "lpdrequestorprocessor.h"
+
+#include "lpdglobalplugindialog.h"
+
+
+// CONSTANTS
+
+// Unnamed namespace for local definitions
+
+#ifdef _DEBUG
+//_LIT( KPanicText, "CLpdQueryLauncherBase" );
+enum TPanicCode
+ {
+ KLpdErrGeneral = 1
+ };
+#endif
+
+// INCLUDE FILES
+#include <s32mem.h>
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::CLpdQueryLauncherBase
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdQueryLauncherBase::CLpdQueryLauncherBase( MLpdResultHandler& aHandler )
+ : iHandler( aHandler ),
+ iResult( KErrArgument ),
+ iQueryDlg( NULL )
+ {
+ }
+
+
+
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::~CLpdQueryLauncherBase
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CLpdQueryLauncherBase::~CLpdQueryLauncherBase()
+ {
+ delete iQueryDlg;
+ iQueryDlg = NULL;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::ConstructL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::ConstructL()
+ {
+ iQueryDlg = CLpdGlobalPluginDialog::NewL(*this);
+ }
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::SetQueryTextArray
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::SetRequestInfoL( CLpdRequestorProcessor* aRequestInfo )
+ {
+ iQueryDlg->SetRequestInfoL(aRequestInfo);
+ }
+
+void CLpdQueryLauncherBase::RequestType(TRequestType& aRequestType)
+ {
+ aRequestType = EUnknown;
+ }
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::StartQueryL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::StartQueryL()
+ {
+ TRequestType type;
+ RequestType( type );
+ if( EVerification == type )
+ {
+ iQueryDlg->RunVerificationQueryL();
+ }
+ else if( ENotification == type )
+ {
+ iQueryDlg->RunNotificationL();
+ }
+ else
+ {
+ // do nothing now
+ }
+
+ }
+
+void CLpdQueryLauncherBase::Cancel()
+ {
+ iQueryDlg->Cancel();
+ }
+// -----------------------------------------------------------------------------
+// CLpdQueryLauncherBase::HandleDlgDismissedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdQueryLauncherBase::HandleDlgDismissedL(
+ TInt aResult )
+ {
+
+ iResult = aResult;
+
+ TRAPD( err, ExtendedHandleDlgDismissedL() );
+ if ( err )
+ {
+ iHandler.HandleLeave( err );
+ }
+
+ }
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestao.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* 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: Active object which ensures that current call stack is run to
+* completion before a new request is handled
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdrequestao.h"
+#include "lpdverifierplugin.h"
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_rposrequestorstack.h>
+
+// ================= MEMBER FUNCTIONS =======================
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::CLpdRequestAO
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestAO::CLpdRequestAO( CLpdVerifierPlugin& aPlugin )
+ : CActive( CActive::EPriorityHigh ), iPlugin( aPlugin )
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestAO* CLpdRequestAO::NewL( CLpdVerifierPlugin& aPlugin )
+ {
+ CLpdRequestAO* self = new( ELeave ) CLpdRequestAO( aPlugin );
+ CActiveScheduler::Add(self);
+ // Nothing to do in the Second Phase Constructor
+ return self;
+ }
+
+// Destructor
+CLpdRequestAO::~CLpdRequestAO()
+ {
+ Cancel();
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::ScheduleRequest
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestAO::ScheduleRequest()
+ {
+ Cancel();
+ SetActive();
+ TRequestStatus* status = &iStatus;
+ User::RequestComplete( status, KErrNone );
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::RunL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestAO::RunL()
+ {
+ iPlugin.HandleNextRequest();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestAO::DoCancel
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestAO::DoCancel()
+ {
+ // Not important with this AO
+ }
+
+
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdrequestorprocessor.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,157 @@
+/*
+* 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: Processes requestor related data.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdrequestorprocessor.h"
+#include "contactresolversession.h"
+
+#include "locverifierdlgdebug.h"
+#include <lbs/epos_cposrequestor.h>
+#include <lbs/epos_cposcontactrequestor.h>
+#include <lbs/epos_cposservicerequestor.h>
+#include <epos_cposprivacynotifier.h>
+
+
+// Unnamed namespace for local definitions
+
+const TInt KRequestorsGranularity = 5;
+#ifdef _DEBUG
+_LIT( KPanicText, "CLpdRequestorProcessor" );
+enum TPanicCode
+ {
+ KLpdErrGeneral = 1
+ };
+#endif
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::CLpdRequestorProcessor
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestorProcessor::CLpdRequestorProcessor()
+: iRequestors( KRequestorsGranularity)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdRequestorProcessor* CLpdRequestorProcessor::NewL()
+ {
+ CLpdRequestorProcessor* self = new( ELeave ) CLpdRequestorProcessor;
+ // Nothing to do in the Second Phase Constructor
+ return self;
+ }
+
+// Destructor
+CLpdRequestorProcessor::~CLpdRequestorProcessor()
+ {
+ iRequestors.ResetAndDestroy();
+ iRequestors.Close();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::ReadRequestorsL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CLpdRequestorProcessor::ReadRequestorsL(
+ const CPosPrivacyNotifier& aPosNotifier )
+ {
+ __ASSERT_DEBUG( aPosNotifier.CurrentRequest() != KPosNullQNRequestId,
+ HandleAssertErrorL() );
+
+ this->ResetAndDestroyRequestors();
+
+ TBool allRequestorIdsValid = ETrue;
+
+ // Let's read the requestors associated with the current request:
+ TInt nofRequestors = aPosNotifier.RequestorCountL();
+
+ for ( TInt i = 0; i < nofRequestors; i++ )
+ {
+ CPosRequestor* requestor = aPosNotifier.RequestorLC( i );
+
+ if ( RequestorIdValid( *requestor ) )
+ { // mark that some requestor id is invalid
+ allRequestorIdsValid = EFalse;
+ }
+
+ User::LeaveIfError( iRequestors.Append( requestor ) );
+ CleanupStack::Pop( requestor ); // iRequestors owns now the requestor
+ }
+
+ if ( nofRequestors == 0 )
+ {
+ allRequestorIdsValid = EFalse; // zero requestors == invalid
+ }
+
+ RContactResolverSession resSession;
+ TInt err = resSession.Connect();
+
+ // If any error in connection,dont leave.Use un-resolved requestors
+ if( KErrNone == err )
+ {
+ resSession.ResolveRequestorsL(iRequestors);
+ }
+ resSession.Close();
+
+ return allRequestorIdsValid;
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::ResetAndDestroyRequestors
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestorProcessor::ResetAndDestroyRequestors()
+ {
+ iRequestors.ResetAndDestroy();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::RequestorIdValid
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+TBool CLpdRequestorProcessor::RequestorIdValid(
+ const CPosRequestor& aRequestor )
+ {
+ return( aRequestor.RequestorIdFormat() != CPosRequestor::EIdFormatUnknown );
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdRequestorProcessor::HandleAssertErrorL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdRequestorProcessor::HandleAssertErrorL() const
+ {
+ #ifdef _DEBUG
+ User::Panic( KPanicText, KLpdErrGeneral );
+ #else
+ User::Leave( KErrCorrupt );
+ #endif
+ }
+// end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierplugin.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,552 @@
+/*
+ * 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: Verifier plug-in which derives from CPosPrivacyNotifier.
+ *
+ */
+
+// INCLUDE FILES
+
+#include "lpdverifierplugin.h"
+
+#include "lpdrequestao.h"
+#include "lpdrequestorprocessor.h"
+#include "lpdverifierquerylauncher.h"
+#include "lpdnotifierquerylauncher.h"
+#include "locverifierdlgdebug.h"
+#include "locutilsdebug.h"
+
+#include <eiknotapi.h>
+#include <lbs/epos_rposrequestorstack.h>
+#include <epos_csuplsettingsconstants.h>
+
+// INCLUDE FILES
+#include <s32mem.h>
+
+
+
+const TInt KPrivSrvSecureId = 0x10281D45;
+// CONSTANTS
+
+// Unnamed namespace for local definitions
+
+const MEikSrvNotifierBase2::TNotifierPriority KNotifierPriority =
+ MEikSrvNotifierBase2::ENotifierPriorityHigh;
+const TUid KNotifierChannel =
+ {
+ 0x100065ac
+ };
+#ifdef _DEBUG
+_LIT( KPanicText, "CLpdVerifierPlugin" );
+enum TPanicCode
+ {
+ KLpdErrGeneral = 1
+ };
+#endif
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::CLpdVerifierPlugin
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierPlugin::CLpdVerifierPlugin() :
+ iCurrentRequest(KPosNullQNRequestId)
+
+ {
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::ConstructL()
+ {
+ BaseConstructL(KNotifierChannel, KNotifierPriority);
+
+ iRtorProcessor = CLpdRequestorProcessor::NewL();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierPlugin* CLpdVerifierPlugin::NewL()
+ {
+ CLpdVerifierPlugin* self = new (ELeave) CLpdVerifierPlugin;
+
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ return self;
+ }
+
+// Destructor
+CLpdVerifierPlugin::~CLpdVerifierPlugin()
+ {
+ // Destruction of this plugin should only occur only in shutdown
+ // or in severe problem situation.
+
+ // A very special scenario is that base class construction leaves and
+ // this destructor is called. In that case CompleteAllRequests() causes
+ // access violation (noticed this by checking source code of base class).
+ if (NotifierBase())
+ { // base class has been fully constructed, method call is safe
+ CompleteAllRequests(KErrGeneral);
+ }
+
+ // It is enough to delete queries so when don't get callbacks.
+ FreeQueryResources();
+
+ delete iRequestActiveObject;
+ iRequestActiveObject = NULL;
+ delete iRtorProcessor;
+ iRtorProcessor = NULL;
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNewRequestL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNewRequestL(TPosQNRequestId /*aRequestId */ )
+ {
+ LOCVERIFIERDLGDEBUG( "CLpdVerifierPlugin::HandleNewRequestL" );
+
+ // Check whether the notifier is already handling a request
+ // If yes, do nothing for now.
+ if (iRequestActiveObject)
+ {
+ return;
+ }
+ else
+ {
+ iRequestActiveObject = CLpdRequestAO::NewL(*this);
+ iRequestActiveObject->ScheduleRequest();
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleRequestCancelled
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleRequestCancelled(TPosQNRequestId aRequestId)
+ {
+ LOCVERIFIERDLGDEBUG( "CLpdVerifierPlugin::HandleRequestCancelled" );
+ // Check whether the request is coming from Uikon Server.
+ // If not reject this request.
+ if (!CheckClientSecureId(KPrivSrvSecureId))
+ {
+ return;
+ }
+
+
+ if (aRequestId != iCurrentRequest)
+ {
+ return;
+ }
+
+
+ if (iCurrentRequestType == EQuery)
+ { // Verification was cancelled
+ __ASSERT_DEBUG( iVerifierQuery, HandleDebugAssertError() );
+ LOCVERIFIERDLGDEBUG( "Verification cancelled" );
+ iVerifierQuery->Cancel();
+ }
+ else
+ {
+ // It must be a notification then, this case is not probable but
+ // we can cancel the dialog if this would happen.
+ __ASSERT_DEBUG( iCurrentRequestType == ENotification,
+ HandleDebugAssertError() );
+ __ASSERT_DEBUG( iNotifier, HandleDebugAssertError() );
+ LOCVERIFIERDLGDEBUG( "Notification cancelled" );
+ iNotifier->Cancel();
+ }
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleAllRequestCancelled
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleAllRequestCancelled()
+ {
+ LOCVERIFIERDLGDEBUG( "CLpdVerifierPlugin::HandleAllRequestCancelled" );
+ if (iCurrentRequest != KPosNullQNRequestId)
+ { // current request requires some specific behavior
+ HandleRequestCancelled(iCurrentRequest);
+ }
+
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleVerificationResultL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleVerificationResultL(TInt aResultCode)
+ {
+ iVerifyResult = aResultCode;
+
+ LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleVerificationResultL(%d)",
+ iVerifyResult );
+
+ switch (iVerifyResult)
+ {
+ case KErrNone: // fall through
+ case KErrAccessDenied:
+ {
+ // No need for rules now in 3.0
+ break;
+ }
+ case KErrTimedOut:
+ { // UI's internal timer expired
+ break;
+ }
+ case KErrCancel:
+ {
+ return; // don't handle next req. yet
+ }
+ case KErrAbort: // This is used for emergency call support
+ {
+ CompleteAllRequests(iVerifyResult);
+ // ScheduleRequest() allows the current call chain
+ // run to completion and resources are released after that.
+ iRequestActiveObject->ScheduleRequest();
+ return;
+ }
+ default:
+ {
+
+ break;
+ }
+ }
+
+ CompleteCurrentAndContinue(iVerifyResult); // this request was handled
+ }
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNotificationResultL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNotificationResultL(TInt aResultCode)
+ {
+
+ LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleVerificationResultL(%d)",
+ aResultCode );
+ CompleteRequest(iCurrentRequest, aResultCode);
+ iCurrentRequest = KPosNullQNRequestId;
+
+ switch (aResultCode)
+ {
+ case KErrNone: // fall through
+ case KErrTimedOut: // fall through
+ {
+ break;
+ }
+ case KErrCancel:
+ {
+ break;
+ }
+ case KErrAbort: // This is used for emergency call support
+ {
+ CompleteAllRequests(aResultCode);
+ // ScheduleRequest() -> allows the current call chain
+ // run to completion and resources are released after that.
+ break;
+ }
+ default:
+ {
+
+ break;
+ }
+ }
+
+ iRequestActiveObject->ScheduleRequest(); // handle next req.
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleLeave
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleLeave(TInt /*aError*/)
+ {
+ LOCVERIFIERDLGDEBUG1( "CLpdVerifierPlugin::HandleLeave(%d)", aError);
+ // In this case user needs feedback about the error situation:
+
+
+ // In case of leave current request is completed with
+ // iVerifyResult, but queue handling is still continued.
+ // iVerifyResult is better completion code for request than aError.
+ CompleteCurrentAndContinue(iVerifyResult);
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextRequest
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextRequest()
+ {
+ TRAPD( err, HandleNextRequestL() );
+ if (err)
+ {
+ // In case of leave current request is completed with
+ // error code, but queue handling is still continued.
+
+ // If we couldn't start handling the request it is
+ // better not to confuse user with an error note.
+
+ CompleteCurrentAndContinue(iVerifyResult);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextRequestL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextRequestL()
+ {
+
+ // It is better to free previous query resources here, because
+ // now all callback methods have finished (active object allowed
+ // run to completion)
+ this->FreeQueryResources();
+
+ // Read the next request:
+ RArray<TPosQNRequestId> requests;
+ CleanupClosePushL(requests);
+ GetRequestsL(requests);
+
+ if (requests.Count() == 0)
+ { // No more requests to handle
+ CleanupStack::PopAndDestroy(); // requests
+ // This is a very important step, it allows new requests
+ // to flow in ( see HandleNewRequestL() ):
+ delete iRequestActiveObject;
+ iRequestActiveObject = NULL;
+ return;
+ }
+ iCurrentRequest = requests[0];
+ CleanupStack::PopAndDestroy(); // requests
+ SetCurrentRequestL(iCurrentRequest);
+
+ // Check whether the request is coming from Uikon Server. If not reject this request.
+ if (!CheckClientSecureId(KPrivSrvSecureId))
+ {
+ CompleteCurrentAndContinue(KErrPermissionDenied);
+ return;
+ }
+
+ // Check the request type
+ iCurrentRequestType = RequestTypeL(iCurrentRequest);
+
+ iRtorProcessor->ReadRequestorsL(*this);
+
+
+
+ if (iCurrentRequestType == EQuery)
+ {
+ LOCVERIFIERDLGDEBUG( "New verification request received" );
+ HandleNextVerificationL();
+ }
+ else if (iCurrentRequestType == ENotification)
+ {
+ LOCVERIFIERDLGDEBUG( "New notification request received" );
+ HandleNextNotificationL();
+ }
+ else
+ {
+ User::Leave(KErrNotSupported);
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextVerificationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextVerificationL()
+ {
+ __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
+ HandleAssertErrorL() );
+ __ASSERT_DEBUG( !iVerifierQuery, HandleAssertErrorL() );
+
+ CPosRequestor::TRequestType reqType;
+ if (CheckRequestTypeL() == CPosRequestor::ERequestPeriodic)
+ reqType = CPosRequestor::ERequestPeriodic;
+ else
+ reqType = CPosRequestor::ERequestSingleShot;
+
+ TPosRequestSource source(RequestSource());
+ if (source == EPosRequestSourceNotAvailable)
+ {
+ CompleteCurrentAndContinue(KErrNone);
+ }
+ else
+ {
+
+ TPosRequestDecision decision(QueryTimeoutStrategy());
+
+ iRtorProcessor->iRequestType=reqType;
+ iRtorProcessor->iRequestDecision=decision;
+ iRtorProcessor->iDialogType=CLpdRequestorProcessor::EQuery;
+
+ iVerifierQuery = CLpdVerifierQueryLauncher::NewL(*this);
+ // Ownership NOT transferred
+ iVerifierQuery->SetRequestInfoL(iRtorProcessor);
+
+ iVerifierQuery->StartQueryL();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextNotificationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextNotificationL()
+ {
+ __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
+ HandleAssertErrorL() );
+
+ // There is no differentiation now for periodic and single shot notifications
+ HandleNextNonPeriodicNotificationL();
+ }
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleNextNonPeriodicNotificationL()
+ {
+
+ __ASSERT_DEBUG( iCurrentRequest != KPosNullQNRequestId,
+ HandleAssertErrorL() );
+ __ASSERT_DEBUG( !iNotifier, HandleAssertErrorL() );
+
+ if (RequestSource() != EPosRequestSourceNetwork)
+ { // Notifications are supported only for network requests
+ User::Leave(KErrNotSupported);
+ }
+
+ TPosNotificationReason reason = NotificationReason();
+ TPosRequestDecision decision = LocationRequestDecision();
+ iRtorProcessor->iNotifReason=reason;
+ iRtorProcessor->iDialogType=CLpdRequestorProcessor::ENotification;
+ iRtorProcessor->iRequestDecision=decision;
+
+ iNotifier = CLpdNotifierQueryLauncher::NewL(*this);
+ iNotifier->SetRequestInfoL(iRtorProcessor);
+ iNotifier->StartQueryL();
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::CompleteCurrentAndContinue
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::CompleteCurrentAndContinue(TInt aResultCode)
+ {
+ if (iCurrentRequest != KPosNullQNRequestId)
+ {
+ CompleteRequest(iCurrentRequest, aResultCode);
+ }
+ iCurrentRequest = KPosNullQNRequestId;
+
+ __ASSERT_DEBUG( iRequestActiveObject, HandleDebugAssertError() );
+ iRequestActiveObject->ScheduleRequest(); // handle next req.
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::FreeQueryResources
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::FreeQueryResources()
+ {
+ iCurrentRequest = KPosNullQNRequestId;
+ delete iVerifierQuery;
+ iVerifierQuery = NULL;
+ iVerifyResult = KErrGeneral;
+ delete iNotifier;
+ iNotifier = NULL;
+ if (iRtorProcessor)
+ { // if already construction fails iRtorProcessor may
+ // be NULL, otherwise it points to an instance.
+ iRtorProcessor->ResetAndDestroyRequestors();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleAssertErrorL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleAssertErrorL() const
+ {
+#ifdef _DEBUG
+ User::Panic(KPanicText, KLpdErrGeneral);
+#else
+ User::Leave( KErrCorrupt );
+#endif
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::HandleDebugAssertError
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierPlugin::HandleDebugAssertError() const
+ {
+#ifdef _DEBUG
+ User::Panic(KPanicText, KLpdErrGeneral);
+#endif
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierPlugin::CheckRequestTypeL
+// Checks the type of request and helps to know
+// if a given request is of SUPL periodic type
+// @param aCurrentRequest request id
+// @return TRequestType type of request enum
+// -----------------------------------------------------------------------------
+CPosRequestor::TRequestType CLpdVerifierPlugin::CheckRequestTypeL()
+ {
+ CPosRequestor::TRequestType reqType = CPosRequestor::ENetworkTypeUnknown;
+ if (RequestorCountL() > 0)
+ {
+ CPosRequestor* requestor = RequestorLC(0);
+ reqType = requestor->RequestType();
+ CleanupStack::PopAndDestroy(requestor);
+ }
+ return reqType;
+ }
+
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/locverifier/src/lpdverifierquerylauncher.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* 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: Class which handles the dialog and expiration timer.
+*
+*/
+
+
+// INCLUDE FILES
+#include "lpdverifierquerylauncher.h"
+#include "lpdglobalplugindialog.h"
+#include "lpdresulthandler.h"
+
+// CONSTANTS
+
+
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::CLpdVerifierQueryLauncher
+// C++ default constructor can NOT contain any code, that
+// might leave.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierQueryLauncher::CLpdVerifierQueryLauncher(
+ MLpdResultHandler& aHandler )
+ : CLpdQueryLauncherBase( aHandler )
+ {
+ // Intentionally empty
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::ConstructL
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierQueryLauncher::ConstructL()
+ {
+ CLpdQueryLauncherBase::ConstructL();
+ }
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CLpdVerifierQueryLauncher* CLpdVerifierQueryLauncher::NewL(
+ MLpdResultHandler& aHandler )
+ {
+ CLpdVerifierQueryLauncher* self =
+ new( ELeave ) CLpdVerifierQueryLauncher( aHandler );
+
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ return self;
+ }
+
+// Destructor
+CLpdVerifierQueryLauncher::~CLpdVerifierQueryLauncher()
+ {
+ // Intentionally empty
+ }
+
+
+// -----------------------------------------------------------------------------
+// CLpdVerifierQueryLauncher::ExtendedHandleDlgDismissedL
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+void CLpdVerifierQueryLauncher::ExtendedHandleDlgDismissedL()
+ {
+ iHandler.HandleVerificationResultL( iResult );
+ }
+
+void CLpdVerifierQueryLauncher::RequestType(TRequestType& aRequestType)
+ {
+ aRequestType = CLpdQueryLauncherBase::EVerification;
+ }
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/apilogger.h Wed Jun 23 18:40:52 2010 +0300
@@ -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
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/customdocumentloader.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,49 @@
+/*
+ * 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: Header file for Custom docml loader
+ *
+ */
+
+
+#ifndef CUSTOMDOCUMENTLOADER_H
+#define CUSTOMDOCUMENTLOADER_H
+#include <hbdocumentloader.h>
+
+//Forward Declarations
+
+class CustomDocumentLoader : public HbDocumentLoader
+{
+
+public:
+
+ /**
+ * Constructor.
+ */
+ CustomDocumentLoader();
+
+ /**
+ * Destructor.
+ */
+ ~CustomDocumentLoader();
+
+public:
+
+ /**
+ * from base class
+ */
+ QObject *createObject(const QString& type, const QString &name);
+
+};
+
+#endif /* CUSTOMDOCUMENTLOADER_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/posverificationcustomdialog.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,218 @@
+/*
+ * 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: Header file for Custom PosVerification dialog
+ *
+ */
+
+#ifndef POSVERIFICATIONCUSTOMDIALOG_H
+#define POSVERIFICATIONCUSTOMDIALOG_H
+
+#include <hbdialog.h>
+#include <hbdevicedialoginterface.h>
+#include <hblabel.h>
+#include <hbaction.h>
+
+
+class CustomDocumentLoader;
+
+class PosVerificationCustomDialog : public HbDialog,
+ public HbDeviceDialogInterface
+
+ {
+Q_OBJECT
+Q_PROPERTY( QString heading READ getHeading WRITE setHeading )
+Q_PROPERTY( QString queryText READ getQueryText WRITE setQueryText )
+Q_PROPERTY( QString queryText2 READ getQueryText2 WRITE setQueryText2 )
+Q_PROPERTY( QStringList requestor READ getRequestor WRITE setRequestor )
+
+public:
+
+ /*
+ * Constructor
+ */
+ PosVerificationCustomDialog();
+
+ /**
+ * Destructor
+ */
+ ~PosVerificationCustomDialog();
+
+public:
+ /**
+ * This method gets the widget from the application desginer docml file.
+ * param[in]- loader, instance of CustomDocumentLoader
+ */
+ void getWidgets(const CustomDocumentLoader &loader);
+
+ //from HbDeviceDialogInterface
+public:
+ /**
+ * Set device dialog widget parameters. This function may be called after the widget is created
+ * to update widget parameters. parameters contains widget parameters.The structure and meaning
+ * of parameters is a contract between the plugin and a client.
+ * @param[in] - parameters, QVariantMap, containing the key value pair for the properties
+ * @returns- bool, Returns true on success or false on failure.
+ */
+ bool setDeviceDialogParameters(const QVariantMap ¶meters);
+
+ /**
+ * Returns an error last occurred. Error code ranges are defined in HbDeviceDialog.
+ * The code is passed to a client by device dialog framework
+ * @returns- int, error code
+ */
+ int deviceDialogError() const;
+
+ /**
+ * Closes a device dialog widget gracefully. This function may called due to device dialog client
+ * calling HbDeviceDialog::cancel() or by device dialog service if it decides that a dialog needs
+ * to be closed. Device dialog widget may also close itself without this function being called.
+ * byClient is true if client initiated the closing. Otherwise the closing was initiated by the device
+ * dialog framework. The widget may also be deleted at any time ungracefully without closeDeviceDialog()
+ * being called.
+ */
+ void closeDeviceDialog(bool byClient);
+
+ /**
+ * Returns a pointer to a widget that implements the user interface of the device dialog.
+ * @returns- HbPopup, pointer to the widget
+ */
+ HbPopup * deviceDialogWidget() const;
+
+signals:
+ void deviceDialogClosed();
+ void deviceDialogData(QVariantMap data);
+
+private:
+
+ /**
+ * This method is used to set the name of requestors
+ * requesting for position, in the verification dialog
+ * @param [in] - requestorList, list of names of the requestors
+ */
+ void setRequestor(QStringList& requestorList);
+
+ /**
+ * This method is used to gets the name of requestors
+ * requesting for position, in the verification dialog
+ * @returns - QStringList, list of names of the requestors
+ */
+ QStringList getRequestor();
+
+ /**
+ * This method is used to set the heading for the dialog
+ * @param [in] - heading, string to be set as the heading for the dialog
+ */
+ void setHeading(QString& heading);
+
+ /**
+ * This method is used to get the heading for the dialog
+ * @returns - QString, heading for the dialog
+ */
+ QString getHeading();
+
+ /**
+ * This method is used to set the query text to be displayed, depending on the
+ * policy.
+ * @param [in] - textQuery, string to be set as the query for the dialog
+ */
+ void setQueryText(QString& textQuery);
+
+ /**
+ * This method is used to get the query text displayed, depending on the
+ * policy.
+ * @returns - QString, query for the dialog
+ */
+ QString getQueryText();
+
+ /**
+ * This method is used to set the query text to be displayed, depending on the
+ * policy.
+ * @param [in] - textQuery, string to be set as the query line 2 for the dialog
+ */
+ void setQueryText2(QString& textQuery);
+
+ /**
+ * This method is used to get the query text line 2 displayed, depending on the
+ * policy.
+ * @returns - QString, query line 2 for the dialog
+ */
+ QString getQueryText2();
+
+ /**
+ * This method sets the properties for the widget.
+ * The property value is validated before the property is set.
+ * @param[in] - parameters, QVariantMap, containing the key value pair for the properties
+ * @returns- bool, Returns true on success or false on failure.
+ */
+ bool setProperties(const QVariantMap& parameters);
+
+private slots:
+ /**
+ * This slot is called on acceting the query dialog
+ */
+ void posVerificationdlgAccepted();
+
+ /**
+ * This slot is called on rejecting the query dialog
+ */
+ void posVerificationdlgRejected();
+
+ //member data
+private:
+ /**
+ * heading label for the device dialog
+ * Owns
+ */
+ HbLabel * mHeadingLabel;
+
+ /**
+ * primary action (SK1) for the device dialog
+ * owns
+ */
+ HbAction * mPrimaryAction;
+
+ /**
+ * query text label
+ * owns
+ */
+ HbLabel * mQueryText;
+
+ /**
+ * query text label (line 2)
+ * Changes as per the first query text
+ * owns
+ */
+ HbLabel * mQueryText2;
+
+ /**
+ * Widget containing the list of the requestors
+ * owns
+ */
+ HbWidget * mRequestorList;
+
+ /**
+ * list of names of the reqestors
+ * owns
+ */
+ QStringList mRequestorListItems;
+
+ /**
+ * secondry action (SK2) for the device dialog
+ * owns
+ */
+ HbAction * mSecondryAction;
+
+ };
+
+#endif // POSVERIFICATIONCUSTOMDIALOG_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/inc/posverificationdialogplugin.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,109 @@
+/*
+ * 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: Header file for Custom PosVerification dialog
+ *
+ */
+
+#ifndef POSVERIFICATION_DIALOG_PLUGIN_H
+#define POSVERIFICATION_DIALOG_PLUGIN_H
+
+#include <hbdevicedialogplugin.h>
+#include <qtranslator.h>
+
+class PosVerificationDialogPlugin : public HbDeviceDialogPlugin
+ {
+Q_OBJECT
+
+public:
+ /**
+ * Constructor
+ */
+ PosVerificationDialogPlugin();
+
+ /**
+ * Destrcutor
+ */
+ ~PosVerificationDialogPlugin();
+
+ /**
+ * Checks if client is allowed use the device dialog that the plugin creates.
+ * Device dialog service calls this function before creating a device dialog or
+ * attaching into an existing one if flag HbDeviceDialogPlugin::SecurityCheck is set.
+ * The implementation is operating system dependent.
+ * @returns- bool, Returns true if client is allowed to use the device dialog.
+ * @param[in] - deviceDialogType Device dialog type.
+ * @param[in] - parameters Device dialog parameters.
+ * @param[in] - securityInfo Information for security check. Content is operating system dependent.
+ * The format is <key, value> pairs. Currently only Symbian is defined.
+ */
+
+ bool
+ accessAllowed(const QString ¬ificationType,
+ const QVariantMap ¶meters,
+ const QVariantMap &securityInfo) const;
+
+ /**
+ * Create a device dialog instance compatible with the version requested.
+ * This could always be the latest version if it is backwards compatible with older versions.
+ * Device dialog framework is unaware of version numbers in type strings. It performs string
+ * comparison of the whole string when searching for a plugin
+ * @param[in] - deviceDialogType Device dialog type.
+ * @param[in] - parameters Device dialog parameters.
+ * @returns - HbDeviceDialogInterface, device dialog instance
+ */
+
+ HbDeviceDialogInterface *createDeviceDialog(
+ const QString &deviceDialogType, const QVariantMap ¶meters);
+
+ /**
+ * Gets information of the device dialog created by the plugin. Device dialog manager calls
+ * this function before creating the device dialog widget to check HbDeviceDialogPlugin::DeviceDialogGroup,
+ * HbDeviceDialogPlugin::DeviceDialogFlag and priority.
+ * @returns - true if device dialog information returned is valid.
+ */
+
+ bool deviceDialogInfo(const QString &deviceDialogType,
+ const QVariantMap ¶meters, DeviceDialogInfo *info) const;
+
+ /**
+ * Returns a list of device dialog types the plugin implements. A plugin may implement
+ * several device dialog types. By convention device dialog type strings should follow
+ * inverted domain name format
+ * @returns - list of device dialog types
+ */
+ QStringList deviceDialogTypes() const;
+
+ /**
+ * @returns - plugin flags
+ */
+ HbDeviceDialogPlugin::PluginFlags pluginFlags() const;
+
+ /**
+ * Returns an error last occurred. Error code ranges are defined in HbDeviceDialog. The code
+ * is passed to a client by device dialog framework
+ * @returns- errorcode
+ */
+ int error() const;
+
+private:
+
+
+ /**
+ * instance of translator
+ * owns
+ */
+ QTranslator * mTranslator;
+ };
+
+#endif // POSVERIFICATION_DIALOG_PLUGIN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/posverificationdialogplugin.pro Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,48 @@
+# Copyright (c) 2009 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: project file for positioing settings in control panel
+TEMPLATE = lib
+TARGET = posverificationdialogplugin
+DEPENDPATH += .
+INCLUDEPATH += ../inc
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE
+CONFIG += hb \
+ plugin
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+RESOURCES = resources/posverificationdialog.qrc
+
+#Uncomment following line to disable logging
+#DEFINES += QT_NO_DEBUG_OUTPUT
+
+# Platforms
+SYMBIAN_PLATFORMS = WINSCW \
+ ARMV5
+symbian::TARGET.UID3 = 0x2002E718
+SOURCES += src/apilogger.cpp \
+ src/posverificationdialogplugin.cpp \
+ src/customdocumentloader.cpp \
+ src/posverificationcustomdialog.cpp
+HEADERS += inc/apilogger.h \
+ inc/posverificationdialogplugin.h \
+ inc/customdocumentloader.h \
+ inc/posverificationcustomdialog.h
+symbian: {
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.EPOCALLOWDLLDATA = 1
+ pluginstub.sources = posverificationdialogplugin.dll
+
+ # This is for new exporting system coming in garden
+ for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+ pluginstub.path = /resource/plugins/devicedialogs
+ DEPLOYMENT += pluginstub
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/resources/posverificationcustomdialog.docml Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <object name="qtl_dialog_softkey_2_left" type="HbAction">
+ <string name="role" value="HbDialog:primaryAction"/>
+ <string locid="txt_loe_button_accept" name="text" value="Accept"/>
+ </object>
+ <object name="qtl_dialog_softkey_2_right" type="HbAction">
+ <string name="role" value="HbDialog:secondaryAction"/>
+ <string locid="txt_common_button_reject" name="text" value="Reject"/>
+ </object>
+ <widget name="PosVerificationCustomDialog" type="PosVerificationCustomDialog">
+ <sizehint height="42.38806un" type="PREFERRED" width="50.5un"/>
+ <widget name="heading" role="HbDialog:headingWidget" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <string name="plainText" value="Location request"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="scrollArea" role="HbDialog:contentWidget" type="HbScrollArea">
+ <widget name="containerWidget" role="HbScrollArea:contents" type="HbWidget">
+ <widget name="container_2" type="HbWidget">
+ <widget name="queryText_1" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignLeft|AlignLeading"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint height="14un" type="PREFERRED" width="5.67164un"/>
+ <sizehint height="14un" type="MINIMUM"/>
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="0" top="0"/>
+ <sizehint type="MAXIMUM" width="50un"/>
+ <string name="plainText" value="Your location will be shared by default if you don't respond"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="requestors" type="HbWidget">
+ <real name="z" value="0"/>
+ <sizehint height="23.8806un" type="PREFERRED" width="23.8806un"/>
+ <layout type="stacked"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizehint height="29.25373un" type="PREFERRED" width="49.85075un"/>
+ <sizehint height="2504062.01158un" type="MAXIMUM"/>
+ <layout orientation="Vertical" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-popup)" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="queryText_1"/>
+ <linearitem itemname="requestors"/>
+ </layout>
+ </widget>
+ <real name="z" value="0"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint height="50un" type="PREFERRED" width="50un"/>
+ <sizehint height="2504062.01158un" type="MAXIMUM"/>
+ <layout type="anchor">
+ <anchoritem dst="container_2" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container_2" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <real name="z" value="1"/>
+ </widget>
+ <ref object="qtl_dialog_softkey_2_left" role="HbWidget:addAction"/>
+ <ref object="qtl_dialog_softkey_2_right" role="HbWidget:addAction"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/resources/posverificationdialog.qrc Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/xml" >
+ <file alias="posverificationcustomdialog.docml" >posverificationcustomdialog.docml</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/apilogger.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -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//posverificationdlg.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();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/customdocumentloader.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,53 @@
+/*
+ * 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 implements the custom dialog loader for posverification dialogs
+ *
+ */
+
+#include "customdocumentloader.h"
+#include "posverificationcustomdialog.h"
+
+// ---------------------------------------------------------------------------
+// CustomDocumentLoader::CustomDocumentLoader()
+// ---------------------------------------------------------------------------
+//
+CustomDocumentLoader::CustomDocumentLoader()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CustomDocumentLoader::~CustomDocumentLoader()
+// ---------------------------------------------------------------------------
+//
+CustomDocumentLoader::~CustomDocumentLoader()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CustomDocumentLoader::createObject
+// ---------------------------------------------------------------------------
+//
+QObject *CustomDocumentLoader::createObject(const QString& type,
+ const QString &name)
+ {
+ //for CustomDialog
+ if (type == PosVerificationCustomDialog::staticMetaObject.className())
+ {
+ QObject *object = new PosVerificationCustomDialog;
+ object->setObjectName(name);
+ return object;
+ }
+ //default case
+ return HbDocumentLoader::createObject(type, name);
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationcustomdialog.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,336 @@
+/*
+ * 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 implements the custom dialog for positioning verification dialogs
+ *
+ */
+
+#include "posverificationcustomdialog.h"
+#include "customdocumentloader.h"
+
+#include <QtDebug>
+#include <qgraphicsgridlayout.h>
+#include <qsizepolicy.h>
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::PosVerificationCustomDialog
+//---------------------------------------------------------------
+PosVerificationCustomDialog::PosVerificationCustomDialog() :
+ mHeadingLabel(NULL), mPrimaryAction(NULL), mQueryText(NULL), mQueryText2(
+ NULL), mRequestorList(NULL), mRequestorListItems(NULL),
+ mSecondryAction(NULL)
+ {
+ qDebug() << "PosVerificationCustomDialog::PosVerificationCustomDialog()";
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::~PosVerificationCustomDialog
+//---------------------------------------------------------------
+PosVerificationCustomDialog::~PosVerificationCustomDialog()
+ {
+ 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;
+
+ qDebug()
+ << "-PosVerificationCustomDialog::~PosVerificationCustomDialog()";
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setProperties
+// Set properties
+//---------------------------------------------------------------
+
+bool PosVerificationCustomDialog::setProperties(const QVariantMap& parameters)
+ {
+ qDebug() << "+PosVerificationCustomDialog::setProperties()";
+ QVariantMap::const_iterator i = parameters.constBegin();
+ while (i != parameters.constEnd())
+ {
+ QByteArray key = i.key().toAscii();
+ qDebug() << "-PosVerificationCustomDialog::setProperties(): Key is "
+ << key;
+ qDebug() << "-PosVerificationCustomDialog::setProperties(): data is "
+ << key.constData();
+ //check for the validity of the data
+ if (property(key.constData()).isValid())
+ {
+ //sets the property values
+ setProperty(key.constData(), i.value());
+ }
+ else
+ {
+ qDebug()
+ << "-PosVerificationCustomDialog::setProperties(): value - false";
+ return false;
+ }
+ ++i;
+ }
+ qDebug() << "-PosVerificationCustomDialog::setProperties()";
+ return true;
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setDeviceDialogParameters
+//---------------------------------------------------------------
+bool PosVerificationCustomDialog::setDeviceDialogParameters(
+ const QVariantMap ¶meters)
+ {
+ qDebug() << "+PosVerificationCustomDialog::setDeviceDialogParameters()";
+ setModal(true);
+ setTimeout(HbPopup::NoTimeout);
+ qDebug() << "-PosVerificationCustomDialog::setDeviceDialogParameters()";
+ return setProperties(parameters);
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::deviceDialogError
+//---------------------------------------------------------------
+int PosVerificationCustomDialog::deviceDialogError() const
+ {
+ qDebug() << "PosVerificationCustomDialog::deviceDialogError()";
+ return 0;
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::closeDeviceDialog
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::closeDeviceDialog(bool byClient)
+ {
+ qDebug() << "+PosVerificationCustomDialog::closeDeviceDialog()";
+ Q_UNUSED(byClient);
+ close();
+ emit
+ deviceDialogClosed();
+ qDebug() << "-PosVerificationCustomDialog::closeDeviceDialog()";
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::deviceDialogWidget
+//---------------------------------------------------------------
+HbPopup* PosVerificationCustomDialog::deviceDialogWidget() const
+ {
+ qDebug() << "PosVerificationCustomDialog::deviceDialogWidget()";
+ return const_cast<PosVerificationCustomDialog*> (this);
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setHeading
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setHeading(QString& heading)
+ {
+ qDebug() << "+PosVerificationCustomDialog::setHeading()" << heading;
+ mHeadingLabel->setPlainText(heading);
+ qDebug() << "-PosVerificationCustomDialog::setHeading()";
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getHeading
+//---------------------------------------------------------------
+QString PosVerificationCustomDialog::getHeading()
+ {
+ qDebug() << "PosVerificationCustomDialog::getHeading()";
+ return mHeadingLabel->plainText();
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setQueryText
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setQueryText(QString& textQuery)
+ {
+ qDebug() << "+PosVerificationCustomDialog::setQueryText()" << textQuery;
+ mQueryText->setPlainText(textQuery);
+ qDebug() << "-PosVerificationCustomDialog::setQueryText()";
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getQueryText
+//---------------------------------------------------------------
+QString PosVerificationCustomDialog::getQueryText()
+ {
+ qDebug() << "PosVerificationCustomDialog::getQueryText()";
+ return mQueryText->plainText();
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setQueryText2
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setQueryText2(QString& textQuery)
+ {
+ qDebug() << "+PosVerificationCustomDialog::setQueryText2()" << textQuery;
+ mQueryText2 = new HbLabel();
+ if (mQueryText2)
+ {
+ mQueryText2->clear();
+ mQueryText2->setPlainText(textQuery);
+ mQueryText2->setFontSpec(HbFontSpec(HbFontSpec::Primary));
+ }
+ qDebug() << "-PosVerificationCustomDialog::setQueryText2()";
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getQueryText2
+//---------------------------------------------------------------
+QString PosVerificationCustomDialog::getQueryText2()
+ {
+ qDebug() << "PosVerificationCustomDialog::getQueryText2()";
+ if (mQueryText2)
+ {
+ return mQueryText2->plainText();
+ }
+ return "";
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getWidgets
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::getWidgets(
+ const CustomDocumentLoader &loader)
+ {
+ qDebug() << "+PosVerificationCustomDialog::getWidgets()";
+
+ mHeadingLabel = qobject_cast<HbLabel*> (loader.findWidget("heading"));
+ Q_ASSERT_X((mHeadingLabel != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+ mQueryText = qobject_cast<HbLabel*> (loader.findWidget("queryText_1"));
+ Q_ASSERT_X((mQueryText != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+ mRequestorList
+ = qobject_cast<HbWidget*> (loader.findWidget("requestors"));
+ Q_ASSERT_X((mRequestorList != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+ mPrimaryAction = qobject_cast<HbAction*> (loader.findObject(
+ "qtl_dialog_softkey_2_left"));
+ Q_ASSERT_X((mPrimaryAction != 0), "PosVerificationCustomDialog", "invalid DocML file");
+ QObject::connect(mPrimaryAction, SIGNAL(triggered()), this,
+ SLOT(posVerificationdlgAccepted()));
+
+ mSecondryAction = qobject_cast<HbAction*> (loader.findObject(
+ "qtl_dialog_softkey_2_right"));
+ Q_ASSERT_X((mSecondryAction != 0), "PosVerificationCustomDialog", "invalid DocML file");
+
+ QObject::connect(mSecondryAction, SIGNAL(triggered()), this,
+ SLOT(posVerificationdlgRejected()));
+ qDebug() << "-PosVerificationCustomDialog::getWidgets()";
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::setRequestor
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::setRequestor(QStringList& requestorList)
+ {
+ qDebug() << "+PosVerificationCustomDialog::setRequestor()";
+ int rowadd = 1;
+ mRequestorListItems = requestorList;
+ QGraphicsGridLayout *layout = new QGraphicsGridLayout;
+ if (!layout)
+ {
+ qDebug() << "setRequestor(): Creating layout failed";
+ return;
+ }
+
+ qreal margin = 0;
+ qreal leftmargin = 0;
+ style()->parameter("hb-param-margin-gene-middle-vertical", margin);
+ style()->parameter("hb-param-margin-gene-popup", leftmargin);
+ QSizePolicy policy;
+ policy.setHorizontalPolicy(QSizePolicy::Preferred);
+ policy.setVerticalPolicy(QSizePolicy::Ignored);
+ if (mQueryText2)
+ {
+ mQueryText2->setSizePolicy(policy);
+ mQueryText2->setAlignment(Qt::AlignTop);
+ layout->addItem(mQueryText2, 1, 0);
+ layout->setRowSpacing(1, margin);
+ layout->setContentsMargins(leftmargin, 0, 0, 0);
+ rowadd = 2;
+ }
+
+ QStringList::const_iterator iterator;
+ for (iterator = requestorList.begin(); iterator != requestorList.end(); ++iterator)
+ {
+ int i = iterator - requestorList.begin();
+ HbLabel * requestorName = new HbLabel();
+ if (requestorName)
+ {
+ qDebug() << "setRequestor()" << *iterator;
+ requestorName->setFontSpec(HbFontSpec(HbFontSpec::Secondary));
+ requestorName->setPlainText(*iterator);
+ requestorName->setSizePolicy(policy);
+ requestorName->setAlignment(Qt::AlignTop);
+
+ layout->addItem(requestorName, i + rowadd, 0);
+ layout->setRowSpacing(i + rowadd, margin);
+ layout->setContentsMargins(leftmargin, 0, 0, 0);
+ }
+ }
+ mRequestorList->setSizePolicy(policy);
+ mRequestorList->setLayout(layout);
+ qDebug() << "-PosVerificationCustomDialog::setRequestor()";
+ }
+
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::getRequestor
+//---------------------------------------------------------------
+QStringList PosVerificationCustomDialog::getRequestor()
+ {
+ qDebug() << "PosVerificationCustomDialog::getRequestor()";
+ return mRequestorListItems;
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::posVerificationdlgAccepted
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::posVerificationdlgAccepted()
+ {
+ qDebug() << "+PosVerificationCustomDialog::posVerificationdlgAccepted()";
+ emit
+ deviceDialogClosed();
+ qDebug() << "-PosVerificationCustomDialog::posVerificationdlgAccepted()";
+ }
+//---------------------------------------------------------------
+//PosVerificationCustomDialog::posVerificationdlgRejected
+//---------------------------------------------------------------
+void PosVerificationCustomDialog::posVerificationdlgRejected()
+ {
+ qDebug() << "+PosVerificationCustomDialog::posVerificationdlgRejected()";
+ QVariantMap *data = new QVariantMap();
+ QVariant value(-21);
+ if (data)
+ {
+ data->insert("errorCode", value);
+ emit
+ deviceDialogData(*data);
+ }
+ //data is currently not being used in the client side
+ emit
+ deviceDialogClosed();
+ delete data;
+ qDebug() << "-PosVerificationCustomDialog::posVerificationdlgRejected()";
+ }
+
+// End of File
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/posverificationdialogplugin/src/posverificationdialogplugin.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,242 @@
+/*
+ * 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 file implements the plugin interface for positioning verification dialogs
+ *
+ */
+#include "posverificationdialogplugin.h"
+//User Includes
+#include "customdocumentloader.h"
+#include "posverificationcustomdialog.h"
+#include "apilogger.h"
+
+#include <QDebug>
+#include <QTCore>
+
+//Carbide Application docml file
+const char *POSVERFICATIONDIALOG_DOCML =
+ ":/xml/posverificationcustomdialog.docml";
+
+// This plugin implements one custom dialog type
+enum DeviceDlgType
+ {
+ PosVerificationDialogType
+ };
+static const struct
+ {
+ const char *mTypeString;
+ DeviceDlgType mType;
+ } verdlgtypes[] =
+ {
+ {
+ "hb.posverifiction.dialog/1.0", PosVerificationDialogType
+ }
+ };
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::PosVerificationDialogPlugin()
+// Constructor
+//-----------------------------------------------------------------------
+PosVerificationDialogPlugin::PosVerificationDialogPlugin() :
+ mTranslator(NULL)
+ {
+ qDebug() << "+PosVerificationDialogPlugin::PosVerificationDialogPlugin()";
+ mTranslator = new QTranslator();
+
+ QString lang = QLocale::system().name();
+ QString path = "z:/resource/qt/translations/";
+ QString altpath = "c://resource/";
+ bool loaded = false;
+ loaded = mTranslator->load(path + QString("lilocationmw_") + lang);
+ if (loaded == false)
+ {
+ loaded = mTranslator->load(altpath + QString("lilocationmw_") + lang);
+ }
+ if (loaded)
+ {
+ qApp->installTranslator(mTranslator);
+ }
+ //#ifndef QT_NO_DEBUG_OUTPUT
+ // ApiLogger::OpenLogFile();
+ // qInstallMsgHandler(ApiLogger::MyOutputHandler);
+ //#endif
+ qDebug() << "-PosVerificationDialogPlugin::PosVerificationDialogPlugin()";
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::~PosVerificationDialogPlugin()
+// Destructor
+//-----------------------------------------------------------------------
+PosVerificationDialogPlugin::~PosVerificationDialogPlugin()
+ {
+ qDebug()
+ << "+PosVerificationDialogPlugin::~PosVerificationDialogPlugin()";
+ if (mTranslator)
+ {
+ if (mTranslator->isEmpty() == false)
+ qApp->removeTranslator(mTranslator);
+ delete mTranslator;
+ }
+ qDebug()
+ << "-PosVerificationDialogPlugin::~PosVerificationDialogPlugin()";
+ //#ifndef QT_NO_DEBUG_OUTPUT
+ // ApiLogger::CloseLogFile();
+ //#endif
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::accessAllowed
+// Check if client is allowed to use device dialog widget
+//-----------------------------------------------------------------------
+bool PosVerificationDialogPlugin::accessAllowed(
+ const QString &deviceDialogType, const QVariantMap ¶meters,
+ const QVariantMap &securityInfo) const
+ {
+ qDebug() << "+PosVerificationDialogPlugin::accessAllowed()";
+ Q_UNUSED(deviceDialogType)
+ Q_UNUSED(parameters)
+ Q_UNUSED(securityInfo)
+
+ // This plugin doesn't perform operations that may compromise security. All clients
+ // are allowed to use.
+ qDebug() << "-PosVerificationDialogPlugin::accessAllowed()";
+ return true;
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::createDeviceDialog
+// Create device dialog widget
+//-----------------------------------------------------------------------
+HbDeviceDialogInterface * PosVerificationDialogPlugin::createDeviceDialog(
+ const QString &deviceDialogType, const QVariantMap ¶meters)
+ {
+ qDebug() << "+PosVerificationDialogPlugin::createDeviceDialog(): Type"
+ << deviceDialogType;
+ int i;
+ PosVerificationCustomDialog * dialog = 0;
+ const int numTypes = sizeof(verdlgtypes) / sizeof(verdlgtypes[0]);
+ for (i = 0; i < numTypes; ++i)
+ {
+ if (verdlgtypes[i].mTypeString == deviceDialogType)
+ {
+ break;
+ }
+ }
+ if (i < numTypes)
+ {
+ switch (verdlgtypes[i].mType)
+ {
+ case PosVerificationDialogType:
+ {
+ CustomDocumentLoader loader;
+ bool ok = false;
+ loader.load(POSVERFICATIONDIALOG_DOCML, &ok);
+ Q_ASSERT_X(ok, "PosVerificationCustomDialog", "invalid DocML file");
+
+ if (ok)
+ {
+ dialog = qobject_cast<PosVerificationCustomDialog *> (
+ loader.findWidget("PosVerificationCustomDialog"));
+ if (dialog)
+ {
+ dialog->getWidgets(loader);
+ dialog->setDeviceDialogParameters(parameters);
+ qDebug() << "createDeviceDialog(): success";
+ }
+ else
+ {
+ qDebug()
+ << "createDeviceDialog(): creation of device dialog failed";
+ }
+ }
+ else
+ {
+ qDebug() << "createDeviceDialog(): loading docml failed";
+ }
+ break;
+ }
+ default:
+ {
+ qDebug() << "createDeviceDialog(): default case";
+ Q_ASSERT(false);
+ break;
+ }
+ }
+ }
+ else
+ {
+ qDebug()
+ << "createDeviceDialog(): Dialog type not supported by this plugin";
+ }
+ qDebug() << "-PosVerificationDialogPlugin::createDeviceDialog()";
+ return dialog;
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::deviceDialogInfo
+// Return information of device dialog the plugin creates
+//-----------------------------------------------------------------------
+bool PosVerificationDialogPlugin::deviceDialogInfo(
+ const QString &deviceDialogType, const QVariantMap ¶meters,
+ DeviceDialogInfo *info) const
+ {
+ qDebug() << "+PosVerificationDialogPlugin::deviceDialogInfo()";
+ Q_UNUSED(parameters)
+ Q_UNUSED(deviceDialogType)
+
+ info->group = GenericDeviceDialogGroup;
+ info->flags = NoDeviceDialogFlags;
+ info->priority = DefaultPriority;
+ qDebug() << "-PosVerificationDialogPlugin::deviceDialogInfo()";
+ return true;
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::deviceDialogTypes
+// Return device dialog types this plugin implements
+//-----------------------------------------------------------------------
+QStringList PosVerificationDialogPlugin::deviceDialogTypes() const
+ {
+ qDebug() << "+PosVerificationDialogPlugin::deviceDialogTypes()";
+ QStringList types;
+ const int numTypes = sizeof(verdlgtypes) / sizeof(verdlgtypes[0]);
+ for (int i = 0; i < numTypes; i++)
+ {
+ types.append(verdlgtypes[i].mTypeString);
+ }
+ qDebug() << "-PosVerificationDialogPlugin::deviceDialogTypes()";
+ return types;
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::pluginFlags
+// Return plugin flags
+//-----------------------------------------------------------------------
+HbDeviceDialogPlugin::PluginFlags PosVerificationDialogPlugin::pluginFlags() const
+ {
+ qDebug() << "PosVerificationDialogPlugin::pluginFlags()";
+ return NoPluginFlags;
+ }
+
+//-----------------------------------------------------------------------
+// PosVerificationDialogPlugin::error
+// Return last error
+//-----------------------------------------------------------------------
+int PosVerificationDialogPlugin::error() const
+ {
+ qDebug() << "PosVerificationDialogPlugin::error()";
+ return 0;
+ }
+
+Q_EXPORT_PLUGIN2(posverificationdialogplugin, PosVerificationDialogPlugin)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/privacyverifiernotifierui.pro Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,34 @@
+#
+# 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: project file for positioing settings in control panel
+#
+
+
+TEMPLATE = subdirs
+
+SYMBIAN_PLATFORMS = WINSCW ARMV5
+
+SUBDIRS += locnotificationengine/locnotificationengine.pro
+SUBDIRS += posverificationdialogplugin/posverificationdialogplugin.pro
+
+# Build.inf rules
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>" \
+ "install/privacydialogs_stub.sis /epoc32/data/z/system/install/privacydialogs_stub.sis" \
+ "rom/privacydialogs.iby CORE_MW_LAYER_IBY_EXPORT_PATH(privacydialogs.iby)"
+
+symbian {
+BLD_INF_RULES.prj_mmpfiles = "./locutils/group/locutils.mmp" \
+ "./locprivacyserver/group/locprivacyserver.mmp" \
+ "./contactresolversession/group/contactresolversession.mmp" \
+ "./locverifier/group/locverifierdlg.mmp"
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/privacyverifiernotifierui/rom/privacydialogs.iby Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,39 @@
+/*
+* 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: IBY file for server component
+*
+*/
+#ifndef __PRIVACYDIALOGS_IBY__
+#define __PRIVACYDIALOGS_IBY__
+
+#include <bldvariant.hrh>
+#if defined(__PRIVACYFRAMEWORK)
+// Client library
+file=ABI_DIR\BUILD_DIR\locnotificationclient.dll SHARED_LIB_DIR\locnotificationclient.dll
+// Server
+file=ABI_DIR\BUILD_DIR\locnotificationserver.exe PROGRAMS_DIR\locnotificationserver.exe
+// Engine
+file=ABI_DIR\BUILD_DIR\locnotificationengine.dll SHARED_LIB_DIR\locnotificationengine.dll
+// Location Utils
+file=ABI_DIR\BUILD_DIR\locutils.dll SHARED_LIB_DIR\locutils.dll
+// Location Verifier Plug-in
+ECOM_PLUGIN(locverifierdlg.dll,locverifierdlg.rsc)
+// Custom device dialog plugin
+file=ABI_DIR\BUILD_DIR\posverificationdialogplugin.dll SHARED_LIB_DIR\posverificationdialogplugin.dll
+data=\epoc32\data\z\resource\plugins\devicedialogs\posverificationdialogplugin.qtplugin \resource\plugins\devicedialogs\posverificationdialogplugin.qtplugin
+// stub sis
+data=DATAZ_\system\install\privacydialogs_stub.sis system\install\privacydialogs_stub.sis
+#endif // (__PRIVACYFRAMEWORK)
+
+#endif
--- a/locationtriggering/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
PRJ_EXPORTS
#ifdef CORE_MW_LAYER_IBY_EXPORT_PATH
--- a/locationtriggering/ltcontainer/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/ltcontainer/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -17,7 +17,7 @@
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
PRJ_EXPORTS
../inc/lbtcontainer.h |../../inc/lbtcontainer.h
@@ -31,8 +31,7 @@
../inc/lbtsecuritypolicy.h |../../inc/lbtsecuritypolicy.h
// Registration file for backup and restore
-../data/backup_registration.xml /epoc32/winscw/c/private/1028312B/backup_registration.xml
-../data/backup_registration.xml /epoc32/data/z/private/1028312B/backup_registration.xml
+../data/backup_registration.xml z:/private/1028312B/backup_registration.xml
PRJ_MMPFILES
--- a/locationtriggering/ltcontainer/inc/lbtcontainerutilities.h Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/ltcontainer/inc/lbtcontainerutilities.h Wed Jun 23 18:40:52 2010 +0300
@@ -116,7 +116,7 @@
*
* @return ETrue if the UIDs suffices the security polity, EFalse otherwise
*/
- static TBool LbtContainerUtilities::RunSecurityPolicy( TUid& aOwnerUid,
+ static TBool RunSecurityPolicy( TUid& aOwnerUid,
TUid& aManagerUid,
TSecureId& aStartupProcessUid,
TLbtSecurityPolicy& aSecurityPolicy );
--- a/locationtriggering/rom/locationtriggering.iby Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/rom/locationtriggering.iby Wed Jun 23 18:40:52 2010 +0300
@@ -51,8 +51,6 @@
// Backup and restore registeration file
data=DATAZ_\private\1028312B\backup_registration.xml \private\1028312B\backup_registration.xml
-// Central repository file
-data=DATAZ_\private\10202be9\1028312F.txt \private\10202be9\1028312F.txt
// Location Triggering Management Library
file=ABI_DIR\BUILD_DIR\lbtmanager.dll SHARED_LIB_DIR\lbtmanager.dll
--- a/locationtriggering/tsrc/lbtengine_test/Additionaltests/inc/AsynOperationAO.h Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/Additionaltests/inc/AsynOperationAO.h Wed Jun 23 18:40:52 2010 +0300
@@ -96,7 +96,7 @@
void ListTriggerIdsList(RLbt& aLbt, RArray < TLbtTriggerId >& aTriggerIdList,
CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);
void CreateIterator(RLbt& aLbt,CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);
- void CTriggerFireObserver::DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait );
+ void DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait );
TInt GetFireCount( ) ;
TInt GetError( ) ;
@@ -104,7 +104,7 @@
void UpdateTriggersState(RLbt& aLbt, CLbtTriggerEntry::TLbtTriggerState aState,
CActiveSchedulerWait* aWait,CLbtTriggerFilterBase * aFilter=NULL) ;
- void CTriggerFireObserver::PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait ) ;
+ void PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait ) ;
void RunL( );
--- a/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/CellbasedtriggerOperations/inc/AsynOperationAO.h Wed Jun 23 18:40:52 2010 +0300
@@ -84,7 +84,7 @@
void ListTriggerIdsList(RLbt& aLbt, RArray < TLbtTriggerId >& aTriggerIdList,
CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);
void CreateIterator(RLbt& aLbt,CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);
- void CTriggerFireObserver::DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait );
+ void DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait );
TInt GetFireCount( ) ;
TInt GetError( ) ;
@@ -92,7 +92,7 @@
void UpdateTriggersState(RLbt& aLbt, CLbtTriggerEntry::TLbtTriggerState aState,
CActiveSchedulerWait* aWait,CLbtTriggerFilterBase * aFilter=NULL) ;
- void CTriggerFireObserver::PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait ) ;
+ void PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait ) ;
void RunL( );
--- a/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/inc/AsynOperationAO.h Thu May 27 13:18:17 2010 +0300
+++ b/locationtriggering/tsrc/lbtengine_test/TestHybridTriggers/inc/AsynOperationAO.h Wed Jun 23 18:40:52 2010 +0300
@@ -83,7 +83,7 @@
void ListTriggerIdsList(RLbt& aLbt, RArray < TLbtTriggerId >& aTriggerIdList,
CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);
void CreateIterator(RLbt& aLbt,CActiveSchedulerWait* aWait,CLbtListTriggerOptions* aListOptions=NULL);
- void CTriggerFireObserver::DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait );
+ void DeleteFilteredTriggers( RLbt& aLbt,CLbtTriggerFilterBase* aFilter,CActiveSchedulerWait* aWait );
TInt GetFireCount( ) ;
TInt GetError( ) ;
@@ -92,7 +92,7 @@
CActiveSchedulerWait* aWait,CLbtTriggerFilterBase * aFilter=NULL) ;
void UpdateTrigger(RLbt& aLbt,CLbtTriggerEntry& aTrigger,TLbtTriggerAttributeFieldsMask aFieldMask,CActiveSchedulerWait* aWait,
TLbtFireOnUpdate aFireOnUpdate) ;
- void CTriggerFireObserver::PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait ) ;
+ void PopulateFromCurrentCell(CLbtGeoCell& cell,CActiveSchedulerWait* aWait ) ;
void RunL( );
--- a/locsrv_plat/supl_settings_api/tsrc/conf/settingsapi_test.cfg Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/conf/settingsapi_test.cfg Wed Jun 23 18:40:52 2010 +0300
@@ -877,13 +877,6 @@
delete foobar
[Endtest]
-[Test]
-title CancelTriggerSession
-create settingsapi foobar
-foobar CancelTriggerSession
-delete foobar
-[Endtest]
-
[Test]
title SetTriggerEmptySessionName
--- a/locsrv_plat/supl_settings_api/tsrc/eabi/settingsapiu.def Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/eabi/settingsapiu.def Wed Jun 23 18:40:52 2010 +0300
@@ -2,4 +2,6 @@
_Z9LibEntryLR13CTestModuleIf @ 1 NONAME
_ZTI28CTerminalInitiatedRunSession @ 2 NONAME ; #<TI>#
_ZTV28CTerminalInitiatedRunSession @ 3 NONAME ; #<VT>#
+ _ZTI16CSessionObserver @ 4 NONAME
+ _ZTV16CSessionObserver @ 5 NONAME
--- a/locsrv_plat/supl_settings_api/tsrc/inc/settingsapi.h Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/inc/settingsapi.h Wed Jun 23 18:40:52 2010 +0300
@@ -188,116 +188,112 @@
TInt RemoveServer_Invalid_negative(CStifItemParser& aItem);
TInt RemoveServer_Id_NotExisting(CStifItemParser& aItem);
TInt RemoveServer_Invalid_zero(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_Increase(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_Decrease(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_invalid_positive(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_priority0(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_Negative(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_InvalidServer(CStifItemParser& aItem);
- TInt CSettingsApi::ChangePriority_invalidserverpriority(CStifItemParser& aItem);
- TInt CSettingsApi::GetDefaultServer();
- TInt CSettingsApi::AddNewServerWithDefault(CStifItemParser& aItem);
- TInt CSettingsApi::AddNewServerWithoutDefault(CStifItemParser& aItem);
- TInt CSettingsApi::AddNewServer_Duplicate(CStifItemParser& aItem);
- TInt CSettingsApi::GetSlpInfoFromId(TInt64 Slpid);
- TInt CSettingsApi::GetSlpInfoFromId(CStifItemParser& aItem);
- TInt CSettingsApi::GetSlpInfoFromId_invalid_positive(CStifItemParser& aItem);
- TInt CSettingsApi::GetSlpInfoFromId_invalid_negative(CStifItemParser& aItem);
- TInt CSettingsApi::GetSlpInfoFromId_invalid_zero(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerAddress(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerAddress_invalidpositive(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerAddress_invalidnegative(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerAddress_invalidzero(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerAddress_AddressNull(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerAddress_InvalidAddressId(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerAddress(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerAddress_invalidpositive(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerAddress_invalidnegative(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerAddress_invalidzero(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerAddress(TInt64 aSlpId1);
- TInt CSettingsApi::SetIAPName_InvalidAddressId(CStifItemParser& aItem);
- TInt CSettingsApi::SetIAPName_invalidzero(CStifItemParser& aItem);
- TInt CSettingsApi::SetIAPName_invalidnegative(CStifItemParser& aItem);
- TInt CSettingsApi::SetIAPName_invalidpositive(CStifItemParser& aItem);
- TInt CSettingsApi::SetIAPName(CStifItemParser& aItem);
- TInt CSettingsApi::GetIAPName_invalidzero(CStifItemParser& aItem);
- TInt CSettingsApi::GetIAPName_invalidnegative(CStifItemParser& aItem);
- TInt CSettingsApi::GetIAPName_invalidpositive(CStifItemParser& aItem);
- TInt CSettingsApi::GetIAPName(CStifItemParser& aItem);
- TInt CSettingsApi::GetIAPName(TInt64 aSlpId1);
- TInt CSettingsApi::SetServerEnabledFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerEnabledFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerEnabledFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerEnabledFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::SetServerEnabledFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerEnabledFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerEnabledFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerEnabledFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerEnabledFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerEnabledFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomeNwFlag(TInt64 aSlpId1);
- TInt CSettingsApi::SetUsageInHomwNwFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::SetUsageInHomwNwFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::SetUsageInHomwNwFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::SetUsageInHomwNwFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::SetUsageInHomwNwFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomwNwFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomwNwFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomwNwFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomwNwFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomwNwFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetUsageInHomwNwFlag(TInt64 aSlpId1);
- TInt CSettingsApi::AddNewServer_aServerAddress_Null(CStifItemParser& aItem);
- TInt CSettingsApi::AddNewServer_aIapNAme_Null(CStifItemParser& aItem);
- TInt CSettingsApi::SetDefaultServer_aServerAddress_Null(CStifItemParser& aItem);
- TInt CSettingsApi::SetDefaultServerWithDefaultValues(CStifItemParser& aItem);
- TInt CSettingsApi::SetAllParameter_aServerAddress_Null(CStifItemParser& aItem);
- TInt CSettingsApi::SetAllParameter_WithDefaultValues(CStifItemParser& aItem);
- TInt CSettingsApi::SetAllParameter_Invalid_Positive(CStifItemParser& aItem);
- TInt CSettingsApi::SetAllParameter_Invalid_Negative(CStifItemParser& aItem);
- TInt CSettingsApi::SetAllParameter_Invalid_Zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetServerEnabledFlag(TInt64 aSlpId1);
- TInt CSettingsApi::SetEditableFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::SetEditableFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::SetEditableFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::SetEditableFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::SetEditableFlag_id_zero(CStifItemParser& aItem);
- TBool CSettingsApi::IsSLPExists(CStifItemParser& aItem);
- TBool CSettingsApi::IsSLPExists_invalid_negative(CStifItemParser& aItem);
- TBool CSettingsApi::IsSLPExists_invalid_positive(CStifItemParser& aItem);
- TBool CSettingsApi::IsSLPExists_invalid_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetAllSlp_sync(CStifItemParser& aItem);
- TInt CSettingsApi::GetAllSlp_async(CStifItemParser& aItem);
- TInt CSettingsApi::SetSimChangeRemoveFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::SetSimChangeRemoveFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::SetSimChangeRemoveFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::SetSimChangeRemoveFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::SetSimChangeRemoveFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetSimChangeRemoveFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::GetSimChangeRemoveFlag(TInt64 aSlpId1);
- TInt CSettingsApi::GetSimChangeRemoveFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::GetSimChangeRemoveFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::GetSimChangeRemoveFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::GetSimChangeRemoveFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::GetEditableFlag_Etrue(CStifItemParser& aItem);
- TInt CSettingsApi::GetEditableFlag(TInt64 aSlpId1);
- TInt CSettingsApi::GetEditableFlag_EFalse(CStifItemParser& aItem);
- TInt CSettingsApi::GetEditableFlag_id_negative(CStifItemParser& aItem);
- TInt CSettingsApi::GetEditableFlag_id_positive(CStifItemParser& aItem);
- TInt CSettingsApi::GetEditableFlag_id_zero(CStifItemParser& aItem);
- TInt CSettingsApi::SetFallBack_ETrue();
- TInt CSettingsApi::SetFallBack_EFalse();
- TInt CSettingsApi::GetFallBack();
- TInt CSettingsApi::IsSLPExistsString();
- TInt CSettingsApi::IsSLPExistsString_Null();
- TInt CSettingsApi::IsSLPExistsString_invalid();
- TInt CSettingsApi::SlpCount();
- TInt CSettingsApi::GetSlpInfoFromAddress(CStifItemParser& aItem);
- TInt CSettingsApi::GetSlpInfoFromAddress_invalid(CStifItemParser& aItem);
- TInt CSettingsApi::ProductConfiguredServer1();
- TInt CSettingsApi::ProductConfiguredServer2();
- TInt CSettingsApi::ProductConfiguredServer3();
- TInt CSettingsApi::ProductConfiguredServer4();
+ TInt ChangePriority_Increase(CStifItemParser& aItem);
+ TInt ChangePriority_Decrease(CStifItemParser& aItem);
+ TInt ChangePriority_invalid_positive(CStifItemParser& aItem);
+ TInt ChangePriority_priority0(CStifItemParser& aItem);
+ TInt ChangePriority_Negative(CStifItemParser& aItem);
+ TInt ChangePriority_InvalidServer(CStifItemParser& aItem);
+ TInt ChangePriority_invalidserverpriority(CStifItemParser& aItem);
+ TInt GetDefaultServer();
+ TInt AddNewServerWithDefault(CStifItemParser& aItem);
+ TInt AddNewServerWithoutDefault(CStifItemParser& aItem);
+ TInt AddNewServer_Duplicate(CStifItemParser& aItem);
+ TInt GetSlpInfoFromId(TInt64 Slpid);
+ TInt GetSlpInfoFromId(CStifItemParser& aItem);
+ TInt GetSlpInfoFromId_invalid_positive(CStifItemParser& aItem);
+ TInt GetSlpInfoFromId_invalid_negative(CStifItemParser& aItem);
+ TInt GetSlpInfoFromId_invalid_zero(CStifItemParser& aItem);
+ TInt SetServerAddress(CStifItemParser& aItem);
+ TInt SetServerAddress_invalidpositive(CStifItemParser& aItem);
+ TInt SetServerAddress_invalidnegative(CStifItemParser& aItem);
+ TInt SetServerAddress_invalidzero(CStifItemParser& aItem);
+ TInt SetServerAddress_AddressNull(CStifItemParser& aItem);
+ TInt SetServerAddress_InvalidAddressId(CStifItemParser& aItem);
+ TInt GetServerAddress(CStifItemParser& aItem);
+ TInt GetServerAddress_invalidpositive(CStifItemParser& aItem);
+ TInt GetServerAddress_invalidnegative(CStifItemParser& aItem);
+ TInt GetServerAddress_invalidzero(CStifItemParser& aItem);
+ TInt GetServerAddress(TInt64 aSlpId1);
+ TInt SetIAPName_InvalidAddressId(CStifItemParser& aItem);
+ TInt SetIAPName_invalidzero(CStifItemParser& aItem);
+ TInt SetIAPName_invalidnegative(CStifItemParser& aItem);
+ TInt SetIAPName_invalidpositive(CStifItemParser& aItem);
+ TInt SetIAPName(CStifItemParser& aItem);
+ TInt GetIAPName_invalidzero(CStifItemParser& aItem);
+ TInt GetIAPName_invalidnegative(CStifItemParser& aItem);
+ TInt GetIAPName_invalidpositive(CStifItemParser& aItem);
+ TInt GetIAPName(CStifItemParser& aItem);
+ TInt GetIAPName(TInt64 aSlpId1);
+ TInt SetServerEnabledFlag_Etrue(CStifItemParser& aItem);
+ TInt SetServerEnabledFlag_EFalse(CStifItemParser& aItem);
+ TInt SetServerEnabledFlag_id_negative(CStifItemParser& aItem);
+ TInt SetServerEnabledFlag_id_positive(CStifItemParser& aItem);
+ TInt SetServerEnabledFlag_id_zero(CStifItemParser& aItem);
+ TInt GetServerEnabledFlag_id_negative(CStifItemParser& aItem);
+ TInt GetServerEnabledFlag_id_positive(CStifItemParser& aItem);
+ TInt GetServerEnabledFlag_id_zero(CStifItemParser& aItem);
+ TInt GetServerEnabledFlag_EFalse(CStifItemParser& aItem);
+ TInt GetServerEnabledFlag_Etrue(CStifItemParser& aItem);
+ TInt GetUsageInHomeNwFlag(TInt64 aSlpId1);
+ TInt SetUsageInHomwNwFlag_Etrue(CStifItemParser& aItem);
+ TInt SetUsageInHomwNwFlag_EFalse(CStifItemParser& aItem);
+ TInt SetUsageInHomwNwFlag_id_negative(CStifItemParser& aItem);
+ TInt SetUsageInHomwNwFlag_id_positive(CStifItemParser& aItem);
+ TInt SetUsageInHomwNwFlag_id_zero(CStifItemParser& aItem);
+ TInt GetUsageInHomwNwFlag_Etrue(CStifItemParser& aItem);
+ TInt GetUsageInHomwNwFlag_EFalse(CStifItemParser& aItem);
+ TInt GetUsageInHomwNwFlag_id_negative(CStifItemParser& aItem);
+ TInt GetUsageInHomwNwFlag_id_positive(CStifItemParser& aItem);
+ TInt GetUsageInHomwNwFlag_id_zero(CStifItemParser& aItem);
+ TInt GetUsageInHomwNwFlag(TInt64 aSlpId1);
+ TInt AddNewServer_aServerAddress_Null(CStifItemParser& aItem);
+ TInt AddNewServer_aIapNAme_Null(CStifItemParser& aItem);
+ TInt SetDefaultServer_aServerAddress_Null(CStifItemParser& aItem);
+ TInt SetDefaultServerWithDefaultValues(CStifItemParser& aItem);
+ TInt SetAllParameter_aServerAddress_Null(CStifItemParser& aItem);
+ TInt SetAllParameter_WithDefaultValues(CStifItemParser& aItem);
+ TInt SetAllParameter_Invalid_Positive(CStifItemParser& aItem);
+ TInt SetAllParameter_Invalid_Negative(CStifItemParser& aItem);
+ TInt SetAllParameter_Invalid_Zero(CStifItemParser& aItem);
+ TInt GetServerEnabledFlag(TInt64 aSlpId1);
+ TInt SetEditableFlag_Etrue(CStifItemParser& aItem);
+ TInt SetEditableFlag_EFalse(CStifItemParser& aItem);
+ TInt SetEditableFlag_id_negative(CStifItemParser& aItem);
+ TInt SetEditableFlag_id_positive(CStifItemParser& aItem);
+ TInt SetEditableFlag_id_zero(CStifItemParser& aItem);
+ TBool IsSLPExists(CStifItemParser& aItem);
+ TBool IsSLPExists_invalid_negative(CStifItemParser& aItem);
+ TBool IsSLPExists_invalid_positive(CStifItemParser& aItem);
+ TBool IsSLPExists_invalid_zero(CStifItemParser& aItem);
+ TInt GetAllSlp_sync(CStifItemParser& aItem);
+ TInt GetAllSlp_async(CStifItemParser& aItem);
+ TInt SetSimChangeRemoveFlag_Etrue(CStifItemParser& aItem);
+ TInt SetSimChangeRemoveFlag_EFalse(CStifItemParser& aItem);
+ TInt SetSimChangeRemoveFlag_id_negative(CStifItemParser& aItem);
+ TInt SetSimChangeRemoveFlag_id_positive(CStifItemParser& aItem);
+ TInt SetSimChangeRemoveFlag_id_zero(CStifItemParser& aItem);
+ TInt GetSimChangeRemoveFlag_Etrue(CStifItemParser& aItem);
+ TInt GetSimChangeRemoveFlag(TInt64 aSlpId1);
+ TInt GetSimChangeRemoveFlag_EFalse(CStifItemParser& aItem);
+ TInt GetSimChangeRemoveFlag_id_negative(CStifItemParser& aItem);
+ TInt GetSimChangeRemoveFlag_id_positive(CStifItemParser& aItem);
+ TInt GetSimChangeRemoveFlag_id_zero(CStifItemParser& aItem);
+ TInt GetEditableFlag_Etrue(CStifItemParser& aItem);
+ TInt GetEditableFlag(TInt64 aSlpId1);
+ TInt GetEditableFlag_EFalse(CStifItemParser& aItem);
+ TInt GetEditableFlag_id_negative(CStifItemParser& aItem);
+ TInt GetEditableFlag_id_positive(CStifItemParser& aItem);
+ TInt GetEditableFlag_id_zero(CStifItemParser& aItem);
+ TInt SetFallBack_ETrue();
+ TInt SetFallBack_EFalse();
+ TInt GetFallBack();
+ TInt IsSLPExistsString();
+ TInt IsSLPExistsString_Null();
+ TInt IsSLPExistsString_invalid();
+ TInt SlpCount();
+ TInt GetSlpInfoFromAddress(CStifItemParser& aItem);
+ TInt GetSlpInfoFromAddress_invalid(CStifItemParser& aItem);
TInt SetGetTriggerParamsL( CStifItemParser& aItem );
@@ -321,18 +317,18 @@
virtual TInt SetTriggerEmptySessionNameL( CStifItemParser& aItem );
virtual TInt SetTriggerLongSessionNameL( CStifItemParser& aItem );
- TInt CSettingsApi::ChangeSuplTriggerServiceStatusON();
+ TInt ChangeSuplTriggerServiceStatusON();
- TInt CSettingsApi::ChangeSuplTriggerServiceStatusOFF();
+ TInt ChangeSuplTriggerServiceStatusOFF();
- TInt CSettingsApi::GetSuplTriggerServiceStatusON();
+ TInt GetSuplTriggerServiceStatusON();
- TInt CSettingsApi::GetSuplTriggerServiceStatusOFF();
+ TInt GetSuplTriggerServiceStatusOFF();
- TInt CSettingsApi::SetstatusOtherThanAppropriate();
+ // TInt CSettingsApi::SetstatusOtherThanAppropriate();
public : // from MSuplSettingsObserver
virtual void HandleSuplTriggerStatusChangeL(
CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus );
--- a/locsrv_plat/supl_settings_api/tsrc/src/settingsapiblocks.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_plat/supl_settings_api/tsrc/src/settingsapiblocks.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -265,7 +265,7 @@
ENTRY( "ChangeSuplTriggerServiceStatusOFF", CSettingsApi::ChangeSuplTriggerServiceStatusOFF),
ENTRY( "GetSuplTriggerServiceStatusON", CSettingsApi::GetSuplTriggerServiceStatusON),
ENTRY( "GetSuplTriggerServiceStatusOFF", CSettingsApi::GetSuplTriggerServiceStatusOFF),
- ENTRY( "SetstatusOtherThanAppropriate", CSettingsApi::SetstatusOtherThanAppropriate),
+ //ENTRY( "SetstatusOtherThanAppropriate", CSettingsApi::SetstatusOtherThanAppropriate),
ENTRY( "ProductConfiguredServer1", CSettingsApi::ProductConfiguredServer1),
ENTRY( "ProductConfiguredServer2", CSettingsApi::ProductConfiguredServer2),
ENTRY( "ProductConfiguredServer3", CSettingsApi::ProductConfiguredServer3),
@@ -2639,7 +2639,7 @@
aIapName.Create(256);
aIapName.Copy(KIap);
-aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+aParamValues->Set(aServerAddress,aIapName,ETrue,ETrue,ETrue,ETrue);
CSuplSettings *aSettings=CSuplSettings::NewL();
TInt ret,ret1;
@@ -3520,7 +3520,7 @@
iLog->Log(_L("Is SLP Exists for valid server address"));
-_LIT8(KServer, "supl1.nokia.com");
+_LIT8(KServer, "supl.nokia.com");
RBuf aServer;
aServer.Create(256);
@@ -4421,7 +4421,9 @@
sessionName.Copy(_L("Session1"));
TTime endTime1;
endTime1 = 100;
- TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10,endTime1);
+ TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10);
+ params->SetTriggerEndTime(endTime1);
+
if( KErrNone!=ret)
{
delete params;
@@ -4437,7 +4439,9 @@
TTime endTime2;
HBufC* name = HBufC::NewL( 256);
ret = params->Get(sessionId,name->Des(),notificationPresent,triggerNotificationStatus,
- triggerType,requestType,outstandingTrigger,interval,endTime2 );
+ triggerType,requestType,outstandingTrigger,interval);
+
+ params->GetTriggerEndTime(endTime2 );
delete params;
if( KErrNone!=ret)
@@ -4462,14 +4466,19 @@
TInt CSettingsApi::SetTriggerLongSessionNameL( CStifItemParser& aItem )
{
- CTriggerParams* params = CTriggerParams::NewL();
+ CTriggerParams* params = CTriggerParams::NewLC();
TBuf<300> sessionName;
for(TInt i=0;i<290;i++)
{
sessionName.Append(_L("a"));
}
- TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10,0);
- delete params;
+
+ TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10);
+
+
+
+ CleanupStack::PopAndDestroy();
+
if( KErrArgument!= ret )
{
return KErrGeneral;
@@ -4483,7 +4492,7 @@
CTriggerParams* params = CTriggerParams::NewL();
TBuf<300> sessionName;
sessionName.Zero();
- TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10,0);
+ TInt ret=params->Set( 5,sessionName,ETrue,ETrue,CTriggerParams::EPeriodic,CTriggerParams::ETerminalInitiated,10,10);
TInt64 sessionId;
TBool notificationPresent;
@@ -4495,7 +4504,7 @@
TTime endTime;
HBufC* name = HBufC::NewL( 256);
ret = params->Get(sessionId,name->Des(),notificationPresent,triggerNotificationStatus,
- triggerType,requestType,outstandingTrigger,interval,endTime );
+ triggerType,requestType,outstandingTrigger,interval);
delete params;
TInt comp=name->Compare(sessionName);
@@ -4553,8 +4562,11 @@
CSessionObserver* obs = CSessionObserver::NewL();
TInt err=settings->SetSessionObserverL(*obs);
err=settings->SetSessionObserverL(*obs);
+
CleanupStack::PopAndDestroy(1);
delete obs;
+ if ( err == KErrAlreadyExists)
+ return KErrNone ;
return err;
}
@@ -4593,7 +4605,7 @@
{
CTriggerParams* params=NULL;
CSuplSettings* settings = CSuplSettings::NewL();
- TInt err=settings->GetTriggerParams(12,params);
+ TInt err=settings->GetTriggerParams(10,params);
delete settings;
if( KErrArgument!=err)
{
@@ -4607,8 +4619,9 @@
{
CTriggerParams* params=CTriggerParams::NewL();
CSuplSettings* settings = CSuplSettings::NewL();
- TInt err=settings->GetTriggerParams(15,params);//Invalid Id
+ TInt err=settings->GetTriggerParams(11,params);//Invalid Id
delete settings;
+ delete params;
if( KErrNotFound!=err)
{
return KErrGeneral;
@@ -4631,14 +4644,12 @@
CSuplSettings* settings = CSuplSettings::NewL() ;
TInt ret ;
//settings->SetObserverL(*this);
- ret = settings->ChangeSuplTriggerServiceStatus(CSuplSettings::ESuplTriggerON);
+ ret = settings->SetSuplTriggeredServiceStatus(CSuplSettings::ESuplTriggerOn);
iLog->Log(_L("Supltrigger ON = %d "),ret ) ;
if(ret != KErrNone)
{
iLog->Log(_L("Supltrigger service status:Error = %d"), ret);
}
-
- // CActiveScheduler::Start();
iLog->Log(_L("ChangeSuplTriggerServiceStatus ON = %d "),ret ) ;
delete settings;
return ret;
@@ -4652,7 +4663,7 @@
CSuplSettings* settings = CSuplSettings::NewL() ;
TInt ret ;
// settings->SetObserverL(*this);
- ret = settings->ChangeSuplTriggerServiceStatus(CSuplSettings::ESuplTriggerOFF);
+ ret = settings->SetSuplTriggeredServiceStatus(CSuplSettings::ESuplTriggerOff);
iLog->Log(_L("Supltrigger OFF = %d "),ret ) ;
if(ret != KErrNone)
{
@@ -4676,8 +4687,8 @@
{
CSuplSettings::TSuplTriggerStatus status;
CSuplSettings* settings = CSuplSettings::NewL();
- ret = settings->GetSuplTriggerServiceStatus(status);
- if (ret == KErrNone && status == CSuplSettings::ESuplTriggerON)
+ ret = settings->GetSuplTriggeredServiceStatus(status);
+ if (ret == KErrNone && status == CSuplSettings::ESuplTriggerOn)
{
iLog->Log(_L("status are matching...returned=%d" ),(TInt)status);
}
@@ -4705,8 +4716,8 @@
{
CSuplSettings::TSuplTriggerStatus status;
CSuplSettings* settings = CSuplSettings::NewL();
- ret = settings->GetSuplTriggerServiceStatus(status);
- if (ret == KErrNone && status == CSuplSettings::ESuplTriggerOFF)
+ ret = settings->GetSuplTriggeredServiceStatus(status);
+ if (ret == KErrNone && status == CSuplSettings::ESuplTriggerOff)
{
iLog->Log(_L("status are matching...returned=%d" ),(TInt)status);
}
@@ -4726,64 +4737,54 @@
return ret;
}
-// Change the status other than the appropriat
-TInt CSettingsApi::SetstatusOtherThanAppropriate()
- {
- CSuplSettings::TSuplTriggerStatus status = (CSuplSettings::TSuplTriggerStatus)10;
- CSuplSettings* settings = CSuplSettings::NewL();
- TInt ret=settings->ChangeSuplTriggerServiceStatus(status);
-
- if(ret != KErrArgument)
- {
- iLog->Log(_L("SuplTriggerServiceStatus returned=%d" ),ret);
- }
- iLog->Log(_L("Expected KErrArgument =%d" ),ret);
- ret = KErrNone;
- delete settings;
- return ret;
-}
-
-TInt CSettingsApi::ProductConfiguredServer1()
+
+
+ TInt CSettingsApi::ProductConfiguredServer1()
{
-
- CServerParams *aParamValues= CServerParams::NewL();
-
-iLog->Log(_L("Setting CServerParams with product config parameter"));
-_LIT8(KServer, "supl.nokia.com");
-_LIT8(KIap, "airtelgprs.com");
-
-RBuf aServerAddress, aIapName;
-
-aServerAddress.Create(128);
-aServerAddress.Copy(KServer);
-aIapName.Create(128);
-aIapName.Copy(KIap);
-
-aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue,0,ETrue);
-
-aIapName.Close();
-aServerAddress.Close();
-
-HBufC* aServerAddress1 = HBufC::NewL(64);
-HBufC* aIapName1 = HBufC::NewL(64);
-TInt64 aSlpId;
-TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
-
-TInt ret = aParamValues->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured);
-
-delete aParamValues;
-delete aServerAddress1;
-delete aIapName1;
-
-if(ret != KErrNone)
- return ret;
-
-if (aProductConfigured)
- return KErrNone;
-else
- return KErrGeneral;
+ CServerParams *aParamValues= CServerParams::NewL();
+
+ TInt64 aSlpId =10;
+
+ iLog->Log(_L("Setting CServerParams with product config parameter"));
+ _LIT8(KServer, "supl.nokia.com");
+ _LIT8(KIap, "airtelgprs.com");
+
+ RBuf aServerAddress, aIapName;
+
+ aServerAddress.Create(128);
+ aServerAddress.Copy(KServer);
+ aIapName.Create(128);
+ aIapName.Copy(KIap);
+
+ aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue,aSlpId);
+
+ aParamValues->SetServerConfigurationType(ETrue);
+
+ aIapName.Close();
+ aServerAddress.Close();
+
+ HBufC* aServerAddress1 = HBufC::NewL(64);
+ HBufC* aIapName1 = HBufC::NewL(64);
+
+ TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
+
+ TInt ret = aParamValues->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+ aParamValues->GetServerConfigurationType(aProductConfigured);
+
+ delete aParamValues;
+ delete aServerAddress1;
+ delete aIapName1;
+
+ if(ret != KErrNone)
+ return ret;
+
+ if (aProductConfigured)
+ return KErrNone;
+ else
+ return KErrGeneral;
}
+
TInt CSettingsApi::ProductConfiguredServer2()
{
CServerParams *aParamValues = CServerParams::NewL();
@@ -4792,7 +4793,7 @@
TInt64 slp;
iLog->Log(_L("Setting CServerParams with product config parameter"));
-_LIT8(KServer, "supl111.nokia.com");
+_LIT8(KServer, "product.supl.nokia.com");
_LIT8(KIap, "airtelgprs.com");
RBuf aServerAddress, aIapName;
@@ -4802,7 +4803,8 @@
aIapName.Create(128);
aIapName.Copy(KIap);
-aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue,0,ETrue);
+ aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+ aParamValues->SetServerConfigurationType(ETrue);
ret = aSettings->AddNewServer(aParamValues,slp);
iLog->Log(_L("Return Value=%d" ),ret);
@@ -4823,7 +4825,9 @@
TInt64 aSlpId;
TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
-ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured);
+ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+
+aParamValues1->GetServerConfigurationType(aProductConfigured);
delete aParamValues;
delete aParamValues1;
@@ -4848,7 +4852,7 @@
TInt64 slp;
iLog->Log(_L("Setting CServerParams with product config parameter"));
-_LIT8(KServer, "supl121.nokia.com");
+_LIT8(KServer, "user.supl.nokia.com");
_LIT8(KIap, "airtelgprs.com");
RBuf aServerAddress, aIapName;
@@ -4858,7 +4862,8 @@
aIapName.Create(128);
aIapName.Copy(KIap);
-aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue,0,ETrue);
+ aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+ aParamValues->SetServerConfigurationType(EFalse);
ret = aSettings->AddNewServer(aParamValues,slp);
iLog->Log(_L("Return Value=%d" ),ret);
@@ -4868,7 +4873,7 @@
return ret;
CServerParams *aParamValues1 = CServerParams::NewL();
-ret = aSettings->GetSlpInfoAddress(_L("supl121.nokia.com"),aParamValues1);
+ret = aSettings->GetSlpInfoAddress(aServerAddress,aParamValues1);
aIapName.Close();
aServerAddress.Close();
@@ -4878,7 +4883,9 @@
TInt64 aSlpId;
TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
-ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured);
+ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+aParamValues1->GetServerConfigurationType(aProductConfigured);
+
delete aParamValues;
delete aParamValues1;
@@ -4889,7 +4896,7 @@
if(ret != KErrNone)
return ret;
-if (aProductConfigured)
+if (!aProductConfigured)
return KErrNone;
else
return KErrGeneral;
@@ -4903,7 +4910,7 @@
TInt ret,slp;
iLog->Log(_L("Setting CServerParams with product config parameter"));
-_LIT8(KServer, "supl131.nokia.com");
+_LIT8(KServer, "user.google.nokia.com");
_LIT8(KIap, "airtelgprs.com");
RBuf aServerAddress, aIapName;
@@ -4913,7 +4920,9 @@
aIapName.Create(128);
aIapName.Copy(KIap);
-aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue,0,ETrue);
+ aParamValues->Set(aServerAddress,aIapName,ETrue,EFalse,ETrue,ETrue);
+ aParamValues->SetServerConfigurationType(EFalse);
+
ret = aSettings->SetDefaultServer(aParamValues);
iLog->Log(_L("Return Value=%d" ),ret);
@@ -4933,7 +4942,8 @@
TInt64 aSlpId;
TBool aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured;
-ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable,aProductConfigured);
+ret = aParamValues1->Get(aSlpId,aServerAddress1->Des(),aIapName1->Des(),aServerEnabled,aSimChangeRemove,aUsageInHomeNw,aEditable);
+aParamValues1->GetServerConfigurationType(aProductConfigured);
delete aParamValues;
delete aParamValues1;
@@ -4951,6 +4961,8 @@
}
+
+
// EPOC default constructor
void CObserverTest::ConstructL()
{
--- a/locsrv_pub/blid_application_satellite_info_api/tsrc/bc_blid_application_satellite_info_Api/group/BCBlidTest.mmp Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_pub/blid_application_satellite_info_api/tsrc/bc_blid_application_satellite_info_Api/group/BCBlidTest.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -17,7 +17,7 @@
#if defined(__S60_)
- // To get the OS_LAYER_SYSTEMINCLUDE-definition
+ // To get the MW_LAYER_SYSTEMINCLUDE-definition
#include <platform_paths.hrh>
#endif
@@ -26,31 +26,23 @@
UID 0x1000008D 0x101FB3E3
CAPABILITY ALL -TCB
-/* Remove comments and replace 0x00000000 with correct vendor id */
-// VENDORID 0x00000000
-/* Remove comments and replace 0x00000000 with correct secure id */
-// SECUREID 0x00000000
-//TARGETPATH ?target_path
DEFFILE BCBlidTest.def
SOURCEPATH ../src
SOURCE BCBlidTest.cpp
SOURCE BCBlidTestBlocks.cpp
-//RESOURCE resource_file
-//RESOURCE resource_file2
USERINCLUDE ../inc
#if defined(__S60_)
- OS_LAYER_SYSTEMINCLUDE
+ MW_LAYER_SYSTEMINCLUDE
#else
SYSTEMINCLUDE /epoc32/include
SYSTEMINCLUDE /epoc32/include/internal
#endif
-SYSTEMINCLUDE /epoc32/include
SYSTEMINCLUDE /epoc32/include/applications
@@ -64,26 +56,5 @@
LANG SC
-/*
-START WINS
-?wins_specific_information
-END
-
-START MARM
-?marm_specific_information
-END
-*/
-// Other possible keywords:
-
-// DOCUMENT ?file, that is not compiled, but added to MSVC project workspace (i.e. release notes)
-/*
-START BITMAP ?target
-TARGETPATH ?emulated_path_on_target_machine
-HEADER
-SOURCE ?color_depth ?source_bitmap
-END
-*/
-// DEFFILE ?filename
-// AIF ?filename
// End of File
--- a/locsrv_pub/landmarks_api/tsrc/bc_landmarks_api/src/testcposlandmarkdatabase.cpp Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_pub/landmarks_api/tsrc/bc_landmarks_api/src/testcposlandmarkdatabase.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -753,7 +753,9 @@
// Import landmarks to DB
CPosLmOperation* operation = lmkDatabase->ImportLandmarksL( *parser, CPosLandmarkDatabase::EDefaultOptions );
CleanupStack::PushL( operation );
- operation->ExecuteL();
+
+ TRAPD(error,operation->ExecuteL());
+
iLog->Log(_L("ImportLandmarks successful"));
CleanupStack::PopAndDestroy( 3, lmkDatabase );
ReleaseLandmarkResources();
@@ -788,7 +790,7 @@
indexArray.AppendL( 1 );
CPosLmOperation* operation = lmkDatabase->ImportLandmarksL( *parser, indexArray, CPosLandmarkDatabase::EDefaultOptions );
CleanupStack::PushL( operation );
- operation->ExecuteL();
+ TRAPD(error,operation->ExecuteL());
iLog->Log(_L("ImportSelectedLandmarks successful"));
CleanupStack::PopAndDestroy( 3, lmkDatabase );
ReleaseLandmarkResources();
@@ -818,7 +820,7 @@
// Import landmarks to DB
CPosLmOperation* operation = lmkDatabase->ImportLandmarksL( *parser, CPosLandmarkDatabase::EDefaultOptions );
CleanupStack::PushL( operation );
- operation->ExecuteL();
+ TRAPD(error,operation->ExecuteL());
// Get iterator for imported landmarks
CPosLmItemIterator* iterator = lmkDatabase->ImportedLandmarksIteratorL( operation );
CleanupStack::PushL( iterator );
--- a/locsrv_pub/landmarks_api/tsrc/group/testlandmarksapi.mmp Thu May 27 13:18:17 2010 +0300
+++ b/locsrv_pub/landmarks_api/tsrc/group/testlandmarksapi.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -65,6 +65,10 @@
//RESOURCE resource_file
//RESOURCE resource_file2
+SYSTEMINCLUDE /epoc32/include/platform
+SYSTEMINCLUDE /epoc32/include/mw
+
+
USERINCLUDE ../inc
MW_LAYER_SYSTEMINCLUDE
--- a/supl/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -23,4 +23,5 @@
#include "../locationomasuplprotocolhandler/group/bld.inf"
//#include "../locationomasuplpostester/group/bld.inf"
#include "../supltiapiimplementation/group/bld.inf"
+//#include "../locationsupllocinfoconverter/group/bld.inf"
// End of File
Binary file supl/locationomasuplprotocolhandler/conf/CI_suplsettings_productconfig.confml has changed
Binary file supl/locationomasuplprotocolhandler/conf/suplsettings_productconfig.confml has changed
--- a/supl/locationomasuplprotocolhandler/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -19,7 +19,7 @@
#include <platform_paths.hrh>
PRJ_PLATFORMS
-WINSCW ARMV5
+WINSCW ARMV5 GCCE
PRJ_EXPORTS
../rom/omasuplprotocolhandler.iby CORE_MW_LAYER_IBY_EXPORT_PATH(omasuplprotocolhandler.iby)
@@ -31,6 +31,7 @@
../conf/omasuplconfigparam.confml MW_LAYER_CONFML(omasuplconfigparam.confml)
../crml/omasuplconfigparam_102750A0.crml MW_LAYER_CRML(omasuplconfigparam_102750A0.crml)
../conf/suplsettings_productconfig.confml MW_LAYER_CONFML(suplsettings_productconfig.confml)
+../conf/CI_suplsettings_productconfig.confml MW_LAYER_CONFML(CI_suplsettings_productconfig.confml)
../crml/suplsettings_productconfig_2001FCB9.crml MW_LAYER_CRML(suplsettings_productconfig_2001FCB9.crml)
//#include "../posmsgpluginapi/group/bld.inf"
--- a/supl/locationomasuplprotocolhandler/protocolhandler/bwins/eposomasuplprotocolhandleru.def Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/bwins/eposomasuplprotocolhandleru.def Wed Jun 23 18:40:52 2010 +0300
@@ -15,24 +15,26 @@
??1COMASuplSettings@@UAE@XZ @ 14 NONAME ; COMASuplSettings::~COMASuplSettings(void)
?IsHslpNull@COMASuplSettings@@QAEHXZ @ 15 NONAME ; int COMASuplSettings::IsHslpNull(void)
?NotifyTriggerFiredL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@AAVTSuplTriggerFireInfo@@@Z @ 16 NONAME ; void COMASUPLProtocolManager::NotifyTriggerFiredL(class CSuplSessionBase *, class TRequestStatus &, class TSuplTriggerFireInfo &)
- ?IAPId@COMASuplSettings@@QBEHXZ @ 17 NONAME ; int COMASuplSettings::IAPId(void) const
- ?DeInitialize@COMASUPLProtocolManager@@UAEXAAVTRequestStatus@@@Z @ 18 NONAME ; void COMASUPLProtocolManager::DeInitialize(class TRequestStatus &)
- ?RunSuplTriggerSessionL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@AAVTSuplTerminalPeriodicTrigger@@ABVTDesC16@@HHH@Z @ 19 NONAME ; void COMASUPLProtocolManager::RunSuplTriggerSessionL(class CSuplSessionBase *, class TRequestStatus &, class TSuplTerminalPeriodicTrigger &, class TDesC16 const &, int, int, int)
- ?ConvertIAPNameToIdL@COMASuplSettings@@QAEHABVTDesC16@@AAK@Z @ 20 NONAME ; int COMASuplSettings::ConvertIAPNameToIdL(class TDesC16 const &, unsigned long &)
- ?CreateNewSessionL@COMASUPLProtocolManager@@UAEPAVCSuplSessionBase@@W4TSuplReqType@CSUPLProtocolManagerBase@@HW4TSuplServiceType@RSuplTerminalSubSession@@@Z @ 21 NONAME ; class CSuplSessionBase * COMASUPLProtocolManager::CreateNewSessionL(enum CSUPLProtocolManagerBase::TSuplReqType, int, enum RSuplTerminalSubSession::TSuplServiceType)
- ?SetIAPId@COMASuplSettings@@QAEXH@Z @ 22 NONAME ; void COMASuplSettings::SetIAPId(int)
- ?ReadOMASuplSettingsL@COMASuplCommonConfig@@QAEXXZ @ 23 NONAME ; void COMASuplCommonConfig::ReadOMASuplSettingsL(void)
- ?CancelRunSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 24 NONAME ; void COMASUPLProtocolManager::CancelRunSession(class CSuplSessionBase *)
- ??1COMASUPLProtocolManager@@UAE@XZ @ 25 NONAME ; COMASUPLProtocolManager::~COMASUPLProtocolManager(void)
- ?HandleSuplMessageL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@PAVHBufC8@@@Z @ 26 NONAME ; void COMASUPLProtocolManager::HandleSuplMessageL(class CSuplSessionBase *, class TRequestStatus &, class HBufC8 *)
- ?GetSUPLMessageVersionL@COMASUPLProtocolManager@@UAEHAAHABVTDesC8@@@Z @ 27 NONAME ; int COMASUPLProtocolManager::GetSUPLMessageVersionL(int &, class TDesC8 const &)
- ?ConstructL@COMASuplSettings@@AAEXXZ @ 28 NONAME ; void COMASuplSettings::ConstructL(void)
- ?NewL@COMASUPLProtocolManager@@SAPAV1@XZ @ 29 NONAME ; class COMASUPLProtocolManager * COMASUPLProtocolManager::NewL(void)
- ?HandlePacket@COMASUPLProtocolManager@@UAEXABVTDesC8@@I@Z @ 30 NONAME ; void COMASUPLProtocolManager::HandlePacket(class TDesC8 const &, unsigned int)
- ?CancelSuplTriggerSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 31 NONAME ; void COMASUPLProtocolManager::CancelSuplTriggerSession(class CSuplSessionBase *)
- ?InitializeL@COMASUPLProtocolManager@@UAEXPAVCSuplCommunicationManager@@AAVTRequestStatus@@@Z @ 32 NONAME ; void COMASUPLProtocolManager::InitializeL(class CSuplCommunicationManager *, class TRequestStatus &)
- ?NewL@COMASuplCommonConfig@@SAPAV1@XZ @ 33 NONAME ; class COMASuplCommonConfig * COMASuplCommonConfig::NewL(void)
- ?SLPAddress@COMASuplSettings@@QBEABVTDesC8@@XZ @ 34 NONAME ; class TDesC8 const & COMASuplSettings::SLPAddress(void) const
- ?HandlePacketError@COMASUPLProtocolManager@@UAEXH@Z @ 35 NONAME ; void COMASUPLProtocolManager::HandlePacketError(int)
- ?NewL@COMASuplSettings@@SAPAV1@XZ @ 36 NONAME ; class COMASuplSettings * COMASuplSettings::NewL(void)
+ ?MakeLocationConversionRequestL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTGeoCellInfo@@AAVTRequestStatus@@@Z @ 17 NONAME ; void COMASUPLProtocolManager::MakeLocationConversionRequestL(class CSuplSessionBase *, class TGeoCellInfo &, class TRequestStatus &)
+ ?IAPId@COMASuplSettings@@QBEHXZ @ 18 NONAME ; int COMASuplSettings::IAPId(void) const
+ ?CancelLocationConversionRequest@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 19 NONAME ; void COMASUPLProtocolManager::CancelLocationConversionRequest(class CSuplSessionBase *)
+ ?DeInitialize@COMASUPLProtocolManager@@UAEXAAVTRequestStatus@@@Z @ 20 NONAME ; void COMASUPLProtocolManager::DeInitialize(class TRequestStatus &)
+ ?RunSuplTriggerSessionL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@AAVTSuplTerminalPeriodicTrigger@@ABVTDesC16@@HHH@Z @ 21 NONAME ; void COMASUPLProtocolManager::RunSuplTriggerSessionL(class CSuplSessionBase *, class TRequestStatus &, class TSuplTerminalPeriodicTrigger &, class TDesC16 const &, int, int, int)
+ ?ConvertIAPNameToIdL@COMASuplSettings@@QAEHABVTDesC16@@AAK@Z @ 22 NONAME ; int COMASuplSettings::ConvertIAPNameToIdL(class TDesC16 const &, unsigned long &)
+ ?CreateNewSessionL@COMASUPLProtocolManager@@UAEPAVCSuplSessionBase@@W4TSuplReqType@CSUPLProtocolManagerBase@@HW4TSuplServiceType@RSuplTerminalSubSession@@@Z @ 23 NONAME ; class CSuplSessionBase * COMASUPLProtocolManager::CreateNewSessionL(enum CSUPLProtocolManagerBase::TSuplReqType, int, enum RSuplTerminalSubSession::TSuplServiceType)
+ ?SetIAPId@COMASuplSettings@@QAEXH@Z @ 24 NONAME ; void COMASuplSettings::SetIAPId(int)
+ ?ReadOMASuplSettingsL@COMASuplCommonConfig@@QAEXXZ @ 25 NONAME ; void COMASuplCommonConfig::ReadOMASuplSettingsL(void)
+ ?CancelRunSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 26 NONAME ; void COMASUPLProtocolManager::CancelRunSession(class CSuplSessionBase *)
+ ??1COMASUPLProtocolManager@@UAE@XZ @ 27 NONAME ; COMASUPLProtocolManager::~COMASUPLProtocolManager(void)
+ ?HandleSuplMessageL@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@AAVTRequestStatus@@PAVHBufC8@@@Z @ 28 NONAME ; void COMASUPLProtocolManager::HandleSuplMessageL(class CSuplSessionBase *, class TRequestStatus &, class HBufC8 *)
+ ?GetSUPLMessageVersionL@COMASUPLProtocolManager@@UAEHAAHABVTDesC8@@@Z @ 29 NONAME ; int COMASUPLProtocolManager::GetSUPLMessageVersionL(int &, class TDesC8 const &)
+ ?ConstructL@COMASuplSettings@@AAEXXZ @ 30 NONAME ; void COMASuplSettings::ConstructL(void)
+ ?NewL@COMASUPLProtocolManager@@SAPAV1@XZ @ 31 NONAME ; class COMASUPLProtocolManager * COMASUPLProtocolManager::NewL(void)
+ ?HandlePacket@COMASUPLProtocolManager@@UAEXABVTDesC8@@I@Z @ 32 NONAME ; void COMASUPLProtocolManager::HandlePacket(class TDesC8 const &, unsigned int)
+ ?CancelSuplTriggerSession@COMASUPLProtocolManager@@UAEXPAVCSuplSessionBase@@@Z @ 33 NONAME ; void COMASUPLProtocolManager::CancelSuplTriggerSession(class CSuplSessionBase *)
+ ?InitializeL@COMASUPLProtocolManager@@UAEXPAVCSuplCommunicationManager@@AAVTRequestStatus@@@Z @ 34 NONAME ; void COMASUPLProtocolManager::InitializeL(class CSuplCommunicationManager *, class TRequestStatus &)
+ ?NewL@COMASuplCommonConfig@@SAPAV1@XZ @ 35 NONAME ; class COMASuplCommonConfig * COMASuplCommonConfig::NewL(void)
+ ?SLPAddress@COMASuplSettings@@QBEABVTDesC8@@XZ @ 36 NONAME ; class TDesC8 const & COMASuplSettings::SLPAddress(void) const
+ ?HandlePacketError@COMASUPLProtocolManager@@UAEXH@Z @ 37 NONAME ; void COMASUPLProtocolManager::HandlePacketError(int)
+ ?NewL@COMASuplSettings@@SAPAV1@XZ @ 38 NONAME ; class COMASuplSettings * COMASuplSettings::NewL(void)
--- a/supl/locationomasuplprotocolhandler/protocolhandler/eabi/eposomasuplprotocolhandleru.def Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/eabi/eposomasuplprotocolhandleru.def Wed Jun 23 18:40:52 2010 +0300
@@ -25,28 +25,30 @@
_ZN23COMASUPLProtocolManager22GetSUPLMessageVersionLERiRK6TDesC8 @ 24 NONAME
_ZN23COMASUPLProtocolManager22RunSuplTriggerSessionLEP16CSuplSessionBaseR14TRequestStatusR28TSuplTerminalPeriodicTriggerRK7TDesC16iii @ 25 NONAME
_ZN23COMASUPLProtocolManager24CancelSuplTriggerSessionEP16CSuplSessionBase @ 26 NONAME
- _ZN23COMASUPLProtocolManager4NewLEv @ 27 NONAME
- _ZN23COMASUPLProtocolManagerC1Ev @ 28 NONAME
- _ZN23COMASUPLProtocolManagerC2Ev @ 29 NONAME
- _ZN23COMASUPLProtocolManagerD0Ev @ 30 NONAME
- _ZN23COMASUPLProtocolManagerD1Ev @ 31 NONAME
- _ZN23COMASUPLProtocolManagerD2Ev @ 32 NONAME
- _ZNK16COMASuplSettings10IsUIActiveEv @ 33 NONAME
- _ZNK16COMASuplSettings10SLPAddressEv @ 34 NONAME
- _ZNK16COMASuplSettings18SLPAddressfromImsiEv @ 35 NONAME
- _ZNK16COMASuplSettings5IAPIdEv @ 36 NONAME
- _ZTI13COMASuplTrace @ 37 NONAME
- _ZTI16COMASuplSettings @ 38 NONAME
- _ZTI20COMASuplCommonConfig @ 39 NONAME
- _ZTI20COMASuplDeInitilizer @ 40 NONAME
- _ZTI23COMASUPLProtocolManager @ 41 NONAME
- _ZTI26COMASuplInitilizeRequestor @ 42 NONAME
- _ZTV13COMASuplTrace @ 43 NONAME
- _ZTV16COMASuplSettings @ 44 NONAME
- _ZTV20COMASuplCommonConfig @ 45 NONAME
- _ZTV20COMASuplDeInitilizer @ 46 NONAME
- _ZTV23COMASUPLProtocolManager @ 47 NONAME
- _ZTV26COMASuplInitilizeRequestor @ 48 NONAME
- _ZThn4_N23COMASUPLProtocolManager12HandlePacketERK6TDesC8j @ 49 NONAME
- _ZThn4_N23COMASUPLProtocolManager17HandlePacketErrorEi @ 50 NONAME
+ _ZN23COMASUPLProtocolManager30MakeLocationConversionRequestLEP16CSuplSessionBaseR12TGeoCellInfoR14TRequestStatus @ 27 NONAME
+ _ZN23COMASUPLProtocolManager31CancelLocationConversionRequestEP16CSuplSessionBase @ 28 NONAME
+ _ZN23COMASUPLProtocolManager4NewLEv @ 29 NONAME
+ _ZN23COMASUPLProtocolManagerC1Ev @ 30 NONAME
+ _ZN23COMASUPLProtocolManagerC2Ev @ 31 NONAME
+ _ZN23COMASUPLProtocolManagerD0Ev @ 32 NONAME
+ _ZN23COMASUPLProtocolManagerD1Ev @ 33 NONAME
+ _ZN23COMASUPLProtocolManagerD2Ev @ 34 NONAME
+ _ZNK16COMASuplSettings10IsUIActiveEv @ 35 NONAME
+ _ZNK16COMASuplSettings10SLPAddressEv @ 36 NONAME
+ _ZNK16COMASuplSettings18SLPAddressfromImsiEv @ 37 NONAME
+ _ZNK16COMASuplSettings5IAPIdEv @ 38 NONAME
+ _ZTI13COMASuplTrace @ 39 NONAME
+ _ZTI16COMASuplSettings @ 40 NONAME
+ _ZTI20COMASuplCommonConfig @ 41 NONAME
+ _ZTI20COMASuplDeInitilizer @ 42 NONAME
+ _ZTI23COMASUPLProtocolManager @ 43 NONAME
+ _ZTI26COMASuplInitilizeRequestor @ 44 NONAME
+ _ZTV13COMASuplTrace @ 45 NONAME
+ _ZTV16COMASuplSettings @ 46 NONAME
+ _ZTV20COMASuplCommonConfig @ 47 NONAME
+ _ZTV20COMASuplDeInitilizer @ 48 NONAME
+ _ZTV23COMASUPLProtocolManager @ 49 NONAME
+ _ZTV26COMASuplInitilizeRequestor @ 50 NONAME
+ _ZThn4_N23COMASUPLProtocolManager12HandlePacketERK6TDesC8j @ 51 NONAME
+ _ZThn4_N23COMASUPLProtocolManager17HandlePacketErrorEi @ 52 NONAME
--- a/supl/locationomasuplprotocolhandler/protocolhandler/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -18,7 +18,7 @@
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
PRJ_EXPORTS
../inc/epos_comasuplprotocolmanager.h |../../inc/epos_comasuplprotocolmanager.h
--- a/supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplprotocolmanager.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/inc/epos_comasuplprotocolmanager.h Wed Jun 23 18:40:52 2010 +0300
@@ -253,6 +253,11 @@
*
*/
IMPORT_C virtual TInt GetSUPLMessageVersionL(TInt& aMajorVersion, const TDesC8& aReceivedMessage);
+ IMPORT_C void CancelLocationConversionRequest(CSuplSessionBase* aSuplSession);
+
+ IMPORT_C void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo,
+ TRequestStatus& aStatus );
protected: // Construction
/**
--- a/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplinitilizerequestor.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -223,7 +223,7 @@
SetActive();
break;
}
- iObserver.InitilizationCompletedL( iStatus.Int() );
+ iObserver.InitilizationCompletedL( iStatus.Int() );
}
}
--- a/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplprotocolmanager.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandler/src/epos_comasuplprotocolmanager.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -795,7 +795,24 @@
{
return GetSuplVersion(aMajorVersion,aReceivedMessage);
}
-
+EXPORT_C void COMASUPLProtocolManager::MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,TGeoCellInfo& aCellInfo,TRequestStatus& aStatus )
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager::MakeLocationConversionRequestL"), KTraceFileName, __LINE__);
+ if(iOMASuplProtocolHandler1)
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager::MakeLocationConversionRequestL if condition true"), KTraceFileName, __LINE__);
+ COMASUPLProtocolManager* ph1= (COMASUPLProtocolManager*) (iOMASuplProtocolHandler1);
+ ph1->MakeLocationConversionRequestL(aSuplSessn,aCellInfo,aStatus);
+ };
+ }
+EXPORT_C void COMASUPLProtocolManager::CancelLocationConversionRequest(CSuplSessionBase* aSuplSession)
+ {
+ if(iOMASuplProtocolHandler1)
+ {
+ COMASUPLProtocolManager* ph1= (COMASUPLProtocolManager*) (iOMASuplProtocolHandler1);
+ ph1->CancelLocationConversionRequest(aSuplSession);
+ };
+ }
// -----------------------------------------------------------------------------
// COMASUPLProtocolManager::DeInitilizationCompletedL
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/group/omasuplprotocolhandler1.mmp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/group/omasuplprotocolhandler1.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -90,7 +90,7 @@
LIBRARY efsrv.lib
LIBRARY aknnotify.lib
LIBRARY commonengine.lib
-LIBRARY agentdialog.lib
+//LIBRARY agentdialog.lib
LIBRARY epossuplprotocolhandlerplugin.lib
LIBRARY epos_comasuplasnplugin.lib
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplconnrequestor.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplconnrequestor.h Wed Jun 23 18:40:52 2010 +0300
@@ -33,6 +33,7 @@
class COMASuplFallBackHandler;
class COMASUPLProtocolManager1;
class COMASuplDialogTimer;
+class CRepository;
/**
* Class for doing asynchronous service i.e. used for Sending Packet to Socket.
*
@@ -92,6 +93,18 @@
*/
void CreateConnectionL(TInt aDialogTimeOutDelay);
+
+ /**
+ * CreateConnection Method Overload. Creates the Socket required to
+ * communicate with the SLP. Called in case of NI case.
+ * @since
+ * @param aPrompt used to show connection dialog using OCC Api's.
+ * @param aWlanOnly used to connect server using wlan only.
+ * @return None
+ * Added CreateConnectionL with aPrompt and aWLANOnly for OCC.
+ */
+ void CreateConnectionL(TBool aPrompt,TBool aWlanOnly);
+
/**
* SendPacket Method.
* @since Series 60 3.1
@@ -271,6 +284,8 @@
//SUPLSettings
CSuplSettingsInternal *iSuplSettings;
+ CRepository* iRepository;
+
//Trace Utility
COMASuplTrace* iTrace;
TBool iIsHSLPGenerated;
@@ -283,6 +298,11 @@
TBool iIsSettingInitilized;
TInt64 iCurrentSLPId;
+ TBool iPrompt;
+
+ TBool iWlanOnly;
+
+ TBool iIsStaleLocIdPresent;
};
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplprotocolmanager1.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplprotocolmanager1.h Wed Jun 23 18:40:52 2010 +0300
@@ -510,6 +510,28 @@
public: // COMASUPLProtocolManager
void SetCommonConfig(COMASuplCommonConfig*& aCommmonConfig);
+public:
+ /*
+ * Method used to make conversion request for retrieving position of a location id.
+ *
+ * @since S60 v5.2
+ * @param aSuplSessn session object on which processing will start
+ * @param aCellInfo contains cell id information and cell id type
+ * @param aStatus On return, the status of the request
+ *
+ */
+ void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo,
+ TRequestStatus& aStatus );
+ /*
+ * Method used to make cancel a conversion request for retrieving position of a location id.
+ *
+ * @since S60 v5.2
+ * @param aSuplSessn session object which is to be cancelled
+ *
+ */
+ void CancelLocationConversionRequest(CSuplSessionBase* aSuplSession);
+
public : // from MSuplSettingsObserver
virtual void HandleSuplTriggerStatusChangeL(
CSuplSettings::TSuplTriggerStatus aSuplTriggerStatus );
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsession.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsession.h Wed Jun 23 18:40:52 2010 +0300
@@ -257,10 +257,14 @@
* @param aAllowedCapabilities, Capabilities of SET
* @param aSessionIdSeed, seed value of session
* @param aRequestID, Request Identification number.
+ * @param aIsStaleCellId, indicates if this session is for a stale cell id conversion
+ * @param aLocationId , contains cell id parameters for which position is to be retrieved
+ * @param aPrompt indicates if the user is to be prompted when making location requests
+ * @param aWlanOnly ,request to connect server using wlan connection only using OCC Api's
* @return None
*/
virtual void RunSuplSessionL(TRequestStatus& aStatus, TBool aFirstReq, const TDesC& aHslpAddress, TBool aFallBack, TInt aAllowedCapabilities,
- TInt aSessionIdSeed, TInt aRequestID = 0);
+ TInt aSessionIdSeed, TInt aRequestID = 0,TBool aIsStaleCellId = EFalse,COMASuplLocationId* aLocationId = NULL,TBool aPrompt = EFalse,TBool aWlanOnly = EFalse);
/**
* RunSessionL, Starts the SUPL Sesssion for Terminal Initiated Location Request
@@ -1142,8 +1146,18 @@
COMASuplAsnHandlerBase* iOMASuplAsnHandlerBaseImpl;
CPosNetworkPrivacy* iNetworkPrivacy;
+ //Stale cell id which for which position is to be retrieved
+ COMASuplLocationId* iStaleLocationId;
+ //indicates if this session is for a stale cell id conversion
+ TBool iIsStaleLocIdPresent;
+ //indicates if the user needs to be prompted when making a location request
+ TBool iStaleLocIdPrompt;
+ TBool iIhaveLaunchedUsagedialog;
TUint iPortNum;
+
+ //To indicate WLAN connection for OCC
+ TBool iWlanOnly;
};
#endif // C_COMASUPLSESSION_H
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplsettingslauncher.h Wed Jun 23 18:40:52 2010 +0300
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32std.h>
-#include <agentdialog.h> // for RGenConAgentDialogServer
+//#include <agentdialog.h> // for RGenConAgentDialogServer
const TUid KNotifier1Uid = { 0x10009C00 };
const TUid KNotifier2Uid = { 0x10009C01 };
@@ -155,7 +155,7 @@
/**
* IAP Selector Handle
*/
- RGenConAgentDialogServer iIapSelector;
+ // RGenConAgentDialogServer iIapSelector;
/**
* Selected IAP ID
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstartstate.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/inc/epos_comasuplstartstate.h Wed Jun 23 18:40:52 2010 +0300
@@ -108,6 +108,16 @@
* @return None
*/
void SetQop(TSuplTerminalQop& aQop);
+
+ /*
+ * SetStaleCellIdToUse Method is used to set the Stale Cell id to use in case of
+ * retrieving position for an already retrieved cell id.
+ * For example : in case of Geo Tagged Images
+ * @since S60 v5.2
+ * @param aLocationId This is the locatiod id parameter containing the stale cell id
+ * @return None
+ */
+ void SetStaleCellIdToUse(COMASuplLocationId* aLocationId);
public: //MOMASuplETelObserver
@@ -284,6 +294,9 @@
TOMASuplECellInfo iMmCellInfo;
COMASuplAsnHandlerBase* iOMASuplAsnHandlerBase;
+
+ //Indicates whether we need to create start message with Stale Cell Id
+ TBool iIsStaleCellId;
};
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplconnrequestor.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplconnrequestor.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -16,6 +16,7 @@
*/
+#include <centralrepository.h>
#include "epos_comasuplprotocolmanager1.h"
#include "epos_csuplcommunicationmanager.h"
@@ -26,6 +27,8 @@
#include "epos_momasuplconnobserver.h"
#include "epos_comasupltrace.h"
#include "epos_comasuplfallbackhandler.h"
+#include "epos_csuplsettingsinternalcrkeys.h"
+
#include "epos_comasupldialogtimer.h"
_LIT(KTraceFileName,"SUPL_OMA_SESSION::epos_comasuplconnrequestor.cpp");
@@ -47,7 +50,7 @@
iCommMgr(aCommMgr),
iProtocolManager(aProtoMgr),
iPort(aPort),
- iObserver( aObserver)
+ iObserver( aObserver),iPrompt(EFalse),iWlanOnly(EFalse),iIsStaleLocIdPresent(EFalse)
{
}
@@ -69,7 +72,7 @@
iHslpAddrFromImsiUsed = EFalse;
iFallBackHandler = COMASuplFallBackHandler::NewL(*iSuplSettings);
-
+ iRepository = CRepository::NewL(KCRUidSuplSettings);
iLastConnectionError = KErrNone;
iCurrentSLPId = KErrNotFound;
@@ -107,6 +110,8 @@
delete iSuplSettings;
delete iTrace;
delete iFallBackHandler;
+ delete iRepository;
+ iRepository = NULL;
}
// -----------------------------------------------------------------------------
@@ -156,7 +161,41 @@
iHostAddress.Zero();
iObserver.OperationCompleteL(errorCode);
}
+ }
}
+
+
+ // -----------------------------------------------------------------------------
+// COMASuplConnRequestor::CreateConnection for OCC
+// -----------------------------------------------------------------------------
+//
+void COMASuplConnRequestor::CreateConnectionL(TBool aPrompt,TBool aWlanOnly)
+ {
+ TBuf<30> GeoTagServerName;
+ TBuf<128> buffer;
+ iState = EConnecting;
+
+ iPrompt = aPrompt;
+ iWlanOnly = aWlanOnly;
+ iIsStaleLocIdPresent = ETrue;
+ //iIsTimeoutDialogTimerStarted = EFalse;
+ //iDialogTimer->Cancel();
+
+ TInt err;
+ err = iRepository->Get(KSuplGeoInfoConvServerName, GeoTagServerName);
+ User::LeaveIfError(err);
+ buffer.Copy(_L("Connecting to"));
+ buffer.Append(GeoTagServerName);
+ iTrace->Trace(buffer,KTraceFileName, __LINE__);
+ iTls = ETrue;
+ iPskTls = EFalse;
+ iIAPId = 0;
+
+
+ iConnection = iCommMgr.CreateConnectionL(GeoTagServerName,iTls,iPskTls,iPort,iIAPId);
+
+ OpenConnection();
+
}
// -----------------------------------------------------------------------------
@@ -208,8 +247,17 @@
if(iConnection)
{
iState = EConnecting;
- iConnection->Connect(iStatus);
- SetActive();
+ if(iIsStaleLocIdPresent)
+ {
+ iTrace->Trace(_L("OpenConnection OCC"),KTraceFileName, __LINE__);
+ iConnection->Connect(iStatus,iPrompt,iWlanOnly);
+ }
+ else
+ {
+ iConnection->Connect(iStatus);
+ }
+ SetActive();
+
}
}
else
@@ -278,7 +326,17 @@
{
iHostAddress.Zero();
CloseConnection();
- CreateConnectionL();
+ if(iIsStaleLocIdPresent)
+ {
+ iTrace->Trace(_L("Request completed with error..."), KTraceFileName, __LINE__);
+ iObserver.OperationCompleteL(iLastConnectionError);
+ }
+ else
+ {
+ iTrace->Trace(_L("Setting API Initilizing Completed..."), KTraceFileName, __LINE__);
+ CreateConnectionL();
+ }
+
}
else
{
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposinitstate.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplposinitstate.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -443,7 +443,7 @@
}
// Get the information from POS
if(iPosRequestor)
- User::LeaveIfError(iPosRequestor->GetSuplInfoL());
+ User::LeaveIfError(iPosRequestor->GetSuplInfoL());
}
// -----------------------------------------------------------------------------
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -46,6 +46,9 @@
#include "epos_comasupltimeouttimer.h"
#include "epos_omasuplconstants.h"
#include "epos_comasuplcommonconfig.h"
+#include "epos_suplgeocellinfo.h"
+
+#include "epos_comasupllocationid.h"
_LIT(KTraceFileName,"SUPL_OMA_PH::EPos_COMASUPLProtocolManager1.cpp");
@@ -2073,9 +2076,102 @@
iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut;
iPersistFailTimer = aCommmonConfig->iPersistFailTimer;
}
-void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(
- CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ )
+void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ )
+{
+
+}
+
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager1::MakeLocationConversionRequestL
+//
+// To make conversion request to retrieve position for a given cell id
+// -----------------------------------------------------------------------------
+//
+void COMASUPLProtocolManager1::MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo,
+ TRequestStatus& aStatus )
{
-
+ iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL"), KTraceFileName, __LINE__);
+ TBuf<64> tempBuf;
+
+ if ( iSuplSessions.Find(aSuplSessn) == KErrNotFound )
+ {
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotFound );
+ return;
+ }
+
+ CheckForSessionCount();
+ iRunningSessionCount++;
+
+ COMASuplLocationId* locationId = COMASuplLocationId::NewL();
+ CleanupStack::PushL(locationId);
+ COMASuplLocationId::TOMASuplStatus status = COMASuplLocationId::EStale;
+ switch(aCellInfo.iGeoCellType)
+ {
+ case EGeoGsmCell:
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL - Setting GSM Cell Info"), KTraceFileName, __LINE__);
+ COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL();
+ cellInfo->SetSuplGSMCellInfo(aCellInfo.iMNC,aCellInfo.iMCC,aCellInfo.iCid,aCellInfo.iLac);
+ locationId->SetSuplLocationId(cellInfo,status);
+ }
+ break;
+ case EGeoWcdmaCell:
+ {
+ iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL - Setting WCDMA Cell Info"), KTraceFileName, __LINE__);
+ COMASuplCellInfo* cellInfo = COMASuplCellInfo::NewL();
+ cellInfo->SetSuplCellInfo(aCellInfo.iMNC,aCellInfo.iMCC,aCellInfo.iCid);
+ locationId->SetSuplLocationId(cellInfo,status);
+ }
+ break;
+ }
+ CleanupStack::Pop(locationId);
+ tempBuf.Copy(_L("MCC = "));
+ tempBuf.AppendNum(aCellInfo.iMCC);
+ iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
+ tempBuf.Copy(_L("MNC = "));
+ tempBuf.AppendNum(aCellInfo.iMNC);
+ iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
+ tempBuf.Copy(_L("LAC = "));
+ tempBuf.AppendNum(aCellInfo.iLac);
+ iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
+ tempBuf.Copy(_L("CId = "));
+ tempBuf.AppendNum(aCellInfo.iCid);
+ iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
+ tempBuf.Copy(_L("Prompt = "));
+ tempBuf.AppendNum(aCellInfo.iConnectionPrompt);
+ iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
+
+ TInt allowedCapabilities = KECID|KCID;
+ TInt requestID = 1000;
+ COMASuplSession* OMASession = static_cast<COMASuplSession*>(aSuplSessn);
+ OMASession->SetConfigurationParameters(iUT1_StartTimer,iUT2_PosInitTimer, iUT3_PosTimer,iPrivacyTimer,iSETMode,
+ iSuplUsage, iPersistFailTimer,iSuplInitTimeOut);
+ OMASession->RunSuplSessionL(aStatus,ETrue, KNullDesC,EFalse, allowedCapabilities,iRunningSessionCount,requestID,ETrue,locationId,aCellInfo.iConnectionPrompt,aCellInfo.iWlanOnly);
+
+ }
+
+// -----------------------------------------------------------------------------
+// COMASUPLProtocolManager1::CancelLocationConversionRequest
+//
+// Cancel an ongoing conversion request
+// -----------------------------------------------------------------------------
+//
+void COMASUPLProtocolManager1::CancelLocationConversionRequest(CSuplSessionBase* aSuplSession)
+ {
+ // Log
+ iTrace->Trace(_L("COMASUPLProtocolManager1::CancelLocationConversionRequest"), KTraceFileName, __LINE__);
+
+ // Check if the Session is valid
+ TInt index = iSuplSessions.Find(aSuplSession);
+
+ if(KErrNotFound == index)
+ {
+ iTrace->Trace(_L("Cannot find Supl session."), KTraceFileName, __LINE__);
+ return;
+ }
+ aSuplSession->CancelRunSession();
+ return ;
}
// end of file
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplsession.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -128,7 +128,7 @@
iEtelRoamingCheck(EFalse),
iIapDialogShown(EFalse),
iIapDlgTimerExpired(EFalse),
- iOMASuplAsnHandlerBaseImpl(aOMASuplAsnHandlerBase)
+ iOMASuplAsnHandlerBaseImpl(aOMASuplAsnHandlerBase),iWlanOnly(EFalse)
{
}
@@ -435,7 +435,7 @@
//
void COMASuplSession::RunSuplSessionL(TRequestStatus& aStatus, TBool aFirstReq, const TDesC& aHslpAddress,
TBool aFallBack, TInt aAllowedCapabilities,
- TInt aSessionIdSeed,TInt aRequestID)
+ TInt aSessionIdSeed,TInt aRequestID,TBool aIsStaleCellId,COMASuplLocationId* aLocationId,TBool aPrompt,TBool aWlanOnly)
{
iSessionStartTime1.HomeTime();
@@ -448,7 +448,32 @@
iRequestID = aRequestID;
iTrace->Trace(_L("Start COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__);
-
+
+ if(aIsStaleCellId)
+ {
+ iTrace->Trace(_L("Start COMASuplSession::RunSuplSession for Stale Cell Id"), KTraceFileName, __LINE__);
+ iIsStaleLocIdPresent = ETrue;
+
+
+ if(iStaleLocationId)
+ {
+ delete iStaleLocationId;
+ iStaleLocationId = NULL;
+ }
+
+ iStaleLocationId = aLocationId;
+ iStaleLocIdPrompt = aPrompt;
+ iWlanOnly = aWlanOnly; //OCC
+
+ iTrace->Trace(_L("Deleting pos requestor as session is for Stale Cell Id"), KTraceFileName, __LINE__);
+ delete iOMASuplPOSRequestor;
+ iOMASuplPOSRequestor = NULL;
+
+ // Delete the POS Session
+ delete iPOSSession;
+ iPOSSession = NULL;
+
+ }
// Log Session Id
TBuf<64> id;
id.Append(_L("Session Id is "));
@@ -461,23 +486,27 @@
iTrace->Trace(id,KTraceFileName, __LINE__);
iSETSessionUniqueId = aSessionIdSeed;
-
+
+ iIhaveLaunchedUsagedialog = EFalse;
TInt networkMode = 1;
networkMode = GetNetworkModeL();
- if ( networkMode == ECoreAppUIsNetworkConnectionNotAllowed )
- {
- id.Copy(_L("The device is in OFFLINE mode."));
- iTrace->Trace(id,KTraceFileName, __LINE__);
- iSessionObserver.TerminateSession(this, KErrGeneral);
- return;
- }
- else
- {
- id.Copy(_L("The device is in ON LINE mode."));
- iTrace->Trace(id,KTraceFileName, __LINE__);
- }
+ if(!iWlanOnly) //OCC
+ {
+ if ( networkMode == ECoreAppUIsNetworkConnectionNotAllowed )
+ {
+ id.Copy(_L("The device is in OFFLINE mode."));
+ iTrace->Trace(id,KTraceFileName, __LINE__);
+ iSessionObserver.TerminateSession(this, KErrGeneral);
+ return;
+ }
+ else
+ {
+ id.Copy(_L("The device is in ON LINE mode."));
+ iTrace->Trace(id,KTraceFileName, __LINE__);
+ }
+ } //OCC
if(aAllowedCapabilities == 0)
{
@@ -492,11 +521,35 @@
iSuplSessionId->SetSLPSessionID(NULL);
iConnRequestor->SetDefaultParametersL(aHslpAddress,aFallBack);
-
- if (aFirstReq)
- CheckForSuplUsageL();
- else
- CheckForPreviousResultL();
+
+ id.Copy(_L("aFallBack value is "));
+ id.AppendNum(aFallBack);
+ iTrace->Trace(id,KTraceFileName, __LINE__);
+
+ if(!iWlanOnly) //OCC
+ {
+ iTrace->Trace(_L("iWLANOnly false COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__);
+
+ id.Copy(_L("aFirstReq value is "));
+ id.AppendNum(aFirstReq);
+ iTrace->Trace(id,KTraceFileName, __LINE__);
+
+ if (aFirstReq)
+ {
+ iTrace->Trace(_L("start CheckForSuplUsageL COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__);
+ CheckForSuplUsageL();
+ }
+ else
+ {
+ iTrace->Trace(_L("start CheckForPreviousResultL COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__);
+ CheckForPreviousResultL();
+ }
+ }
+ else
+ {
+ iTrace->Trace(_L("iWLANOnly true COMASuplSession::RunSuplSession"), KTraceFileName, __LINE__);
+ InitializeL(iRequestID);
+ } //OCC
// Clear Position....
@@ -669,7 +722,13 @@
COMASuplStartState* startSuplState = static_cast <COMASuplPosInitState *>(iSuplState);
startSuplState->SetQop(iClientQop);
}
- //SMP Changes
+ if(iIsStaleLocIdPresent)
+ {
+ iTrace->Trace(_L("GenerateSuplStartL setting stale location id in supl start"), KTraceFileName, __LINE__);
+ COMASuplStartState* startSuplState = static_cast <COMASuplPosInitState *>(iSuplState);
+ startSuplState->SetStaleCellIdToUse(iStaleLocationId->CloneL());
+ }
+ iSuplSessionState = ESUPL_GENERATE;
iSuplMsgType = ESUPL_START;
SetPOSMsgPluginState(COMASuplPosSessionBase::EOMASuplCreating);
TInt err = iSuplState->GenerateMessageL();
@@ -716,6 +775,12 @@
iTrace->Trace(msg, KTraceFileName, __LINE__);
iSuplState = COMASuplPosInitState::NewL(iSETCapabilities, iMobilePhone, iUT2_PosInitTimer,
iOMASuplPOSRequestor,iAllowedCapabilities,iRequestType, iPosMethod,iOMASuplAsnHandlerBaseImpl);
+ if(iIsStaleLocIdPresent)
+ {
+ iTrace->Trace(_L("COMASuplSession::GenerateSuplPosInitL() Setting Stale Location Id "), KTraceFileName, __LINE__);
+ COMASuplPosInitState* posInitSuplState = static_cast <COMASuplPosInitState *>(iSuplState);
+ posInitSuplState->SetStaleCellIdToUse(iStaleLocationId->CloneL());
+ }
}
iSuplState->SetMsgStateObserver(this);
@@ -861,6 +926,7 @@
//
void COMASuplSession::OperationCompleteL(TInt aErrorCode)
{
+ iTrace->Trace(_L("COMASuplSession::OperationCompleteL"), KTraceFileName, __LINE__);
TBuf<256> msg;
if(KErrNone != aErrorCode)
{
@@ -873,6 +939,10 @@
HandleSuplErrorL(aErrorCode);
return;
}
+
+ msg.Copy(_L("iSuplSessionState : "));
+ msg.AppendNum(iSuplSessionState);
+ iTrace->Trace(msg, KTraceFileName, __LINE__);
TInt err = KErrNone;
@@ -934,7 +1004,15 @@
}
else //terminal initiated case
{
- TRAP( err, iConnRequestor->CreateConnectionL() );
+ iTrace->Trace(_L("Connection block."), KTraceFileName, __LINE__);
+ if(iIsStaleLocIdPresent)
+ {
+ TRAP( err, iConnRequestor->CreateConnectionL(iStaleLocIdPrompt,iWlanOnly) );
+ }
+ else
+ {
+ TRAP( err, iConnRequestor->CreateConnectionL() );
+ }
}
if(KErrNone != err)
{
@@ -1762,7 +1840,7 @@
TInt err = PosEstimate.GetConfidence(confidence);
altitude = 0;
if (altErr == KErrNone)
- AltitudeInfo.GetAltitudeInfo(AltitudeDirection,altitude,AltitudeUncertainty);
+ AltitudeInfo.GetAltitudeInfo(AltitudeDirection,altitude,AltitudeUncertainty);
PosEstimate.GetUncertainty(Uncertainty);
Uncertainty.GetUncertainty(UncertaintySemiMajor,UncertaintySemiMinor,
OrientationMajorAxis);
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplstartstate.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -149,9 +149,24 @@
//
TInt COMASuplStartState::GenerateMessageL()
{
- iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__);
- iLocationIDRequestor->GetLocationID();
- return KErrNone;
+
+ iTrace->Trace(_L("Start of COMASuplStartState::GenerateMessage"), KTraceFileName, __LINE__);
+ //if no cell stale cell id is available, retrieve current cell id
+ if(!iIsStaleCellId)
+ {
+ iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id false"), KTraceFileName, __LINE__);
+ iLocationIDRequestor->GetLocationID();
+ iTrace->Trace(_L("COMASuplStartState::GenerateMessage called get location id"), KTraceFileName, __LINE__);
+ }
+ else // dont retrieve current cell id as cell id was already provided
+ {
+ iGenerationStatus = EFalse;
+ iECId = EFalse;
+ iTrace->Trace(_L("COMASuplStartState::GenerateMessage stale cell id true"), KTraceFileName, __LINE__);
+ GetAssistceDataFromPluginL(KErrNone);
+ }
+
+ return KErrNone;
}
// -----------------------------------------------------------------------------
@@ -996,4 +1011,15 @@
aCurrentCellId.iMCC = lRefMCC;
aCurrentCellId.iLac = lRefLAC;
}
-} // End of File
+}
+void COMASuplStartState::SetStaleCellIdToUse(COMASuplLocationId* aLocationId)
+ {
+ if(iLocationId)
+ {
+ delete iLocationId;
+ iLocationId = NULL;
+ }
+ iLocationId = aLocationId;
+ iIsStaleCellId = ETrue;
+ }
+// End of File
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -18,7 +18,7 @@
PRJ_PLATFORMS
-DEFAULT
+DEFAULT GCCE
PRJ_EXPORTS
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/group/omasuplprotocolhandler2.mmp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/group/omasuplprotocolhandler2.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -95,7 +95,7 @@
LIBRARY efsrv.lib
LIBRARY aknnotify.lib
LIBRARY commonengine.lib
-LIBRARY agentdialog.lib
+//LIBRARY agentdialog.lib
LIBRARY epossuplprotocolhandlerplugin.lib
LIBRARY epos_comasuplasnplugin.lib
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettings.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettings.h Wed Jun 23 18:40:52 2010 +0300
@@ -40,7 +40,7 @@
* @param None.
* @return Instance of COMASuplSettings
*/
- static COMASuplSettings* COMASuplSettings::NewL();
+ static COMASuplSettings* NewL();
/**
* ~COMASuplSettings Method, Destructor
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettingslauncher.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/inc/epos_comasuplsettingslauncher.h Wed Jun 23 18:40:52 2010 +0300
@@ -22,7 +22,7 @@
// INCLUDES
#include <e32std.h>
-#include <agentdialog.h> // for RGenConAgentDialogServer
+//#include <agentdialog.h> // for RGenConAgentDialogServer
const TUid KNotifier1Uid = { 0x10009C00 };
const TUid KNotifier2Uid = { 0x10009C01 };
@@ -155,7 +155,7 @@
/**
* IAP Selector Handle
*/
- RGenConAgentDialogServer iIapSelector;
+ // RGenConAgentDialogServer iIapSelector;
/**
* Selected IAP ID
--- a/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposinitstate.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/protocolhandlerver2/src/epos_comasuplposinitstate.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -800,6 +800,8 @@
}
//if the current Cell id is the same as the Cell id when we made the request for assistance data then use the assistance data
//and we have not already repeated a request before
+ //Comment to ignore coverity forward NULL error
+ //coverity[FORWARD_NULL :FALSE]
if(!iRepeatedPosDataFetch && iLocationId->GetCellId() == aLocationId->GetCellId())
{
iTrace->Trace(_L("COMASuplPosInitState::ComparisionLocationIDRequestCompletedL Cell Id not changed since making last request, so continuing"), KTraceFileName, __LINE__);
--- a/supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettings.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/provisioninghandler/src/epos_comasuplsettings.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -20,7 +20,7 @@
#include <CWPParameter.h>
#include <WPAdapterUtil.h>
-#include <ApUtils.h>
+//#include <ApUtils.h>
#include "epos_comasupltrace.h"
#include "epos_comasuplsettings.h"
--- a/supl/locationomasuplprotocolhandler/supllistener/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/supllistener/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -19,12 +19,11 @@
PRJ_PLATFORMS
-WINSCW ARMV5
+WINSCW ARMV5 GCCE
PRJ_MMPFILES
./epos_omasupllistener.mmp
// for backup restore
PRJ_EXPORTS
-../data/backup_registration.xml /epoc32/release/winscw/udeb/z/private/1027509E/backup_registration.xml
-../data/backup_registration.xml /epoc32/data/z/private/1027509E/backup_registration.xml
+../data/backup_registration.xml z:/private/1027509E/backup_registration.xml
../inc/epos_comasuplproductconfigcrkeys.h |../../../inc/epos_comasuplproductconfigcrkeys.h
\ No newline at end of file
--- a/supl/locationomasuplprotocolhandler/supllistener/inc/epos_comasuplsmslistenerbase.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationomasuplprotocolhandler/supllistener/inc/epos_comasuplsmslistenerbase.h Wed Jun 23 18:40:52 2010 +0300
@@ -112,7 +112,7 @@
*
* @since S60 v3.1
*/
- void COMASuplSmsListenerBase::SendL( const TPtr8& aMessage );
+ void SendL( const TPtr8& aMessage );
// from base class CActive
/**
Binary file supl/locationsuplfw/conf/suplsettings.confml has changed
Binary file supl/locationsuplfw/conf/suplsettings_102073D6.crml has changed
--- a/supl/locationsuplfw/gateway/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -23,13 +23,8 @@
WINSCW ARMV5
PRJ_EXPORTS
-/****
-../Data/102073D2.txt /epoc32/RELEASE/winscw/UDEB/Z/private/10202be9/102073D2.txt
-../Data/102073D2.txt /epoc32/data/Z/private/10202be9/102073D2.txt
-*/
-../data/backup_registration.xml /epoc32/RELEASE/winscw/udeb/z/private/102073ca/backup_registration.xml
-../data/backup_registration.xml /epoc32/data/z/private/102073ca/backup_registration.xml
+../data/backup_registration.xml z:/private/102073ca/backup_registration.xml
PRJ_MMPFILES
epos_csuplserver.mmp
--- a/supl/locationsuplfw/gateway/inc/epos_csuplipcsubsession.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplipcsubsession.h Wed Jun 23 18:40:52 2010 +0300
@@ -126,6 +126,11 @@
void HandlePeriodicTriggerSessionWithServernameL(const RMessage2& aMessage);
void HandleStopTriggerringSessionL(const RMessage2& aMessage);
void HandleNotifyTriggerFiredL(const RMessage2& aMessage);
+ /*
+ * For Periodic Trigger Seesion
+ */
+ void HandleLocationConversionL(const RMessage2& aMessage);
+ void HandleCancelLocationConversionL(const RMessage2& aMessage);
private: // Data
CSuplSessionBase* iSuplSession;
--- a/supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplsessionmanager.h Wed Jun 23 18:40:52 2010 +0300
@@ -25,6 +25,7 @@
#include <lbspositioninfo.h>
#include <epos_suplterminal.h>
#include <epos_suplterminaltrigger.h>
+#include <epos_suplgeocellinfo.h>
#include "epos_csuplecomeventwatcher.h"
// FORWARD DECLARATIONS
@@ -32,6 +33,7 @@
class CSuplSessionBase;
class CSuplCommunicationManager;
+
// CLASS DECLARATION
/**
@@ -87,6 +89,14 @@
TInt GetSUPLMessageVersionL(TInt& aMajorVersion, const TDesC8& aReceivedMessage);
+
+ void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo,
+ TRequestStatus& aStatus
+ );
+
+ void CancelLocationConversionRequest(CSuplSessionBase *aSessn);
+
private:
/**
--- a/supl/locationsuplfw/gateway/inc/epos_csuplsessionrequest.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/inc/epos_csuplsessionrequest.h Wed Jun 23 18:40:52 2010 +0300
@@ -27,7 +27,7 @@
#include <lbspositioninfo.h>
#include <epos_suplterminalqop.h>
#include <epos_suplterminaltrigger.h>
-
+#include "epos_suplgeocellinfo.h"
// CONSTANT DECLARATIONS
// FORWARD DECLARATIONS
@@ -99,6 +99,9 @@
void CancelTriggerringRequest();
void ProtocolHUnloaded();
+ void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,TGeoCellInfo& aCellInfo );
+
+ void CancelLocationConversionRequest();
protected: // From CActive
@@ -129,7 +132,9 @@
ESuplForwardMessage,
ESuplStartTriggerRequest,
ESuplStopTriggerRequest,
- ESuplTriggerFiredNotifyRequest
+ ESuplTriggerFiredNotifyRequest,
+ ESuplLocationConversionRequest,
+ ESuplCancelLocationConversionRequest
};
TSuplRequestStage iRequestPhase;
--- a/supl/locationsuplfw/gateway/src/epos_csuplipcsubsession.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplipcsubsession.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -226,6 +226,19 @@
HandleNotifyTriggerFiredL(aMessage);
break;
}
+ case ESuplTerminalSubssnLocationConversion:
+ {
+ iMessage=aMessage;
+ iReqType = ESuplTerminalSubssnLocationConversion;
+ HandleLocationConversionL(aMessage);
+ break;
+ }
+
+ case ESuplTerminalSubssnCancelLocationConversion:
+ {
+ HandleCancelLocationConversionL(aMessage);
+ break;
+ }
default:
User::Leave(KErrNotSupported);
}
@@ -734,5 +747,51 @@
CleanupStack::Pop(fireInfoBuf);
}
-
+// ---------------------------------------------------------
+// CSuplIPCSubSession::HandleLocationConversionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSuplIPCSubSession::HandleLocationConversionL(const RMessage2& aMessage)
+ {
+ DEBUG_TRACE("CSuplIPCSubSession::HandleLocationConversionL", __LINE__)
+
+ if (iSuplSessnReq->IsActive())
+ {
+ SuplGlobal::RequestComplete(aMessage, KErrAlreadyExists);
+ }
+
+ if(iReqType==ESuplTerminalSubssnLocationConversion)
+ {
+ HBufC8* cellBuf = SuplGlobal::CopyClientBuffer8LC(aMessage,0);
+
+ TGeoCellInfo& cellInfo = reinterpret_cast
+ <TGeoCellInfo&>(const_cast<TUint8&>(*cellBuf->Ptr()));
+
+ iSuplSessnReq->MakeLocationConversionRequestL( iSuplSession,cellInfo );
+
+ CleanupStack::PopAndDestroy(cellBuf);
+ }
+
+ }
+
+// ---------------------------------------------------------
+// CSuplIPCSubSession::HandleCancelLocationConversionL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSuplIPCSubSession::HandleCancelLocationConversionL(const RMessage2& aMessage)
+ {
+ DEBUG_TRACE("CSuplIPCSubSession::HandleCancelLocationConversionL", __LINE__)
+
+ if (!iSuplSessnReq->IsActive()||(iReqType!=ESuplTerminalSubssnLocationConversion))
+ {
+ User::Leave(KErrNotFound);
+ }
+ iSuplSessnReq->CancelLocationConversionRequest();
+ SuplGlobal::RequestComplete(aMessage, KErrNone);
+ CompleteRunSession(KErrCancel);
+ }
// End of File
--- a/supl/locationsuplfw/gateway/src/epos_csuplserver.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplserver.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -264,7 +264,7 @@
}
//if secure id is not equal to KSuplWapSecureId or KSuplWapSecureId, then perform capability check
- if ((aMessage.SecureId() != KSuplWapSecureId && aMessage.SecureId() != KNetworkGatewaySID))
+ if ((aMessage.SecureId() != KSuplWapSecureId && aMessage.SecureId() != KNetworkGatewaySID && aMessage.SecureId() != 0x102869DF))
{
if (!aMessage.HasCapability(ECapabilityCommDD))
{
@@ -322,8 +322,11 @@
static _LIT_SECURITY_POLICY_S0(allowSuplWapPolicy, KSuplWapSecureId);
TBool isSuplWap = allowSuplWapPolicy().CheckPolicy(aMessage);
- //Check if the request was made by one of the allowed processes else check for required capability
- if (!isNetworkGateway && !isSuplWap )
+ static _LIT_SECURITY_POLICY_S0(allowlocationserverPolicy, 0x102869DF);
+ TBool islocationserver = allowlocationserverPolicy().CheckPolicy(aMessage);
+
+ //Check if the request was made by one of the allowed processes else check for required capability
+ if (!isNetworkGateway && !isSuplWap && !islocationserver)
{
if (!aMessage.HasCapability(ECapabilityCommDD))
{
--- a/supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplsessionmanager.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -465,5 +465,49 @@
User::RequestComplete(status,KErrNotReady);
}
}
+// ---------------------------------------------------------
+// CSuplSessionManager::MakeLocationConversionRequestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSuplSessionManager::MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo,
+ TRequestStatus& aStatus
+ )
+ {
+ DEBUG_TRACE("CSuplSessionManager::MakeLocationConversionRequestL", __LINE__)
+ TInt err = KErrNone;
+ if(iProtocolMgr && aSuplSessn)
+ {
+ DEBUG_TRACE("CSuplSessionManager::MakeLocationConversionRequestL if condition true", __LINE__)
+ TRAP(err,iProtocolMgr->MakeLocationConversionRequestL(aSuplSessn,aCellInfo,aStatus));
+ DEBUG_TRACE("CSuplSessionManager::MakeLocationConversionRequestL err", __LINE__)
+ if(err!=KErrNone)
+ {
+ DEBUG_TRACE("CSuplSessionManager::MakeLocationConversionRequestL err not KErrNone", __LINE__)
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotReady);
+ }
+ }
+ else
+ {
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotReady);
+ }
+ }
+
+// ---------------------------------------------------------
+// CSuplSessionManager::CancelLocationConversionRequest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSuplSessionManager::CancelLocationConversionRequest(CSuplSessionBase *aSessn)
+ {
+ DEBUG_TRACE("CSuplSessionManager::CancelLocationConversionRequest", __LINE__)
+ if(iProtocolMgr && aSessn)
+ iProtocolMgr->CancelLocationConversionRequest(aSessn);
+ }
// End of File
--- a/supl/locationsuplfw/gateway/src/epos_csuplsessionrequest.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/gateway/src/epos_csuplsessionrequest.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -245,7 +245,13 @@
iNetObserver->CompleteForwardMessageL(iHandle);
break;
}
-
+ case ESuplLocationConversionRequest:
+ case ESuplCancelLocationConversionRequest:
+ {
+ iRequestPhase = ESuplReqInactive;
+ iObserver->CompleteRunSession(err);
+ break;
+ }
default :
DebugPanic(EPosSuplServerPanicRequestInconsistency);
}
@@ -390,5 +396,33 @@
iSessnMgr.CancelTriggerringSession(iSuplSessn);
//SetActive();
}
-
+// ---------------------------------------------------------
+// CSuplSessionRequest::MakeLocationConversionRequestL
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSuplSessionRequest::MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo )
+ {
+ DEBUG_TRACE("CSuplSessionRequest::MakeLocationConversionRequestL", __LINE__)
+ iRequestPhase = ESuplLocationConversionRequest;
+ iStatus = KRequestPending;
+ iSessnMgr.MakeLocationConversionRequestL(aSuplSessn,aCellInfo,iStatus );
+ SetActive();
+ }
+
+
+// ---------------------------------------------------------
+// CSuplSessionRequest::CancelLocationConversionRequest
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+void CSuplSessionRequest::CancelLocationConversionRequest()
+ {
+ DEBUG_TRACE("CSuplSessionRequest::CancelLocationConversionRequest", __LINE__)
+ iRequestPhase = ESuplCancelLocationConversionRequest;
+ iSessnMgr.CancelLocationConversionRequest(iSuplSessn);
+ }
// End of File
--- a/supl/locationsuplfw/protocolhandlerapi/bwins/epossuplprotocolhandlerpluginu.def Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/bwins/epossuplprotocolhandlerpluginu.def Wed Jun 23 18:40:52 2010 +0300
@@ -1,26 +1,27 @@
EXPORTS
- ?ConstructL@CSUPLProtocolManagerBase@@UAEXABVTUid@@@Z @ 1 NONAME ; void CSUPLProtocolManagerBase::ConstructL(class TUid const &)
- ??0CSUPLProtocolManagerBase@@QAE@XZ @ 2 NONAME ; CSUPLProtocolManagerBase::CSUPLProtocolManagerBase(void)
- ?CancelListenToMessages@CSuplConnection@@QAEXXZ @ 3 NONAME ; void CSuplConnection::CancelListenToMessages(void)
- ?ImplementationUid@CSUPLProtocolManagerBase@@QBE?AVTUid@@XZ @ 4 NONAME ; class TUid CSUPLProtocolManagerBase::ImplementationUid(void) const
- ?CancelSend@CSuplConnection@@QAEXAAVTRequestStatus@@@Z @ 5 NONAME ; void CSuplConnection::CancelSend(class TRequestStatus &)
- ?ListenToMessages@CSuplConnection@@QAEHXZ @ 6 NONAME ; int CSuplConnection::ListenToMessages(void)
- ?GetSUPLMessageVersionL@CSUPLProtocolManagerBase@@UAEHAAHABVTDesC8@@@Z @ 7 NONAME ; int CSUPLProtocolManagerBase::GetSUPLMessageVersionL(int &, class TDesC8 const &)
- ?Version@CSUPLProtocolManagerBase@@QBEHXZ @ 8 NONAME ; int CSUPLProtocolManagerBase::Version(void) const
- ??1CSuplCommunicationManager@@UAE@XZ @ 9 NONAME ; CSuplCommunicationManager::~CSuplCommunicationManager(void)
- ?Connect@CSuplConnection@@QAEXAAVTRequestStatus@@@Z @ 10 NONAME ; void CSuplConnection::Connect(class TRequestStatus &)
- ?GetPortNumberUsed@CSuplConnection@@QAEHXZ @ 11 NONAME ; int CSuplConnection::GetPortNumberUsed(void)
- ?Initialize@CSuplCommunicationManager@@QAEHXZ @ 12 NONAME ; int CSuplCommunicationManager::Initialize(void)
- ?GetLocalIPAddress@CSuplConnection@@QAEHAAVTInetAddr@@@Z @ 13 NONAME ; int CSuplConnection::GetLocalIPAddress(class TInetAddr &)
- ?NewL@CSUPLProtocolManagerBase@@SAPAV1@ABVTDesC8@@@Z @ 14 NONAME ; class CSUPLProtocolManagerBase * CSUPLProtocolManagerBase::NewL(class TDesC8 const &)
- ?NewL@CSuplCommunicationManager@@SAPAV1@XZ @ 15 NONAME ; class CSuplCommunicationManager * CSuplCommunicationManager::NewL(void)
- ?Send@CSuplConnection@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 16 NONAME ; void CSuplConnection::Send(class TDesC8 const &, class TRequestStatus &)
- ?CreateConnectionL@CSuplCommunicationManager@@QAEPAVCSuplConnection@@ABVTDesC16@@HHIH@Z @ 17 NONAME ; class CSuplConnection * CSuplCommunicationManager::CreateConnectionL(class TDesC16 const &, int, int, unsigned int, int)
- ?CloseConnection@CSuplConnection@@QAEXXZ @ 18 NONAME ; void CSuplConnection::CloseConnection(void)
- ?CancelConnect@CSuplConnection@@QAEXAAVTRequestStatus@@@Z @ 19 NONAME ; void CSuplConnection::CancelConnect(class TRequestStatus &)
- ?DestroyConnection@CSuplCommunicationManager@@QAEHPAVCSuplConnection@@@Z @ 20 NONAME ; int CSuplCommunicationManager::DestroyConnection(class CSuplConnection *)
- ?NewL@CSUPLProtocolManagerBase@@SAPAV1@ABVTUid@@@Z @ 21 NONAME ; class CSUPLProtocolManagerBase * CSUPLProtocolManagerBase::NewL(class TUid const &)
- ?SetPacketReceiver@CSuplCommunicationManager@@QAEXPAVMSuplPacketReceiver@@@Z @ 22 NONAME ; void CSuplCommunicationManager::SetPacketReceiver(class MSuplPacketReceiver *)
- ??1CSUPLProtocolManagerBase@@UAE@XZ @ 23 NONAME ; CSUPLProtocolManagerBase::~CSUPLProtocolManagerBase(void)
- ?CreateConnectionL@CSuplCommunicationManager@@QAEPAVCSuplConnection@@ABVTDesC16@@IH@Z @ 24 NONAME ; class CSuplConnection * CSuplCommunicationManager::CreateConnectionL(class TDesC16 const &, unsigned int, int)
+ ?Connect@CSuplConnection@@QAEXAAVTRequestStatus@@HH@Z @ 1 NONAME ; void CSuplConnection::Connect(class TRequestStatus &, int, int)
+ ?ConstructL@CSUPLProtocolManagerBase@@UAEXABVTUid@@@Z @ 2 NONAME ; void CSUPLProtocolManagerBase::ConstructL(class TUid const &)
+ ??0CSUPLProtocolManagerBase@@QAE@XZ @ 3 NONAME ; CSUPLProtocolManagerBase::CSUPLProtocolManagerBase(void)
+ ?CancelListenToMessages@CSuplConnection@@QAEXXZ @ 4 NONAME ; void CSuplConnection::CancelListenToMessages(void)
+ ?ImplementationUid@CSUPLProtocolManagerBase@@QBE?AVTUid@@XZ @ 5 NONAME ; class TUid CSUPLProtocolManagerBase::ImplementationUid(void) const
+ ?CancelSend@CSuplConnection@@QAEXAAVTRequestStatus@@@Z @ 6 NONAME ; void CSuplConnection::CancelSend(class TRequestStatus &)
+ ?ListenToMessages@CSuplConnection@@QAEHXZ @ 7 NONAME ; int CSuplConnection::ListenToMessages(void)
+ ?GetSUPLMessageVersionL@CSUPLProtocolManagerBase@@UAEHAAHABVTDesC8@@@Z @ 8 NONAME ; int CSUPLProtocolManagerBase::GetSUPLMessageVersionL(int &, class TDesC8 const &)
+ ?Version@CSUPLProtocolManagerBase@@QBEHXZ @ 9 NONAME ; int CSUPLProtocolManagerBase::Version(void) const
+ ??1CSuplCommunicationManager@@UAE@XZ @ 10 NONAME ; CSuplCommunicationManager::~CSuplCommunicationManager(void)
+ ?Connect@CSuplConnection@@QAEXAAVTRequestStatus@@@Z @ 11 NONAME ; void CSuplConnection::Connect(class TRequestStatus &)
+ ?GetPortNumberUsed@CSuplConnection@@QAEHXZ @ 12 NONAME ; int CSuplConnection::GetPortNumberUsed(void)
+ ?Initialize@CSuplCommunicationManager@@QAEHXZ @ 13 NONAME ; int CSuplCommunicationManager::Initialize(void)
+ ?GetLocalIPAddress@CSuplConnection@@QAEHAAVTInetAddr@@@Z @ 14 NONAME ; int CSuplConnection::GetLocalIPAddress(class TInetAddr &)
+ ?NewL@CSUPLProtocolManagerBase@@SAPAV1@ABVTDesC8@@@Z @ 15 NONAME ; class CSUPLProtocolManagerBase * CSUPLProtocolManagerBase::NewL(class TDesC8 const &)
+ ?NewL@CSuplCommunicationManager@@SAPAV1@XZ @ 16 NONAME ; class CSuplCommunicationManager * CSuplCommunicationManager::NewL(void)
+ ?Send@CSuplConnection@@QAEXABVTDesC8@@AAVTRequestStatus@@@Z @ 17 NONAME ; void CSuplConnection::Send(class TDesC8 const &, class TRequestStatus &)
+ ?CreateConnectionL@CSuplCommunicationManager@@QAEPAVCSuplConnection@@ABVTDesC16@@HHIH@Z @ 18 NONAME ; class CSuplConnection * CSuplCommunicationManager::CreateConnectionL(class TDesC16 const &, int, int, unsigned int, int)
+ ?CloseConnection@CSuplConnection@@QAEXXZ @ 19 NONAME ; void CSuplConnection::CloseConnection(void)
+ ?CancelConnect@CSuplConnection@@QAEXAAVTRequestStatus@@@Z @ 20 NONAME ; void CSuplConnection::CancelConnect(class TRequestStatus &)
+ ?DestroyConnection@CSuplCommunicationManager@@QAEHPAVCSuplConnection@@@Z @ 21 NONAME ; int CSuplCommunicationManager::DestroyConnection(class CSuplConnection *)
+ ?NewL@CSUPLProtocolManagerBase@@SAPAV1@ABVTUid@@@Z @ 22 NONAME ; class CSUPLProtocolManagerBase * CSUPLProtocolManagerBase::NewL(class TUid const &)
+ ?SetPacketReceiver@CSuplCommunicationManager@@QAEXPAVMSuplPacketReceiver@@@Z @ 23 NONAME ; void CSuplCommunicationManager::SetPacketReceiver(class MSuplPacketReceiver *)
+ ??1CSUPLProtocolManagerBase@@UAE@XZ @ 24 NONAME ; CSUPLProtocolManagerBase::~CSUPLProtocolManagerBase(void)
+ ?CreateConnectionL@CSuplCommunicationManager@@QAEPAVCSuplConnection@@ABVTDesC16@@IH@Z @ 25 NONAME ; class CSuplConnection * CSuplCommunicationManager::CreateConnectionL(class TDesC16 const &, unsigned int, int)
--- a/supl/locationsuplfw/protocolhandlerapi/eabi/epossuplprotocolhandlerpluginu.def Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/eabi/epossuplprotocolhandlerpluginu.def Wed Jun 23 18:40:52 2010 +0300
@@ -8,31 +8,32 @@
_ZN15CSuplConnection22CancelListenToMessagesEv @ 7 NONAME
_ZN15CSuplConnection4SendERK6TDesC8R14TRequestStatus @ 8 NONAME
_ZN15CSuplConnection7ConnectER14TRequestStatus @ 9 NONAME
- _ZN24CSUPLProtocolManagerBase10ConstructLERK4TUid @ 10 NONAME
- _ZN24CSUPLProtocolManagerBase22GetSUPLMessageVersionLERiRK6TDesC8 @ 11 NONAME
- _ZN24CSUPLProtocolManagerBase4NewLERK4TUid @ 12 NONAME
- _ZN24CSUPLProtocolManagerBase4NewLERK6TDesC8 @ 13 NONAME
- _ZN24CSUPLProtocolManagerBaseC2Ev @ 14 NONAME
- _ZN24CSUPLProtocolManagerBaseD0Ev @ 15 NONAME
- _ZN24CSUPLProtocolManagerBaseD1Ev @ 16 NONAME
- _ZN24CSUPLProtocolManagerBaseD2Ev @ 17 NONAME
- _ZN25CSuplCommunicationManager10InitializeEv @ 18 NONAME
- _ZN25CSuplCommunicationManager17CreateConnectionLERK7TDesC16iiji @ 19 NONAME
- _ZN25CSuplCommunicationManager17CreateConnectionLERK7TDesC16ji @ 20 NONAME
- _ZN25CSuplCommunicationManager17DestroyConnectionEP15CSuplConnection @ 21 NONAME
- _ZN25CSuplCommunicationManager17SetPacketReceiverEP19MSuplPacketReceiver @ 22 NONAME
- _ZN25CSuplCommunicationManager4NewLEv @ 23 NONAME
- _ZN25CSuplCommunicationManagerD0Ev @ 24 NONAME
- _ZN25CSuplCommunicationManagerD1Ev @ 25 NONAME
- _ZN25CSuplCommunicationManagerD2Ev @ 26 NONAME
- _ZNK24CSUPLProtocolManagerBase17ImplementationUidEv @ 27 NONAME
- _ZNK24CSUPLProtocolManagerBase7VersionEv @ 28 NONAME
- _ZTI15CSuplConnection @ 29 NONAME
- _ZTI17CSuplSocketReader @ 30 NONAME
- _ZTI24CSUPLProtocolManagerBase @ 31 NONAME
- _ZTI25CSuplCommunicationManager @ 32 NONAME
- _ZTV15CSuplConnection @ 33 NONAME
- _ZTV17CSuplSocketReader @ 34 NONAME
- _ZTV24CSUPLProtocolManagerBase @ 35 NONAME
- _ZTV25CSuplCommunicationManager @ 36 NONAME
+ _ZN15CSuplConnection7ConnectER14TRequestStatusii @ 10 NONAME
+ _ZN24CSUPLProtocolManagerBase10ConstructLERK4TUid @ 11 NONAME
+ _ZN24CSUPLProtocolManagerBase22GetSUPLMessageVersionLERiRK6TDesC8 @ 12 NONAME
+ _ZN24CSUPLProtocolManagerBase4NewLERK4TUid @ 13 NONAME
+ _ZN24CSUPLProtocolManagerBase4NewLERK6TDesC8 @ 14 NONAME
+ _ZN24CSUPLProtocolManagerBaseC2Ev @ 15 NONAME
+ _ZN24CSUPLProtocolManagerBaseD0Ev @ 16 NONAME
+ _ZN24CSUPLProtocolManagerBaseD1Ev @ 17 NONAME
+ _ZN24CSUPLProtocolManagerBaseD2Ev @ 18 NONAME
+ _ZN25CSuplCommunicationManager10InitializeEv @ 19 NONAME
+ _ZN25CSuplCommunicationManager17CreateConnectionLERK7TDesC16iiji @ 20 NONAME
+ _ZN25CSuplCommunicationManager17CreateConnectionLERK7TDesC16ji @ 21 NONAME
+ _ZN25CSuplCommunicationManager17DestroyConnectionEP15CSuplConnection @ 22 NONAME
+ _ZN25CSuplCommunicationManager17SetPacketReceiverEP19MSuplPacketReceiver @ 23 NONAME
+ _ZN25CSuplCommunicationManager4NewLEv @ 24 NONAME
+ _ZN25CSuplCommunicationManagerD0Ev @ 25 NONAME
+ _ZN25CSuplCommunicationManagerD1Ev @ 26 NONAME
+ _ZN25CSuplCommunicationManagerD2Ev @ 27 NONAME
+ _ZNK24CSUPLProtocolManagerBase17ImplementationUidEv @ 28 NONAME
+ _ZNK24CSUPLProtocolManagerBase7VersionEv @ 29 NONAME
+ _ZTI15CSuplConnection @ 30 NONAME
+ _ZTI17CSuplSocketReader @ 31 NONAME
+ _ZTI24CSUPLProtocolManagerBase @ 32 NONAME
+ _ZTI25CSuplCommunicationManager @ 33 NONAME
+ _ZTV15CSuplConnection @ 34 NONAME
+ _ZTV17CSuplSocketReader @ 35 NONAME
+ _ZTV24CSUPLProtocolManagerBase @ 36 NONAME
+ _ZTV25CSuplCommunicationManager @ 37 NONAME
--- a/supl/locationsuplfw/protocolhandlerapi/group/epos_suplprotocolhandlerplugin.mmp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/group/epos_suplprotocolhandlerplugin.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -55,5 +55,5 @@
LIBRARY flogger.lib
/* LIBRARY gba.lib */
-exportunfrozen
+//exportunfrozen
epocallowdlldata
--- a/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplconnection.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplconnection.h Wed Jun 23 18:40:52 2010 +0300
@@ -88,6 +88,17 @@
* @return void *
*/
IMPORT_C void Connect(TRequestStatus &aStatus);
+
+ /**
+ * A method that makes Socket Connection.
+ * @since Series 60 3.1
+ * @return None
+ * @param aPrompt used to show connection prompt using OCC Api's.
+ * @param aWlanOnly used to differentiate connection for GPRS and WLAN using OCC Api's
+ */
+ IMPORT_C void Connect(TRequestStatus &aStatus,TBool aPrompt,TBool aWlanOnly);
+
+
IMPORT_C void CloseConnection();
@@ -395,6 +406,10 @@
// Number of client connected
TInt iConnectClients;
+ TBool iPrompt;
+
+ TBool iWlanOnly;
+
};
#endif // C_CSUPLCONNECTION_H
--- a/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplprotocolmanagerbase.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/inc/epos_csuplprotocolmanagerbase.h Wed Jun 23 18:40:52 2010 +0300
@@ -29,7 +29,7 @@
//Forword Declarations
class CSuplSessionBase;
class CSuplCommunicationManager;
-
+class TGeoCellInfo;
/**
* Constant: KProtocolManagerInterfaceDefinitionUid
@@ -374,7 +374,35 @@
*/
virtual TInt GetSUPLMessageVersionL(TInt& aMajorVersion, const TDesC8& aReceivedMessage);
-
+ /**
+ * Function: MakeLocationConversionRequestL
+ *
+ * @Description: Makes Location conversion request
+ *
+ * @Param: aSuplSessn,session object on which processing will start
+ *
+ * @Param: aCellInfo,cell information which needs to be converted to geo-coordinates
+ *
+ * @Param: aStatus, On return, the status of the request
+ * @Returns: returns None
+ */
+
+ virtual void MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
+ TGeoCellInfo& aCellInfo,
+ TRequestStatus& aStatus ) = 0;
+
+
+ /**
+ * Function: CancelLocationConversionRequest
+ *
+ * @Description: Cancels the conversion Request
+ *
+ * @Param: Session Object
+ *
+ * @Returns: None
+ */
+
+ virtual void CancelLocationConversionRequest(CSuplSessionBase* aSuplSession) = 0;
public: // from MSuplPacketReceiver
--- a/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -139,7 +139,9 @@
iConnectStarted(EFalse),
iSendInProgress(EFalse),
iFirstPkt(EFalse),
- iListenCount(0)
+ iListenCount(0),
+ iPrompt(EFalse),
+ iWlanOnly(EFalse)
{
iHostAddress.Zero();
CActiveScheduler::Add(this);
@@ -992,6 +994,106 @@
iTrace->Trace(_L("CSuplConnection::Connect:Exit"), KTraceFileName, __LINE__);
}
+
+// -----------------------------------------------------------------------------
+// CSuplConnection::Connect
+// Makes a secure connection to Network
+// (other items were commented in a header).
+// -----------------------------------------------------------------------------
+//
+
+EXPORT_C void CSuplConnection::Connect(TRequestStatus &aStatus,TBool aPrompt,TBool aWlanOnly)
+ {
+
+ // Log
+ iTrace->Trace(_L("CSuplConnection::Connect"), KTraceFileName, __LINE__);
+ iPrompt = aPrompt;
+ iWlanOnly = aWlanOnly;
+
+ if (iState == EConnected)
+ {
+ aStatus = KRequestPending;
+ TRequestStatus *reqStatus = &aStatus;
+ User::RequestComplete(reqStatus, KErrNone);
+ iConnectClients++;
+ return;
+ }
+
+ // Check if Connect() is started. If started, add status to Q
+ //if (iConnectStarted)
+ // {
+ aStatus = KRequestPending;
+ TRequestStatus *reqStatus = &aStatus;
+ iConnArray.Append(reqStatus);
+ // }
+
+ if (!iConnectStarted)
+ {
+ iTrace->Trace(_L("CSuplConnection::Connect : Connection not started"), KTraceFileName, __LINE__);
+ // Connect only if not already connected
+ if(iState == ENotConnected || iState == EFailure)
+ {
+ iTrace->Trace(_L("CSuplConnection::Connect : ENotConnected"), KTraceFileName, __LINE__);
+ iConnectStarted = ETrue;
+
+#ifndef __WINS__
+
+ iTrace->Trace(_L("CSuplConnection::Connect ExtendedConnPref"), KTraceFileName, __LINE__);
+
+ TExtendedConnPref OCCPrefs;
+ TConnPrefList prefList;
+
+ if(iWlanOnly)
+ {
+ iTrace->Trace(_L("CSuplConnection::Connect : iWLANOnly used"), KTraceFileName, __LINE__);
+ OCCPrefs.SetBearerSet(TExtendedConnPref::EExtendedConnBearerWLAN);
+ OCCPrefs.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+ }
+ else
+ {
+ iTrace->Trace(_L("CSuplConnection::Connect using OCC"), KTraceFileName, __LINE__);
+ iTrace->Trace(_L("CSuplConnection::Connect OCC GPRS Connection.."), KTraceFileName, __LINE__);
+ OCCPrefs.SetBearerSet(TExtendedConnPref::EExtendedConnBearerCellular);
+ OCCPrefs.SetSnapPurpose(CMManager::ESnapPurposeInternet);
+ }
+
+ if(!iPrompt)
+ {
+ iTrace->Trace(_L("CSuplConnection::Connect : silent connection"), KTraceFileName, __LINE__);
+ OCCPrefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
+ }
+ else
+ {
+ iTrace->Trace(_L("CSuplConnection::Connect : Dialog prompt"), KTraceFileName, __LINE__);
+ OCCPrefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourDefault);
+ }
+
+
+
+ TRAP_IGNORE(prefList.AppendL(&OCCPrefs));
+
+
+ TInt ret = iConnection.Open(iSocketServ);
+ // Start an Outgoing Connection with overrides
+ iConnection.Start(prefList,iStatus);
+ // Set state to ERetriveIAP
+ iState = ERetriveIAP;
+ SetActive();
+
+
+
+#else
+ ConnectIAP();
+#endif
+ }
+ }
+ else
+ iTrace->Trace(_L("CSuplConnection::Connect : Conn in progress, request queued"), KTraceFileName, __LINE__);
+ // Log
+ iTrace->Trace(_L("CSuplConnection::Connect:Exit"), KTraceFileName, __LINE__);
+ }
+
+
// -----------------------------------------------------------------------------
// CSuplConnection::CompleteConnectStatus
// Completes the request to cancel connection
--- a/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsinternalcrkeys.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/settingsapi/inc/epos_csuplsettingsinternalcrkeys.h Wed Jun 23 18:40:52 2010 +0300
@@ -33,5 +33,6 @@
const TUint32 KSuplSessionDBEvent = 0x00000009;
const TUint32 KSuplSessionDBChangedSessionId = 0x0000000A;
const TUint32 KSuplSettingsTriggerServiceStatus = 0x0000000B;
+const TUint32 KSuplGeoInfoConvServerName = 0x0000000C;
#endif //SUPLSETTINGSINTERNALCRKEYS_H
--- a/supl/locationsuplfw/terminalinitiationapi/bwins/epos_suplterminitiationu.def Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/bwins/epos_suplterminitiationu.def Wed Jun 23 18:40:52 2010 +0300
@@ -53,4 +53,7 @@
?GetPosition@RSuplTerminalSubSession@@QAEHAAVTPositionInfoBase@@@Z @ 52 NONAME ; int RSuplTerminalSubSession::GetPosition(class TPositionInfoBase &)
?ConstructL@CSuplSubSessnPtrHolder@@IAEXHH@Z @ 53 NONAME ; void CSuplSubSessnPtrHolder::ConstructL(int, int)
?NewL@CSuplSubSessnPtrHolder@@SAPAV1@HH@Z @ 54 NONAME ; class CSuplSubSessnPtrHolder * CSuplSubSessnPtrHolder::NewL(int, int)
+ ?CancelLocationConversion@RSuplTerminalInternal@@QAEXXZ @ 55 NONAME ; void RSuplTerminalInternal::CancelLocationConversion(void)
+ ??0RSuplTerminalInternal@@QAE@XZ @ 56 NONAME ; RSuplTerminalInternal::RSuplTerminalInternal(void)
+ ?ConvertAreaInfoToCoordinates@RSuplTerminalInternal@@QAEXAAVTRequestStatus@@AAUTGeoCellInfo@@@Z @ 57 NONAME ; void RSuplTerminalInternal::ConvertAreaInfoToCoordinates(class TRequestStatus &, struct TGeoCellInfo &)
--- a/supl/locationsuplfw/terminalinitiationapi/eabi/epos_suplterminitiationu.def Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/eabi/epos_suplterminitiationu.def Wed Jun 23 18:40:52 2010 +0300
@@ -68,4 +68,8 @@
_ZTV19CSuplTerminalParams @ 67 NONAME
_ZTV22CSuplSubSessnPtrHolder @ 68 NONAME
_ZTV23RSuplTerminalSubSession @ 69 NONAME
+ _ZN21RSuplTerminalInternal24CancelLocationConversionEv @ 70 NONAME
+ _ZN21RSuplTerminalInternal28ConvertAreaInfoToCoordinatesER14TRequestStatusR12TGeoCellInfo @ 71 NONAME
+ _ZN21RSuplTerminalInternalC1Ev @ 72 NONAME
+ _ZN21RSuplTerminalInternalC2Ev @ 73 NONAME
--- a/supl/locationsuplfw/terminalinitiationapi/group/bld.inf Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/group/bld.inf Wed Jun 23 18:40:52 2010 +0300
@@ -23,6 +23,9 @@
PRJ_EXPORTS
../inc/epos_suplparameters.h MW_LAYER_PLATFORM_EXPORT_PATH(epos_suplparameters.h)
+../inc/epos_suplterminalinternal.h |../../../inc/epos_suplterminalinternal.h
+../inc/epos_suplgeocellinfo.h |../../../inc/epos_suplgeocellinfo.h
+
PRJ_MMPFILES
epos_suplterminalapi.mmp
--- a/supl/locationsuplfw/terminalinitiationapi/group/epos_suplterminalapi.mmp Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/group/epos_suplterminalapi.mmp Wed Jun 23 18:40:52 2010 +0300
@@ -33,6 +33,7 @@
SOURCE epos_suplterminalqop.cpp
SOURCE epos_suplterminalparams.cpp
SOURCE epos_suplterminalperiodictrigger.cpp
+SOURCE epos_suplterminalinternal.cpp
USERINCLUDE ../inc
USERINCLUDE ../../../inc
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/supl/locationsuplfw/terminalinitiationapi/inc/epos_suplgeocellinfo.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Data structure to hold cell information for geo tagging purposes.
+*
+*/
+
+/*! \file epos_suplgeocellinfo.h
+ \brief Triggering classes
+*/
+
+#ifndef __EPOS_SUPLGEOCELLINFO_H__
+#define __EPOS_SUPLGEOCELLINFO_H__
+
+// ==========================================
+
+/**
+ * Cell types
+ */
+enum TGeoCellType
+ {
+ /** GSM Cell. */
+ EGeoGsmCell = 0,
+ /** WCDMA cell. */
+ EGeoWcdmaCell = 1
+ };
+
+/**
+ * Class defines detailed information for gsm/wcdma cell.
+ *
+ * @since S60 5.2
+ */
+struct TGeoCellInfo
+ {
+ TInt iMNC;
+ TInt iMCC;
+ TInt iCid;
+ TInt iLac;
+ TBool iConnectionPrompt;
+ TBool iWlanOnly;
+ TGeoCellType iGeoCellType;
+ };
+
+#endif //__EPOS_SUPLGEOCELLINFO_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalinternal.h Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: SUPL Terminal Initiation internal class
+*
+*/
+
+
+#ifndef __EPOS_SUPLTERMINALINTERNAL_H__
+#define __EPOS_SUPLTERMINALINTERNAL_H__
+
+
+#include <epos_suplterminal.h>
+
+#include "epos_suplgeocellinfo.h"
+
+
+// Forward declarations
+
+/**
+ * This class is used to make request to convert area information to geo-coordinates.
+ */
+class RSuplTerminalInternal : public RSuplTerminalSubSession
+ {
+
+
+public:
+ /**
+ * Constructor for RSuplTerminalInternal
+ *
+ */
+ IMPORT_C RSuplTerminalInternal();
+
+ /**
+ * This is an asynchronous request to SUPL Server to determine position
+ * information corresponding to given area information.
+ * Client can have only one outstanding asynchronous request per sub-session.
+ * @param [OUT] aStatus to return result code
+ * @param[IN] aGeoCellInfo Cell information
+ * @return aStatus will have
+ * - KErrNone if request is completed sucessfully.
+ * - KErrCancel if the request was successfully cancelled
+ * - KErrNotReady if SUPL server is not ready to determine position information,
+ * client can retry after sometime.
+ * - KErrAlreadyExists if there is already an ongoing request on sub-session.
+ * - KErrServerTerminated if server got terminated due to some error
+ * - KErrNotSupported if function is called when Session is NOT Opened with SUPL_1_0 service
+ * - KErrGeneral for all other errors
+ *
+ */
+
+ IMPORT_C void ConvertAreaInfoToCoordinates(
+ TRequestStatus& aStatus,
+ TGeoCellInfo& aGeoCellInfo );
+
+ /**
+ * Cancels an outstanding asynchronous conversion request issued via ConvertAreaInfoToCoordinates
+ * Canceling requests is typically attempted when an client
+ * is closing down.
+ *
+ */
+ IMPORT_C void CancelLocationConversion();
+
+private:
+ //Cell Information
+ TGeoCellInfo iGeoCellInfo;
+
+ //To check if conversion request has issued or not
+ TBool iConversionRequestIssued;
+ };
+
+#endif // __EPOS_SUPLTERMINALINTERNAL_H__
--- a/supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalipc.h Thu May 27 13:18:17 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/inc/epos_suplterminalipc.h Wed Jun 23 18:40:52 2010 +0300
@@ -61,7 +61,8 @@
ESuplTerminalSubssnStartPeriodicTriggerWithServer,
ESuplTerminalSubssnNotifyTriggerFired,
ESuplTerminalSubssnStopTriggerSession,
-
+ ESuplTerminalSubssnLocationConversion,
+ ESuplTerminalSubssnCancelLocationConversion,
ESuplSubssnCustomCodesBegin = ESuplCustomIpcOffset,
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/supl/locationsuplfw/terminalinitiationapi/src/epos_suplterminalinternal.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Symbian Foundation License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Client-Server communication
+*
+*/
+#include <s32mem.h>
+#include <e32std.h>
+
+#include "epos_suplterminalinternal.h"
+#include "epos_suplterminalipc.h"
+#include "epos_suplterminalerrors.h"
+#include "epos_suplterminalptrholder.h"
+
+//-----------------------------------------------------------------------------
+// RSuplTerminalInternal
+//-----------------------------------------------------------------------------
+
+// -----------------------------------------------------------------------------
+// RSuplTerminalInternal::RSuplTerminalInternal()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C RSuplTerminalInternal::RSuplTerminalInternal()
+ : iConversionRequestIssued( EFalse )
+ {
+ }
+
+// ---------------------------------------------------------
+// RSuplTerminalInternal::ConvertAreaInfoToCoordinates
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+EXPORT_C void RSuplTerminalInternal::ConvertAreaInfoToCoordinates( TRequestStatus& aStatus,
+ TGeoCellInfo& aGeoCellInfo )
+ {
+ __ASSERT_ALWAYS(SubSessionHandle(),
+ User::Panic(KSuplClientFault, ESuplServerBadHandle));
+
+ // Currently only SUPL 1.0 supports cell to geo-coordinates conversion.
+ if( iSuplService != ESUPL_1_0 )
+ {
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotSupported);
+ return;
+ }
+
+ // Fill the values of data member
+ iGeoCellInfo.iMNC = aGeoCellInfo.iMNC;
+ iGeoCellInfo.iMCC = aGeoCellInfo.iMCC;
+ iGeoCellInfo.iCid = aGeoCellInfo.iCid;
+ iGeoCellInfo.iLac = aGeoCellInfo.iLac;
+ iGeoCellInfo.iConnectionPrompt = aGeoCellInfo.iConnectionPrompt;
+ iGeoCellInfo.iWlanOnly = aGeoCellInfo.iWlanOnly; //OCC
+ iGeoCellInfo.iGeoCellType = aGeoCellInfo.iGeoCellType;
+
+ iPtrHolder->Ptr(0).Set(
+ reinterpret_cast<TUint8*>(&iGeoCellInfo),
+ sizeof(iGeoCellInfo),sizeof(iGeoCellInfo));
+
+ TIpcArgs args;
+
+ args.Set(0,&iPtrHolder->Ptr(0));
+ iConversionRequestIssued = ETrue;
+ SendReceive(ESuplTerminalSubssnLocationConversion, args, aStatus);
+ }
+
+// ---------------------------------------------------------
+// RSuplTerminalInternal::CancelLocationConversion
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+EXPORT_C void RSuplTerminalInternal::CancelLocationConversion()
+ {
+ __ASSERT_ALWAYS(SubSessionHandle(),
+ User::Panic(KSuplClientFault, ESuplServerBadHandle));
+ if( iConversionRequestIssued )
+ {
+ iConversionRequestIssued = EFalse;
+ SendReceive(ESuplTerminalSubssnCancelLocationConversion);
+ }
+ }
+// end of file
--- a/supl/supltiapiimplementation/src/lbssupltirequestmanager.cpp Thu May 27 13:18:17 2010 +0300
+++ b/supl/supltiapiimplementation/src/lbssupltirequestmanager.cpp Wed Jun 23 18:40:52 2010 +0300
@@ -165,10 +165,12 @@
//
void CCLbsSuplTiRequestManager::CloseSession()
{
- iTrace->Trace(_L("CCLbsSuplTiRequestManager::CloseSession() start"), KTraceFileName, __LINE__);
+ if(iTrace)
+ iTrace->Trace(_L("CCLbsSuplTiRequestManager::CloseSession() start"), KTraceFileName, __LINE__);
iRequestorCollection.ResetAndDestroy(); //cancels all active requests
iServer.Close();
- iTrace->Trace(_L("CCLbsSuplTiRequestManager::CloseSession() end"), KTraceFileName, __LINE__);
+ if(iTrace)
+ iTrace->Trace(_L("CCLbsSuplTiRequestManager::CloseSession() end"), KTraceFileName, __LINE__);
}
// -----------------------------------------------------------------------------
// CCLbsSuplTiRequestManager::FindSessionId