supl/locationsuplfw/gateway/src/epos_csuplnetinitiatedsession.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 16 6fcbaa43369c
child 45 6b6920c56e2f
equal deleted inserted replaced
42:02ba3f1733c6 44:2b4ea9893b66
    60     RSuplTerminalSubSession::TSuplServiceType suplService;
    60     RSuplTerminalSubSession::TSuplServiceType suplService;
    61     TInt majorVersion = KErrNotFound;
    61     TInt majorVersion = KErrNotFound;
    62     TInt err = aSessnMgr.GetSUPLMessageVersionL(majorVersion,aClientBuf->Des());
    62     TInt err = aSessnMgr.GetSUPLMessageVersionL(majorVersion,aClientBuf->Des());
    63     
    63     
    64     if(majorVersion == 2)
    64     if(majorVersion == 2)
    65     	suplService = RSuplTerminalSubSession::ESUPL_2_0;
    65 	{
       
    66 		if(!CheckSuplTriggerServiceStatus())
       
    67     	{
       
    68     			User::Leave(KErrNotSupported);
       
    69     	}
       
    70 		suplService = RSuplTerminalSubSession::ESUPL_2_0;
       
    71 	}
    66     else 
    72     else 
    67     	suplService = RSuplTerminalSubSession::ESUPL_1_0;
    73     	suplService = RSuplTerminalSubSession::ESUPL_1_0;
    68     
    74     
    69     iSuplSession = aSessnMgr.CreateNewSessionL(aReqType, 0, suplService );
    75     iSuplSession = aSessnMgr.CreateNewSessionL(aReqType, 0, suplService );
    70     if (iSuplSession)
    76     if (iSuplSession)
   182 {
   188 {
   183 	if(aSessionMgr)
   189 	if(aSessionMgr)
   184 	aSessionMgr->DestroySession(iSuplSession);
   190 	aSessionMgr->DestroySession(iSuplSession);
   185 }
   191 }
   186 
   192 
       
   193 // ---------------------------------------------------------
       
   194 // CSuplNetInitiatedSession::CheckSuplTriggerServiceStatus
       
   195 //
       
   196 // (other items were commented in a header).
       
   197 // ---------------------------------------------------------
       
   198 //
       
   199 TBool CSuplNetInitiatedSession::CheckSuplTriggerServiceStatus()
       
   200 {
       
   201 	
       
   202 	CSuplSettings* 	suplStorageSettings = NULL;
       
   203 	
       
   204 	CSuplSettings::TSuplTriggerStatus suplTriggerStatus;
       
   205 
       
   206 	// create local object iSuplStorageSettings
       
   207 	TRAPD(err,suplStorageSettings = CSuplSettings::NewL());
       
   208 	if(err == KErrNone)
       
   209 	{
       
   210 			suplStorageSettings->GetSuplTriggeredServiceStatus(suplTriggerStatus);
       
   211 			delete suplStorageSettings;
       
   212 			suplStorageSettings = NULL;
       
   213 
       
   214 			if(suplTriggerStatus == CSuplSettings::ESuplTriggerOn)
       
   215 			{
       
   216 					return ETrue;						
       
   217 			}
       
   218 			else
       
   219 			{
       
   220 					return EFalse;	
       
   221 			}
       
   222 	}		
       
   223 	else
       
   224 	{
       
   225 			return ETrue;
       
   226 	}
       
   227 }
       
   228 
   187 // End of File
   229 // End of File
   188 
   230