CryptoSpi::CRuleSelector Class Reference

class CryptoSpi::CRuleSelector : public CBase

Selector apply the rule-based selection to find the plugin.

Inherits from

Public Member Functions
~CRuleSelector ()
TInt AscendAsymmetricCipherKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendAsymmetricCipherKeySupport (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendAsymmetricKeypairGeneratorKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendAsymmetricSignatureKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendAsymmetricSignatureKeySupport (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendCreatorName (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendExtendedCharacteristicL (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendExtendedTDesC8L (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendHashBlockSize (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendHashOutputSize (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendLatency (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendMaxConcurrencySupported (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendRandomBlockingMode (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendSymmetricCipherBlockSize (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendSymmetricCipherKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendSymmetricCipherKeySupport (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt AscendThroughput (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
void CreateAsymmetricCipherL (CAsymmetricCipher *&, TUid , const CKey &, TUid , TUid , const CCryptoParams *)
void CreateAsyncAsymmetricCipherL (CAsyncAsymmetricCipher *&, TUid , const CKey &, TUid , TUid , const CCryptoParams *)
void CreateAsyncHashL (CAsyncHash *&, TUid , TUid , const CKey *, const CCryptoParams *)
void CreateAsyncKeyAgreementL (CAsyncKeyAgreement *&, TUid , const CKey &, const CCryptoParams *)
void CreateAsyncKeyPairGeneratorL (CAsyncKeyPairGenerator *&, TUid , const CCryptoParams *)
void CreateAsyncRandomL (CAsyncRandom *&, TUid , const CCryptoParams *)
void CreateAsyncSignerL (CAsyncSigner *&, TUid , const CKey &, TUid , const CCryptoParams *)
void CreateAsyncSymmetricCipherL (CAsyncSymmetricCipher *&, TUid , const CKey &, TUid , TUid , TUid , const CCryptoParams *)
void CreateAsyncVerifierL (CAsyncVerifier *&, TUid , const CKey &, TUid , const CCryptoParams *)
void CreateHashL (CHash *&, TUid , TUid , const CKey *, const CCryptoParams *)
void CreateKeyAgreementL (CKeyAgreement *&, TUid , const CKey &, const CCryptoParams *)
void CreateKeyPairGeneratorL (CKeyPairGenerator *&, TUid , const CCryptoParams *)
void CreateRandomL (CRandom *&, TUid , const CCryptoParams *)
void CreateSignerL (CSigner *&, TUid , const CKey &, TUid , const CCryptoParams *)
void CreateSymmetricCipherL (CSymmetricCipher *&, TUid , const CKey &, TUid , TUid , TUid , const CCryptoParams *)
void CreateVerifierL (CVerifier *&, TUid , const CKey &, TUid , const CCryptoParams *)
TInt DescendAsymmetricCipherKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendAsymmetricCipherKeySupport (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendAsymmetricKeypairGeneratorKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendAsymmetricSignatureKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendAsymmetricSignatureKeySupport (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendCreatorName (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendExtendedCharacteristicL (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendExtendedTDesC8L (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendHashBlockSize (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendHashOutputSize (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendLatency (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendMaxConcurrencySupported (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendRandomBlockingMode (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendSymmetricCipherBlockSize (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendSymmetricCipherKeyLength (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendSymmetricCipherKeySupport (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
TInt DescendThroughput (const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)
IMPORT_C CRuleSelector * NewL ( CSelectionRules *)
IMPORT_C CRuleSelector * NewLC ( CSelectionRules *)
Private Member Functions
CRuleSelector ()
void AddOptionalToCharListL ( TInt32 , CRulesCharacteristicsAndPluginName &)
void AddToCharListL ( TInt32 , CRulesCharacteristicsAndPluginName &, TInt &)
void ConstructL ( CSelectionRules *)
void ConstructMapAL ()
TBool FilterCommonCharacteristicsL ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)
void FilterCreatorNameL ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)
TBool FilterExtendedCharacteristicsL ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)
void FilterExtendedTDesC8L ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &, const TDesC8 &)
void FilterMultiTInt32L ( TInt32 , CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *, TInt &, TBool )
TBool FilterNonCommonCharacteristicsL ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)
void FilterTBoolL ( TInt32 , CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *, TInt &, TBool )
void FilterTInt32L ( TInt32 , CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *, TInt &, TInt32 )
void FilterTIntL ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &, TInt )
TInt FindPlugin ( TUid , TUid , TUid &, TFileName &)
void LoadPluginsL ()
void PerformAlgorithmFilterL ( TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)
void PerformFilterL ( CSelectionRules *)
void SetSearchRecord ( TUid , TInt )
void TryAddToOptionalCharListL ( TInt32 , CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Attributes
const RHashMap < TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > * > * iActiveInterfaceCharacteristics_Map
RHashMap < TInt32 , TInt > iNextTryCharacteristicsIndex
RArray < RLibrary > iPluginDllList
RHashMap < TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > * > iSelectedInterfaceCharacteristics_MapA
RHashMap < TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > * > iSelectedInterfaceCharacteristics_MapB
CSelectionRules * iSelectionRules
TBool iToggleUseMap
TBool iUseMapAToFilter

Constructor & Destructor Documentation

CRuleSelector()

CRuleSelector ( ) [private]

Constructor

~CRuleSelector()

IMPORT_C ~CRuleSelector ( )

Destructor

Member Functions Documentation

AddOptionalToCharListL(TInt32, CRulesCharacteristicsAndPluginName &)

void AddOptionalToCharListL ( TInt32 aInterfaceUid,
CRulesCharacteristicsAndPluginName & aCharacteristics
) [private]

Parameters

TInt32 aInterfaceUid
CRulesCharacteristicsAndPluginName & aCharacteristics

AddToCharListL(TInt32, CRulesCharacteristicsAndPluginName &, TInt &)

void AddToCharListL ( TInt32 aInterfaceUid,
CRulesCharacteristicsAndPluginName & aCharacteristics,
TInt & aLastPreference
) [private]

Parameters

TInt32 aInterfaceUid
CRulesCharacteristicsAndPluginName & aCharacteristics
TInt & aLastPreference

AscendAsymmetricCipherKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendAsymmetricCipherKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendAsymmetricCipherKeySupport(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendAsymmetricCipherKeySupport ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendAsymmetricKeypairGeneratorKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendAsymmetricKeypairGeneratorKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendAsymmetricSignatureKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendAsymmetricSignatureKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendAsymmetricSignatureKeySupport(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendAsymmetricSignatureKeySupport ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendCreatorName(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendCreatorName ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendExtendedCharacteristicL(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendExtendedCharacteristicL ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendExtendedTDesC8L(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendExtendedTDesC8L ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendHashBlockSize(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendHashBlockSize ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendHashOutputSize(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendHashOutputSize ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendLatency(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendLatency ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendMaxConcurrencySupported(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendMaxConcurrencySupported ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendRandomBlockingMode(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendRandomBlockingMode ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendSymmetricCipherBlockSize(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendSymmetricCipherBlockSize ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendSymmetricCipherKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendSymmetricCipherKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendSymmetricCipherKeySupport(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendSymmetricCipherKeySupport ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

AscendThroughput(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt AscendThroughput ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

ConstructL(CSelectionRules *)

void ConstructL ( CSelectionRules * aRules ) [private]

Second Phase Constructor

Parameters

CSelectionRules * aRules

ConstructMapAL()

void ConstructMapAL ( ) [private]

CreateAsymmetricCipherL(CAsymmetricCipher *&, TUid, const CKey &, TUid, TUid, const CCryptoParams *)

void CreateAsymmetricCipherL ( CAsymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsymmetricCipher *& aCipher
TUid aAlgorithmUid
const CKey & aKey
TUid aCryptoMode
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateAsyncAsymmetricCipherL(CAsyncAsymmetricCipher *&, TUid, const CKey &, TUid, TUid, const CCryptoParams *)

void CreateAsyncAsymmetricCipherL ( CAsyncAsymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncAsymmetricCipher *& aCipher
TUid aAlgorithmUid
const CKey & aKey
TUid aCryptoMode
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateAsyncHashL(CAsyncHash *&, TUid, TUid, const CKey *, const CCryptoParams *)

void CreateAsyncHashL ( CAsyncHash *& aHash,
TUid aAlgorithmUid,
TUid aOperationMode,
const CKey * aKey,
const CCryptoParams * aAlgorithmParams
) [virtual]

virtual function from MPluginSelector

Parameters

CAsyncHash *& aHash
TUid aAlgorithmUid
TUid aOperationMode
const CKey * aKey
const CCryptoParams * aAlgorithmParams

CreateAsyncKeyAgreementL(CAsyncKeyAgreement *&, TUid, const CKey &, const CCryptoParams *)

void CreateAsyncKeyAgreementL ( CAsyncKeyAgreement *& aKeyAgreement,
TUid aAlgorithmUid,
const CKey & aPrivateKey,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncKeyAgreement *& aKeyAgreement
TUid aAlgorithmUid
const CKey & aPrivateKey
const CCryptoParams * aAlgorithmParams

CreateAsyncKeyPairGeneratorL(CAsyncKeyPairGenerator *&, TUid, const CCryptoParams *)

void CreateAsyncKeyPairGeneratorL ( CAsyncKeyPairGenerator *& aKeyPairGenerator,
TUid aAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncKeyPairGenerator *& aKeyPairGenerator
TUid aAlgorithmUid
const CCryptoParams * aAlgorithmParams

CreateAsyncRandomL(CAsyncRandom *&, TUid, const CCryptoParams *)

void CreateAsyncRandomL ( CAsyncRandom *& aRandom,
TUid aAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncRandom *& aRandom
TUid aAlgorithmUid
const CCryptoParams * aAlgorithmParams

CreateAsyncSignerL(CAsyncSigner *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateAsyncSignerL ( CAsyncSigner *& aSigner,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncSigner *& aSigner
TUid aAlgorithmUid
const CKey & aKey
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateAsyncSymmetricCipherL(CAsyncSymmetricCipher *&, TUid, const CKey &, TUid, TUid, TUid, const CCryptoParams *)

void CreateAsyncSymmetricCipherL ( CAsyncSymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aOperationMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncSymmetricCipher *& aCipher
TUid aAlgorithmUid
const CKey & aKey
TUid aCryptoMode
TUid aOperationMode
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateAsyncVerifierL(CAsyncVerifier *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateAsyncVerifierL ( CAsyncVerifier *& aVerifier,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CAsyncVerifier *& aVerifier
TUid aAlgorithmUid
const CKey & aKey
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateHashL(CHash *&, TUid, TUid, const CKey *, const CCryptoParams *)

void CreateHashL ( CHash *& aHash,
TUid aAlgorithmUid,
TUid aOperationMode,
const CKey * aKey,
const CCryptoParams * aAlgorithmParams
) [virtual]

virtual function from MPluginSelector

Parameters

CHash *& aHash
TUid aAlgorithmUid
TUid aOperationMode
const CKey * aKey
const CCryptoParams * aAlgorithmParams

CreateKeyAgreementL(CKeyAgreement *&, TUid, const CKey &, const CCryptoParams *)

void CreateKeyAgreementL ( CKeyAgreement *& aKeyAgreement,
TUid aAlgorithmUid,
const CKey & aPrivateKey,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CKeyAgreement *& aKeyAgreement
TUid aAlgorithmUid
const CKey & aPrivateKey
const CCryptoParams * aAlgorithmParams

CreateKeyPairGeneratorL(CKeyPairGenerator *&, TUid, const CCryptoParams *)

void CreateKeyPairGeneratorL ( CKeyPairGenerator *& aKeyPairGenerator,
TUid aKeyAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CKeyPairGenerator *& aKeyPairGenerator
TUid aKeyAlgorithmUid
const CCryptoParams * aAlgorithmParams

CreateRandomL(CRandom *&, TUid, const CCryptoParams *)

void CreateRandomL ( CRandom *& aRandom,
TUid aAlgorithmUid,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CRandom *& aRandom
TUid aAlgorithmUid
const CCryptoParams * aAlgorithmParams

CreateSignerL(CSigner *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateSignerL ( CSigner *& aSigner,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CSigner *& aSigner
TUid aAlgorithmUid
const CKey & aKey
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateSymmetricCipherL(CSymmetricCipher *&, TUid, const CKey &, TUid, TUid, TUid, const CCryptoParams *)

void CreateSymmetricCipherL ( CSymmetricCipher *& aCipher,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aCryptoMode,
TUid aOperationMode,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CSymmetricCipher *& aCipher
TUid aAlgorithmUid
const CKey & aKey
TUid aCryptoMode
TUid aOperationMode
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

CreateVerifierL(CVerifier *&, TUid, const CKey &, TUid, const CCryptoParams *)

void CreateVerifierL ( CVerifier *& aVerifier,
TUid aAlgorithmUid,
const CKey & aKey,
TUid aPaddingMode,
const CCryptoParams * aAlgorithmParams
) [virtual]

Parameters

CVerifier *& aVerifier
TUid aAlgorithmUid
const CKey & aKey
TUid aPaddingMode
const CCryptoParams * aAlgorithmParams

DescendAsymmetricCipherKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendAsymmetricCipherKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendAsymmetricCipherKeySupport(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendAsymmetricCipherKeySupport ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendAsymmetricKeypairGeneratorKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendAsymmetricKeypairGeneratorKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendAsymmetricSignatureKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendAsymmetricSignatureKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendAsymmetricSignatureKeySupport(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendAsymmetricSignatureKeySupport ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendCreatorName(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendCreatorName ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendExtendedCharacteristicL(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendExtendedCharacteristicL ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendExtendedTDesC8L(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendExtendedTDesC8L ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendHashBlockSize(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendHashBlockSize ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendHashOutputSize(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendHashOutputSize ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendLatency(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendLatency ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendMaxConcurrencySupported(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendMaxConcurrencySupported ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendRandomBlockingMode(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendRandomBlockingMode ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendSymmetricCipherBlockSize(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendSymmetricCipherBlockSize ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendSymmetricCipherKeyLength(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendSymmetricCipherKeyLength ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendSymmetricCipherKeySupport(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendSymmetricCipherKeySupport ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

DescendThroughput(const CRulesCharacteristicsAndPluginName &, const CRulesCharacteristicsAndPluginName &)

TInt DescendThroughput ( const CRulesCharacteristicsAndPluginName & aLeft,
const CRulesCharacteristicsAndPluginName & aRight
) [static]

FilterCommonCharacteristicsL(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)

TBool FilterCommonCharacteristicsL ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference

FilterCreatorNameL(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)

void FilterCreatorNameL ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference

FilterExtendedCharacteristicsL(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)

TBool FilterExtendedCharacteristicsL ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference

FilterExtendedTDesC8L(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &, const TDesC8 &)

void FilterExtendedTDesC8L ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference,
const TDesC8 & aCharValue
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference
const TDesC8 & aCharValue

FilterMultiTInt32L(TInt32, CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *, TInt &, TBool)

void FilterMultiTInt32L ( TInt32 aInterfaceUid,
CRulesCharacteristicsAndPluginName & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference,
TBool aSupport
) [private]

Parameters

TInt32 aInterfaceUid
CRulesCharacteristicsAndPluginName & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference
TBool aSupport

FilterNonCommonCharacteristicsL(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)

TBool FilterNonCommonCharacteristicsL ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference

FilterTBoolL(TInt32, CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *, TInt &, TBool)

void FilterTBoolL ( TInt32 aInterfaceUid,
CRulesCharacteristicsAndPluginName & aCharacteristics,
CSelectionRuleContent * aRules,
TInt & aLastPreference,
TBool aCharValue
) [private]

Parameters

TInt32 aInterfaceUid
CRulesCharacteristicsAndPluginName & aCharacteristics
CSelectionRuleContent * aRules
TInt & aLastPreference
TBool aCharValue

FilterTInt32L(TInt32, CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *, TInt &, TInt32)

void FilterTInt32L ( TInt32 aInterfaceUid,
CRulesCharacteristicsAndPluginName & aCharacteristics,
CSelectionRuleContent * aRules,
TInt & aLastPreference,
TInt32 aCharValue
) [private]

Parameters

TInt32 aInterfaceUid
CRulesCharacteristicsAndPluginName & aCharacteristics
CSelectionRuleContent * aRules
TInt & aLastPreference
TInt32 aCharValue

FilterTIntL(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &, TInt)

void FilterTIntL ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference,
TInt aCharValue
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference
TInt aCharValue

FindPlugin(TUid, TUid, TUid &, TFileName &)

TInt FindPlugin ( TUid aInterfaceUid,
TUid aAlgorithmUid,
TUid & aImplementationId,
TFileName & aDllName
) [private]

Parameters

TUid aInterfaceUid
TUid aAlgorithmUid
TUid & aImplementationId
TFileName & aDllName

LoadPluginsL()

void LoadPluginsL ( ) [private]

Loads the crypto plugins

NewL(CSelectionRules *)

IMPORT_C CRuleSelector * NewL ( CSelectionRules * aRules ) [static]

NewL create the ruled-based selector

Parameters

CSelectionRules * aRules The Rules to select the plugins

NewLC(CSelectionRules *)

IMPORT_C CRuleSelector * NewLC ( CSelectionRules * aRules ) [static]

Parameters

CSelectionRules * aRules

PerformAlgorithmFilterL(TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > &, CSelectionRuleContent *, TInt &)

void PerformAlgorithmFilterL ( TInt32 aInterfaceUid,
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL,
CSelectionRuleContent * aRules,
TInt & aLastPreference
) [private]

Parameters

TInt32 aInterfaceUid
RPointerArray < CRulesCharacteristicsAndPluginName > & aCharacteristicsDLL
CSelectionRuleContent * aRules
TInt & aLastPreference

PerformFilterL(CSelectionRules *)

void PerformFilterL ( CSelectionRules * aRules ) [private]

Parameters

CSelectionRules * aRules

SetSearchRecord(TUid, TInt)

void SetSearchRecord ( TUid aInterfaceUid,
TInt aValue
) [private]

Parameters

TUid aInterfaceUid
TInt aValue

TryAddToOptionalCharListL(TInt32, CRulesCharacteristicsAndPluginName &, CSelectionRuleContent *)

void TryAddToOptionalCharListL ( TInt32 aInterfaceUid,
CRulesCharacteristicsAndPluginName & aCharacteristics,
CSelectionRuleContent * aRules
) [private]

Parameters

TInt32 aInterfaceUid
CRulesCharacteristicsAndPluginName & aCharacteristics
CSelectionRuleContent * aRules

Member Data Documentation

const RHashMap< TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > * > * iActiveInterfaceCharacteristics_Map

const RHashMap < TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > * > * iActiveInterfaceCharacteristics_Map [private]

Pointer of the active map of the interface UID and the characteristic list

RHashMap< TInt32, TInt > iNextTryCharacteristicsIndex

RHashMap < TInt32 , TInt > iNextTryCharacteristicsIndex [private]

Records the next index to try

RArray< RLibrary > iPluginDllList

RArray < RLibrary > iPluginDllList [private]

The plugin DLL list, which holds all the plugin DLLs

RHashMap< TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > * > iSelectedInterfaceCharacteristics_MapA

RHashMap < TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > * > iSelectedInterfaceCharacteristics_MapA [private]

Maps of the interface UID and the pointer of algorithm's characteristic array They are used alternatively to filter from one array to the other The final array will be set to iActiveInterfaceCharacteristics_Map for plugin lookup

RHashMap< TInt32, RPointerArray< CRulesCharacteristicsAndPluginName > * > iSelectedInterfaceCharacteristics_MapB

RHashMap < TInt32 , RPointerArray < CRulesCharacteristicsAndPluginName > * > iSelectedInterfaceCharacteristics_MapB [private]

CSelectionRules * iSelectionRules

CSelectionRules * iSelectionRules [private]

The selection rules to filter the plugins

TBool iToggleUseMap

TBool iToggleUseMap [private]

This is use to indicate whether to alternate the maps for next rule filtering or not

TBool iUseMapAToFilter

TBool iUseMapAToFilter [private]

To indicate whether to use iSelectedInterfaceCharacteristics_MapA or iSelectedInterfaceCharacteristics_MapA to filter