// --------------------------------------------------------- // CPosLmDatabaseManagerImpl::FillInDbInfoL // // (other items were commented in a header). // --------------------------------------------------------- // void CPosLmDatabaseManagerImpl::FillInDbInfoL( HPosLmDatabaseInfo& aDatabaseInfo, CPosLmDatabaseManagerPluginBase* aPlugin, const TDesC& aDefaultDbUri) { TPtrC uri = aDatabaseInfo.DatabaseUri(); PosLmDbInfoExtension::SetDatabaseDrive(aDatabaseInfo, aPlugin->DatabaseDrive(uri)); PosLmDbInfoExtension::SetMediaType(aDatabaseInfo, aPlugin->DatabaseMedia(uri)); if (aPlugin->Protocol() == KNullDesC || aPlugin->Protocol() == KLocalProtocol) { // Create correct URIs (they may be missing protocol) so that // compareC will be correct HBufC* tmpUri = PosLmDatabaseUtility::CreateDatabaseUriL(uri); CleanupStack::PushL(tmpUri); HBufC* tmpDefaultUri = PosLmDatabaseUtility::CreateDatabaseUriL(aDefaultDbUri); CleanupStack::PushL(tmpDefaultUri); // check if default database if (tmpUri->CompareC(*tmpDefaultUri) == KErrNone) { PosLmDbInfoExtension::SetDefault(aDatabaseInfo, ETrue); // set default dispay name if no display name exists if (aDatabaseInfo.Settings().DatabaseName() == KNullDesC) { aDatabaseInfo.Settings().SetDatabaseName( *iDefaultDatabaseDisplayName); } } CleanupStack::PopAndDestroy(tmpDefaultUri); CleanupStack::PopAndDestroy(tmpUri); } }