void CSEIConnector::RunL() { TInt error = KErrNone; switch(iState) { case EGetByName: { ConnectSocketL(); break; } case ESocketConnect: { ProcessRequestL(); break; } } }
// ----------------------------------------------------------------------------- // CSIPSecTlsPlugin::ProcessSecurityVerifyL // After the framework has chosen security mechanism. it calls this function of // the selected mechanism for all outgoing requests using the security // agreement. // Check that both Security-Server and Security-Verify header exist for this // mechanism. // ----------------------------------------------------------------------------- // void CSIPSecTlsPlugin::ProcessSecurityVerifyL( TSIPTransportParams& aTransportParams, CSIPRequest& /*aRequest*/, TInetAddr& aNextHop, const CUri8& /*aRemoteTarget*/, const TDesC8& /*aOutboundProxy*/, MSIPSecUser* aUser, TRegistrationId /*aRegistrationId*/, RPointerArray<CSIPSecurityServerHeader>& aSecurityServer, RPointerArray<CSIPSecurityVerifyHeader>& aSecurityVerify ) { __ASSERT_ALWAYS( aUser, User::Leave( KErrArgument ) ); TInt i = 0; CSIPSecurityServerHeader* secServer = NULL; for ( i = 0; i < aSecurityServer.Count() && !secServer; ++i ) { if ( aSecurityServer[i]->MechanismName().CompareF( Name() ) == 0 ) { secServer = aSecurityServer[i]; } } __ASSERT_ALWAYS( secServer, User::Leave( KErrArgument ) ); CSIPSecurityVerifyHeader* secVerify = NULL; for ( i = 0; i < aSecurityVerify.Count() && !secVerify; ++i ) { if ( aSecurityVerify[i]->MechanismName().CompareF( Name() ) == 0 ) { secVerify = aSecurityVerify[i]; } } __ASSERT_ALWAYS( secVerify, User::Leave( KErrArgument ) ); ProcessRequestL( aTransportParams, aNextHop, *aUser ); }
//---------------------------------------------------------------- // CLbsLocMonitorConversionHandler::RunL // (other items were commented in a header). //---------------------------------------------------------------- void CLbsLocMonitorConversionHandler::RunL() { LBSLOG(ELogP1,"CLbsLocMonitorConversionHandler::RunL()"); TBool cacheSaveComplete = EFalse; switch(iState) { case EStateValidation: { // This validation result corresponds to the first request in the validation // queue. iConversionRequest = iValidationRequestQueue[KCurrentRequestIndex]; if(iStatus.Int() == KErrNone) { // On successful validation, process the request ProcessRequestL(); } else { iConversionRequest.Complete(iStatus.Int()); RequestCompleteL(); } break; } case EStateConversion: { if(iStatus.Int() == KErrNone) { //First we loop through comparing accuracies to any partial results we may have had FillInPartialL(); TLbsConversionPluginInfo pluginPreferences; iLocInfoConverterPlugIn->ConversionPluginPreferences(pluginPreferences); // Then save all things we are allowed to, to the cache if(pluginPreferences.IsPluginPositionToBeCached()) { iSavedToCacheCount = 0; cacheSaveComplete = CacheSaveL(); if(cacheSaveComplete) { iState = EStateCacheSaveComplete; } } else { WriteResultToBufferL(); // Send the required buffer size to the client. TInt size = iBuffer->Size(); TPckg<TInt> sizePckg(size); iConversionRequest.WriteL(KParamBufferSize,sizePckg); CompleteRequest(iConversionRequest,KErrNone); } } else { // Since there is error in conversion, server dont receive // any call to retrieve converted info.Hence we need to // remove the current request. CompleteRequest(iConversionRequest,iStatus.Int()); RequestCompleteL(); } break; } case EStateCacheSave: { cacheSaveComplete = CacheSaveL(); if(cacheSaveComplete) { iState = EStateCacheSaveComplete; } break; } case EStateCacheSaveComplete: { // fall through break; } default: { User::Invariant(); } } if(iState == EStateCacheSaveComplete) { WriteResultToBufferL(); // Send the required buffer size to the client. TInt size = iBuffer->Size(); TPckg<TInt> sizePckg(size); iConversionRequest.WriteL(KParamBufferSize,sizePckg); CompleteRequest(iConversionRequest,KErrNone); } }