// ---------------------------------------------------------------------------- // CSIPClientResolver::AddClientDataL // ---------------------------------------------------------------------------- // void CSIPClientResolver::AddClientDataL( RPointerArray< CSIPClientData >& aRegistry, CImplementationInformation& aInfo, TBool aRomClient ) { TLex8 lex( aInfo.DataType() ); TUint32 uidValue( 0 ); User::LeaveIfError( lex.Val( uidValue, EHex ) ); TUid clientUid; clientUid.iUid = uidValue; const TBool romBased = ( aRomClient && aInfo.RomBased() ); TPtrC8 xml( aInfo.OpaqueData() ); const TBool dynamicCaps = ( xml.Length() == 0 ); CSIPClientData* clientData = CSIPClientData::NewLC( aInfo.ImplementationUid(), clientUid, romBased, dynamicCaps ); if ( !dynamicCaps ) { // XML specified in resource-file. iClientDataParser->ParseL( clientData, xml ); } aRegistry.AppendL( clientData ); CleanupStack::Pop( clientData ); }
// ----------------------------------------------------------------------------- // Load EBootstrapCallProvider marked or enabled plugins // ----------------------------------------------------------------------------- // void CCCEPluginManager::LoadBootPluginsL() { //List implementations #ifdef _DEBUG RImplInfoPtrArray implementations; CConvergedCallProvider::ListImplementationsL(implementations); CCELOGSTRING2("CCCEPluginManager::GetPluginL: %d Implementation(s) found", implementations.Count() ); for( TInt i=0; i<implementations.Count(); i++ ) { CImplementationInformation *info = implementations[i]; CCELOGSTRING3("CCCEPluginManager::GetPluginL: Uid = %d, Name = %S", info->ImplementationUid().iUid, &info->DisplayName() ); CCELOGSTRING3("CCCEPluginManager::GetPluginL: ->RomBased = %d, RomOnly = %d", info->RomBased(), info->RomOnly() ); } implementations.ResetAndDestroy(); implementations.Close(); #endif // _DEBUG RIdArray serviceIDArray; CleanupClosePushL( serviceIDArray ); iSPSettings->GetServicesL( serviceIDArray ); const TInt serviceCount = serviceIDArray.Count(); iPrimaryEmergencyCallPlugin = NULL; TInt err = KErrNone; CCELOGSTRING2("CCCEPluginManager::LoadBootPluginsL: Service count: %d", serviceCount ); for( TInt service = 0; service < serviceCount; service++ ) { CCELOGSTRING2("CCCEPluginManager::LoadBootPluginsL: Processing service: %d", service ); CCELOGSTRING2("CCCEPluginManager::LoadBootPluginsL: ServiceID: %d", serviceIDArray[service] ); TRAP( err, LoadBootPluginL( serviceIDArray[service] ) ) CCELOGSTRING2("CCCEPluginManager::LoadBootPluginsL: Result %i", err ); } CleanupStack::PopAndDestroy(); }