diff -r 0295359a7673 -r 69df6ed78a6a realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp --- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp Fri Aug 06 15:14:04 2010 +0300 +++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileCacheItem.cpp Mon Aug 23 17:50:26 2010 +0300 @@ -366,6 +366,7 @@ if (index != KErrNotFound) { iObservers.Remove(index); + iObservers.Compress(); } RemoveFromPendingObservers(aObserver); @@ -402,6 +403,7 @@ if (index != KErrNotFound) { iUsers.Remove(index); + iUsers.Compress(); CheckProfileEnabledState(); } } @@ -1256,6 +1258,7 @@ if (index != KErrNotFound) { iObserversWaitedForPermission.Remove(index); + iObserversWaitedForPermission.Compress(); } } @@ -1416,3 +1419,14 @@ LatestProfile().ExtensionParameter(KBearerType , bearerId); return bearerId; } + +// ----------------------------------------------------------------------------- +// CSIPProfileCacheItem::HasQueuedUpdate +// This function will return true if profile updated and not yet processed +// false otherwise +// ----------------------------------------------------------------------------- +// +TBool CSIPProfileCacheItem::HasQueuedUpdate() const + { + return (iQueuedProfile != NULL); + }