// ----------------------------------------------------------------------------- // CSipClientResolverConfig::GetUIDsForUserNameL // ----------------------------------------------------------------------------- // void CSipClientResolverConfig::GetUIDsForUserNameL( const TDesC8& aUserName, RArray<TUid>& aUids) { RArray<TUint32> keys; CleanupClosePushL(keys); TInt err = iCenRep->FindEqL(KSIPClientResolverUserNameMask, KSIPClientResolverFieldTypeMask, aUserName, keys); for (TInt i=0; !err && i < keys.Count(); i++) { TUint32 key = (KSIPClientResolverUserNameMask^(keys[i])); // Read the related plug-in UID TUint32 uidKey = KSIPClientResolverPluginUIDMask|key; TInt uidValue(0); User::LeaveIfError(iCenRep->Get(uidKey,uidValue)); TUid uid; uid.iUid = uidValue; // Duplicate plug-in UIDs not added, but are allowed err = aUids.InsertInUnsignedKeyOrder(uid); if (err != KErrNone && err != KErrAlreadyExists) { User::Leave(err); } err = KErrNone; } CleanupStack::PopAndDestroy(&keys); }