--- 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<CCDTierRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdTierRecord));
+ CleanupStack::PushL(tierRec);
+ tierRec->iRecordTag = aTierUid.iUid;
+
+ TBool found = tierRec->FindL(aDbs);
- CMDBRecordSet<CCDTierRecord>* recSet = new (ELeave) CMDBRecordSet<CCDTierRecord>(KCDTIdTierRecord);
- CleanupStack::PushL(recSet);
- recSet->LoadL(aDbs);
- const TInt recCnt = recSet->iRecords.Count();
-
- for(TInt i = 0; i < recCnt; i++)
- {
- CCDTierRecord* rec = static_cast<CCDTierRecord*>(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
//