CCustomResolverCache Class Reference
|
class CCustomResolverCache : public CTimer
|
Handles caching custom resolvers
Constructor & Destructor Documentation
CCustomResolverCache(TUint32)
|
CCustomResolverCache
|
(
|
TUint32
|
aCacheSize
|
)
|
[private]
|
Parameters
|
TUint32
aCacheSize
|
Maximum number of entries allowed to cache.
|
~CCustomResolverCache()
|
~CCustomResolverCache
|
(
|
)
|
[virtual]
|
Member Functions Documentation
CacheLookup(const TUid, TProxyNewLPtr &)
Search for a resolverUID. If found, return the NewL pointer and update time to live of the entry.
-
Post-condition
-
If cache hit, the timestamp of the entry is updated.
Parameters
|
const
TUid
aResolverUid
|
the resolver to lookup
|
|
TProxyNewLPtr
& aNewLFuncPtr
|
output parameter. If lookup successful it has the function pointer to instantiate the resolver.
|
CacheResolver(const TUid, RLibrary, TProxyNewLPtr, TUint32)
Add a resolver library to cache
Parameters
|
const
TUid
aResolverUid
|
Implementation UID of the resolver.
|
|
RLibrary
aLib
|
The RLibrary object which has the resolver loaded. The handle of the RLibrary is owned by the cache if call is successful.
|
|
TProxyNewLPtr
aNewL
|
value for the iNewLFuncPtr member data of RResolverCacheEntry.
|
|
TUint32
aFlags
|
value for the iFlags member data of RResolverCacheEntry.
|
CachingEnabled()
|
TBool
|
CachingEnabled
|
(
|
)
|
const
|
Check if both queue size and cache timeout are non zero
ConstructL(TUint32)
|
void
|
ConstructL
|
(
|
TUint32
|
aCacheTimeout
|
)
|
[private]
|
Standard two phase construction to complete construction of the
CCustomResolverCache
object.
-
leave
-
Any of the system wide error codes.
Parameters
|
TUint32
aCacheTimeout
|
Cache timeout in microseconds.
|
EvictLeastRecentlyUsed()
|
void
|
EvictLeastRecentlyUsed
|
(
|
)
|
[private]
|
evict the least recently used entry in cache
FindResolver(const TUid)
|
TInt
|
FindResolver
|
(
|
const
TUid
|
aResolverUid
|
)
|
const [private]
|
Search of a resolver UID in cache
Parameters
|
const
TUid
aResolverUid
|
the resolver to search for.
|
NewL(TUint32, TUint32)
Parameters
|
TUint32
aCacheSize
|
Maximum number of entries allowed to cache.
|
|
TUint32
aCacheTimeout
|
Cache timeout in microseconds.
|
Remove(const TUid)
Remove a resolver from cache.
Parameters
|
const
TUid
aResolverUid
|
Identify the resolver to remove.
|
Remove(TInt)
|
void
|
Remove
|
(
|
TInt
|
aIndex
|
)
|
[private]
|
Parameters
|
TInt
aIndex
|
position of entry in the array.
|
RemoveItemsWithFlags(TUint32)
|
void
|
RemoveItemsWithFlags
|
(
|
TUint32
|
aMask
|
)
|
|
Remove cached entries with flags set.
Parameters
|
TUint32
aMask
|
If an entry has any of the bits in aMask set, it is removed.
|
RunL()
|
void
|
RunL
|
(
|
)
|
[private, virtual]
|
Implement the
CActive
RunL pure virtual
SetLastUseTime(RResolverCacheEntry &)
Set the iLastUse field and iLruRank field of the entry. The iLruRank field serves as tie breaker when two entries are added within the same tick period.
Member Data Documentation
TUint
iEntryTimeToLive
|
TUint
|
iEntryTimeToLive
|
[private]
|
cache timeout value. Unit is number of system ticks
TUint32
iMaxCacheSize
max. number of entries allowed in iResolvers
TUint
iMostRecentTimestamp
|
TUint
|
iMostRecentTimestamp
|
[private]
|
Keep track of youngest timestamp of cache entries. Use to detect if two entries have same timestamp.
RArray< RResolverCacheEntry > iResolvers
TInt
iSystemTickPeriod
|
TInt
|
iSystemTickPeriod
|
[private]
|
Store the system tick period as member data to avoid having to invoke
HAL::Get()
repeatedly.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.