--- a/supl/locationsuplfw/terminalinitiationapi/src/epos_suplterminalapi.cpp Mon May 03 12:54:42 2010 +0300
+++ b/supl/locationsuplfw/terminalinitiationapi/src/epos_suplterminalapi.cpp Fri May 14 16:17:02 2010 +0300
@@ -1025,7 +1025,15 @@
{
__ASSERT_ALWAYS(SubSessionHandle(),
User::Panic(KSuplClientFault, ESuplServerBadHandle));
-
+
+
+ if(!CheckSuplTriggerServiceStatus()) //To check that triggering service is allowed by user...
+ {
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotSupported);
+ return;
+ }
+
if( iSuplService != ESUPL_2_0 )
{
TRequestStatus *status = &aStatus;
@@ -1094,6 +1102,13 @@
__ASSERT_ALWAYS(SubSessionHandle(),
User::Panic(KSuplClientFault, ESuplServerBadHandle));
+ if(!CheckSuplTriggerServiceStatus()) //To check that triggering service is allowed by user...
+ {
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotSupported);
+ return;
+ }
+
if( iSuplService != ESUPL_2_0 )
{
TRequestStatus *status = &aStatus;
@@ -1193,6 +1208,13 @@
__ASSERT_ALWAYS(SubSessionHandle(),
User::Panic(KSuplClientFault, ESuplServerBadHandle));
+ if(!CheckSuplTriggerServiceStatus()) //To check that triggering service is allowed by user...
+ {
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status,KErrNotSupported);
+ return;
+ }
+
if( iSuplService != ESUPL_2_0 )
{
TRequestStatus *status = &aStatus;
@@ -1232,4 +1254,41 @@
SendReceive(ESuplTerminalSubssnNotifyTriggerFired, args, aStatus);
}
+// ---------------------------------------------------------
+// RSuplTerminalSubSession::CheckSuplTriggerServiceStatus
+//
+// (other items were commented in a header).
+// ---------------------------------------------------------
+//
+TBool RSuplTerminalSubSession::CheckSuplTriggerServiceStatus()
+{
+
+ delete iSuplStorageSettings;
+ iSuplStorageSettings = NULL;
+
+ CSuplSettings::TSuplTriggerStatus suplTriggerStatus;
+
+ // create local object iSuplStorageSettings
+ TRAPD(err,iSuplStorageSettings = CSuplSettings::NewL());
+ if(err == KErrNone)
+ {
+ iSuplStorageSettings->GetSuplTriggeredServiceStatus(suplTriggerStatus);
+ delete iSuplStorageSettings;
+ iSuplStorageSettings = NULL;
+
+ if(suplTriggerStatus == CSuplSettings::ESuplTriggerOn)
+ {
+ return ETrue;
+ }
+ else
+ {
+ return EFalse;
+ }
+ }
+ else
+ {
+ return ETrue;
+ }
+}
+
// end of file