2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
15 * CPluginDesc class declaration
30 #include <ct/rcpointerarray.h>
31 #include "authserver/authtypes.h"
37 * Provides a description of an authentication plugin's properties.
39 NONSHARABLE_CLASS(CPluginDesc) : public CBase
43 IMPORT_C static CPluginDesc* NewL(
44 TPluginId aId, const TDesC& aName,
45 TAuthPluginType aType, TAuthTrainingStatus aTrainingStatus,
46 TEntropy aMinEntropy, TPercentage aFalsePositiveRate,
47 TPercentage aFalseNegativeRate);
48 IMPORT_C static CPluginDesc* NewLC(RReadStream& aIn);
50 virtual ~CPluginDesc();
52 IMPORT_C TPluginId Id() const;
53 IMPORT_C const TDesC* Name() const;
54 IMPORT_C TAuthPluginType Type() const;
55 IMPORT_C TAuthTrainingStatus TrainingStatus() const;
56 IMPORT_C TEntropy MinEntropy() const;
57 IMPORT_C TPercentage FalsePositiveRate() const;
58 IMPORT_C TPercentage FalseNegativeRate() const;
60 IMPORT_C void ExternalizeL(RWriteStream& aOut) const;
63 static const TInt KMaxNameLength = 256;
65 CPluginDesc(TPluginId aId,
66 TAuthPluginType aType,
67 TAuthTrainingStatus aTrainingStatus,
69 TPercentage aFalsePositiveRate,
70 TPercentage aFalseNegativeRate);
71 void ConstructL(const TDesC& aName);
74 void InternalizeL(RReadStream& aIn);
76 /// the id of the plugin
78 /// The name of the plugin
80 /// The type of plugin
81 TAuthPluginType iType;
82 /// Indicates whether the plugin is trained for none, some or all
84 TAuthTrainingStatus iTrainingStatus;
85 /// The minumum entropy provided by the plugin.
87 /// The false positive rate of the plugin
88 TPercentage iFalsePositiveRate;
89 /// The false negative rate of the plugin.
90 TPercentage iFalseNegativeRate;
93 typedef RCPointerArray<const CPluginDesc> RPluginDescriptions;
97 #include <authserver/plugindesc.inl>
99 #endif // PLUGINDESC_H