diff -r 0b0e9fce0b58 -r 4ccf8e394726 datacommsserver/esockserver/ssock/ss_tiermanagerutils.cpp --- a/datacommsserver/esockserver/ssock/ss_tiermanagerutils.cpp Wed Mar 31 23:27:09 2010 +0300 +++ b/datacommsserver/esockserver/ssock/ss_tiermanagerutils.cpp Wed Apr 14 17:14:05 2010 +0300 @@ -738,27 +738,25 @@ EXPORT_C TUid TierManagerUtils::MapTierIdtoTierImplIdL(TUid aTierUid,CommsDat::CMDBSession& aDbs ) /** mapping TM Id to TM ImplId in Commsdat */ { - TUid ImplUid; - // if it does not exist, it returns tier id - ImplUid = aTierUid; + TUid ImplUid; + // if it does not exist, it returns tier id + ImplUid = aTierUid; + + CCDTierRecord* tierRec = static_cast(CCDRecordBase::RecordFactoryL(KCDTIdTierRecord)); + CleanupStack::PushL(tierRec); + tierRec->iRecordTag = aTierUid.iUid; + + TBool found = tierRec->FindL(aDbs); - CMDBRecordSet* recSet = new (ELeave) CMDBRecordSet(KCDTIdTierRecord); - CleanupStack::PushL(recSet); - recSet->LoadL(aDbs); - const TInt recCnt = recSet->iRecords.Count(); - - for(TInt i = 0; i < recCnt; i++) - { - CCDTierRecord* rec = static_cast(recSet->iRecords[i]); - if(rec->iRecordTag == aTierUid.iUid) - { - ImplUid.iUid = rec->iTierImplUid; - } - } - - CleanupStack::PopAndDestroy(recSet); - return ImplUid; - } + if (found) + { + ImplUid.iUid = tierRec->iTierImplUid; + } + + CleanupStack::PopAndDestroy(tierRec); + return ImplUid; + + } // // CCommsDatIapView //