CRegistryData::TImplStruct Struct Reference

struct CRegistryData::TImplStruct

Implementation structure containing the current in use implementation and a list of unused implementations with the same uid held in the registry tree. The unused list is used to allow efficient rollback to previous impl in the event that the current impl is removed.

Constructor & Destructor Documentation

TImplStruct()

TImplStruct ( )

Constructor

Constructor for TImplStruct
Post-condition
Its member variables are initialised

Member Functions Documentation

CompareImplStructUid(const TImplStruct &, const TImplStruct &)

TInt CompareImplStructUid ( const TImplStruct & aEntry1,
const TImplStruct & aEntry2
) [static]

Comparer

This method determins the order of two TImplStruct objects
Pre-condition
This object is fully constructed

Parameters

const TImplStruct & aEntry1 first TImplStruct object
const TImplStruct & aEntry2 second TImplStruct object

CompareUidAgainstImplStruct(const TUid *, const TImplStruct &)

TInt CompareUidAgainstImplStruct ( const TUid * aUid,
const TImplStruct & aEntry
) [static]

Comparer to search TImplStruct with just the Impl. UID

Comparer to determine the order of a TUid object (implementation UID) in relation to and a TImplStruct object.

Parameters

const TUid * aUid the Implementation UID to compare with.
const TImplStruct & aEntry the TImplStruct object to compare aUid against.

Reset()

void Reset ( ) [inline]

Resets iUnusedImpls

Member Data Documentation

CImplementationDataPtr iCurrentImpl

CImplementationDataPtr iCurrentImpl

Current Impl. This is not held in an array with the unused implementations because the array is not sorted. See comment for iUnusedImpls.

RImplDataArray iUnusedImpls

RImplDataArray iUnusedImpls

List of additional unused implementations. This list is not ordered as the processing required to sort the list when adding is more than that required to determine which should be used on rollback. Also this additional processing is not wanted during startup.