supl/locationomasuplprotocolhandler/protocolhandlerver1/src/epos_comasuplprotocolmanager1.cpp
changeset 32 b12ea03c50a3
parent 25 73f6c2762ffe
child 39 3efc7a0e8755
equal deleted inserted replaced
25:73f6c2762ffe 32:b12ea03c50a3
    44 #include "epos_omasuplconfigurationkeys.h"
    44 #include "epos_omasuplconfigurationkeys.h"
    45 #include "epos_comasupltrace.h"
    45 #include "epos_comasupltrace.h"
    46 #include "epos_comasupltimeouttimer.h"
    46 #include "epos_comasupltimeouttimer.h"
    47 #include "epos_omasuplconstants.h"
    47 #include "epos_omasuplconstants.h"
    48 #include "epos_comasuplcommonconfig.h"
    48 #include "epos_comasuplcommonconfig.h"
       
    49 #include "epos_suplgeocellinfo.h"
       
    50 
       
    51 #include "epos_comasupllocationid.h"
    49 
    52 
    50 _LIT(KTraceFileName,"SUPL_OMA_PH::EPos_COMASUPLProtocolManager1.cpp");
    53 _LIT(KTraceFileName,"SUPL_OMA_PH::EPos_COMASUPLProtocolManager1.cpp");
    51 
    54 
    52 const TInt KMaxIMSILen = 20;
    55 const TInt KMaxIMSILen = 20;
    53 const TInt KMaxDelay = 128;
    56 const TInt KMaxDelay = 128;
  2071     iSETMode = aCommmonConfig->iSETMode;
  2074     iSETMode = aCommmonConfig->iSETMode;
  2072     iSuplUsage = aCommmonConfig->iSuplUsage;
  2075     iSuplUsage = aCommmonConfig->iSuplUsage;
  2073     iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut;
  2076     iSuplInitTimeOut = aCommmonConfig->iSuplInitTimeOut;
  2074     iPersistFailTimer = aCommmonConfig->iPersistFailTimer;
  2077     iPersistFailTimer = aCommmonConfig->iPersistFailTimer;
  2075     }
  2078     }
  2076 void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(
  2079 void COMASUPLProtocolManager1::HandleSuplTriggerStatusChangeL(CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ ) 
  2077                CSuplSettings::TSuplTriggerStatus /*aSuplTriggerStatus*/ ) 
  2080 {
       
  2081 
       
  2082 }
       
  2083 
       
  2084 // -----------------------------------------------------------------------------
       
  2085 // COMASUPLProtocolManager1::MakeLocationConversionRequestL
       
  2086 // 
       
  2087 // To make conversion request to retrieve position for a given cell id
       
  2088 // -----------------------------------------------------------------------------
       
  2089 //
       
  2090 void COMASUPLProtocolManager1::MakeLocationConversionRequestL( CSuplSessionBase* aSuplSessn,
       
  2091         TGeoCellInfo& aCellInfo,
       
  2092         TRequestStatus& aStatus )
  2078     {
  2093     {
  2079     
  2094     iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL"), KTraceFileName, __LINE__);
       
  2095     TBuf<64> tempBuf;
       
  2096 
       
  2097     if ( iSuplSessions.Find(aSuplSessn) == KErrNotFound )
       
  2098         {
       
  2099         TRequestStatus *status = &aStatus; 
       
  2100         User::RequestComplete(status,KErrNotFound ); 
       
  2101         return;
       
  2102         }
       
  2103 
       
  2104     CheckForSessionCount();
       
  2105     iRunningSessionCount++;
       
  2106 
       
  2107     COMASuplLocationId* locationId =   COMASuplLocationId::NewL();
       
  2108     CleanupStack::PushL(locationId);
       
  2109     COMASuplLocationId::TOMASuplStatus status = COMASuplLocationId::EStale;
       
  2110     switch(aCellInfo.iGeoCellType)
       
  2111         {
       
  2112         case EGeoGsmCell:
       
  2113             {
       
  2114             iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL - Setting GSM Cell Info"), KTraceFileName, __LINE__);
       
  2115             COMASuplGSMCellInfo* cellInfo = COMASuplGSMCellInfo::NewL();
       
  2116             cellInfo->SetSuplGSMCellInfo(aCellInfo.iMNC,aCellInfo.iMCC,aCellInfo.iCid,aCellInfo.iLac);
       
  2117             locationId->SetSuplLocationId(cellInfo,status);
       
  2118             }
       
  2119             break;
       
  2120         case EGeoWcdmaCell:
       
  2121             {
       
  2122             iTrace->Trace(_L("COMASUPLProtocolManager1::MakeLocationConversionRequestL - Setting WCDMA Cell Info"), KTraceFileName, __LINE__);
       
  2123             COMASuplCellInfo* cellInfo = COMASuplCellInfo::NewL();
       
  2124             cellInfo->SetSuplCellInfo(aCellInfo.iMNC,aCellInfo.iMCC,aCellInfo.iCid);
       
  2125             locationId->SetSuplLocationId(cellInfo,status);
       
  2126             }
       
  2127             break;
       
  2128         }
       
  2129     CleanupStack::Pop(locationId); 
       
  2130     tempBuf.Copy(_L("MCC = "));
       
  2131     tempBuf.AppendNum(aCellInfo.iMCC);
       
  2132     iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
       
  2133     tempBuf.Copy(_L("MNC = "));
       
  2134     tempBuf.AppendNum(aCellInfo.iMNC);
       
  2135     iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
       
  2136     tempBuf.Copy(_L("LAC = "));
       
  2137     tempBuf.AppendNum(aCellInfo.iLac);
       
  2138     iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
       
  2139     tempBuf.Copy(_L("CId = "));
       
  2140     tempBuf.AppendNum(aCellInfo.iCid);
       
  2141     iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
       
  2142     tempBuf.Copy(_L("Prompt = "));
       
  2143     tempBuf.AppendNum(aCellInfo.iConnectionPrompt);
       
  2144     iTrace->Trace(tempBuf, KTraceFileName, __LINE__);
       
  2145 
       
  2146     TInt allowedCapabilities = KECID|KCID;
       
  2147     TInt requestID = 1000; 
       
  2148     COMASuplSession* OMASession =  static_cast<COMASuplSession*>(aSuplSessn);
       
  2149     OMASession->SetConfigurationParameters(iUT1_StartTimer,iUT2_PosInitTimer, iUT3_PosTimer,iPrivacyTimer,iSETMode,
       
  2150             iSuplUsage, iPersistFailTimer,iSuplInitTimeOut);
       
  2151     OMASession->RunSuplSessionL(aStatus,ETrue, KNullDesC,EFalse, allowedCapabilities,iRunningSessionCount,requestID,ETrue,locationId,aCellInfo.iConnectionPrompt,aCellInfo.iWlanOnly);
       
  2152 
       
  2153     }
       
  2154 
       
  2155 // -----------------------------------------------------------------------------
       
  2156 // COMASUPLProtocolManager1::CancelLocationConversionRequest
       
  2157 // 
       
  2158 // Cancel an ongoing conversion request 
       
  2159 // -----------------------------------------------------------------------------
       
  2160 //
       
  2161 void COMASUPLProtocolManager1::CancelLocationConversionRequest(CSuplSessionBase* aSuplSession)
       
  2162     {
       
  2163     // Log
       
  2164     iTrace->Trace(_L("COMASUPLProtocolManager1::CancelLocationConversionRequest"), KTraceFileName, __LINE__);
       
  2165 
       
  2166     // Check if the Session is valid
       
  2167     TInt index = iSuplSessions.Find(aSuplSession);
       
  2168 
       
  2169     if(KErrNotFound == index)
       
  2170         {
       
  2171         iTrace->Trace(_L("Cannot find Supl session."), KTraceFileName, __LINE__);
       
  2172         return;
       
  2173         }
       
  2174     aSuplSession->CancelRunSession();   
       
  2175     return ;
  2080     }
  2176     }
  2081 // end of file
  2177 // end of file