--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/authenticationservices/authenticationserver/test/tauthplugins/testplugins.h Tue Nov 24 09:06:03 2009 +0200
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include <ecom/implementationproxy.h>
+#include <e32base.h>
+
+#include "authserver/authplugininterface.h"
+#include "authserver/authtypes.h"
+#include "authserver/auth_srv_errs.h"
+
+
+
+namespace AuthServer
+{
+class CTestPlugin1 : public CAuthPluginInterface
+ {
+public:
+ static CTestPlugin1* NewL()
+ { return new (ELeave) CTestPlugin1(); }
+
+ CTestPlugin1();
+ virtual ~CTestPlugin1() {}
+ virtual TPluginId Id() const { return 0x10274104; }
+ virtual void Train(TIdentityId aId, HBufC8*& aResult,
+ TRequestStatus& aRequest);
+ virtual void Cancel() {};
+
+ virtual void Identify(TIdentityId& aId, const TDesC& aClientMessage,
+ HBufC8*& aResult, TRequestStatus& aRequest);
+
+ virtual TBool IsActive() const;
+ virtual TInt Forget(TIdentityId aId);
+ virtual TInt DefaultData(TIdentityId aId, HBufC8*& aOutputBuf);
+ virtual TInt Reset(TIdentityId aId, const TDesC& aRegistrationData, HBufC8*& aResult);
+ virtual const TPtrC& Name() const;
+ virtual const TPtrC& Description() const;
+ virtual AuthServer::TEntropy MinEntropy() const;
+ virtual AuthServer::TPercentage FalsePositiveRate() const;
+ virtual AuthServer::TPercentage FalseNegativeRate() const;
+ virtual AuthServer::TAuthPluginType Type() const;
+
+protected:
+ /// The name of the plugin. Derived classes should set this member.
+ TPtrC iName;
+ /// The plugin's description. Derived classes should set this member.
+ TPtrC iDescription;
+ /// The minumum entropy provided by the plugin. Derived classes should set
+ /// this member.
+ AuthServer::TEntropy iMinEntropy;
+ /// The false positive rate of the plugin. Derived classes should set this
+ /// member.
+ AuthServer::TPercentage iFalsePositiveRate;
+ /// The false negative rate of the plugin. Derived classes should set this
+ /// member.
+ AuthServer::TPercentage iFalseNegativeRate;
+ /// The type of the plugin. Derived classes should set this member.
+ AuthServer::TAuthPluginType iType;
+ /// the state of the plugin.
+ TBool iActive;
+
+ };
+
+class CInactivePlugin : public CTestPlugin1
+ {
+public:
+ static CInactivePlugin* NewL()
+ { return new (ELeave) CInactivePlugin(); }
+
+ CInactivePlugin() {}
+ virtual ~CInactivePlugin() {}
+ virtual TPluginId Id() const { return 0x10274106; }
+
+ virtual TBool IsActive() const { return EFalse; }
+ virtual const TPtrC& Name() const;
+ virtual const TPtrC& Description() const;
+ virtual AuthServer::TEntropy MinEntropy() const;
+ virtual AuthServer::TPercentage FalsePositiveRate() const;
+ virtual AuthServer::TPercentage FalseNegativeRate() const;
+ virtual AuthServer::TAuthPluginType Type() const;
+ };
+
+
+class CUnknownPlugin : public CTestPlugin1
+ {
+public:
+ static CUnknownPlugin* NewL()
+ { return new (ELeave) CUnknownPlugin(); }
+
+ CUnknownPlugin() {}
+ virtual ~CUnknownPlugin() {}
+ virtual TPluginId Id() const { return 0x10274107; }
+ virtual void Identify(TIdentityId& aId, const TDesC& aClientMessage,
+ HBufC8*& aResult, TRequestStatus& aRequest);
+
+ virtual void Train(TIdentityId aId, HBufC8*& aResult,
+ TRequestStatus& aRequest);
+ virtual TBool IsActive() const { return ETrue; }
+ const TPtrC& Name() const;
+ const TPtrC& Description() const;
+ virtual AuthServer::TEntropy MinEntropy() const;
+ virtual AuthServer::TPercentage FalsePositiveRate() const;
+ virtual AuthServer::TPercentage FalseNegativeRate() const;
+ virtual AuthServer::TAuthPluginType Type() const;
+ };
+
+class CWaitToComplete : public CTimer
+ {
+ public:
+ CWaitToComplete() : CTimer(EPriorityNormal)
+ { CTimer::ConstructL(); }
+
+ void RunL()
+ {
+ RDebug::Printf("TestPlugin waittocomplete RUNL() : %d", iStatus.Int());
+ if (iStatus != KErrNone)
+ {
+ iReturn = iStatus.Int();
+ }
+ User::RequestComplete(iCliReq, iReturn);
+ }
+
+
+ void SetCliStatus(TRequestStatus& aResult, TInt aReturn)
+ { iCliReq = &aResult; iReturn = aReturn; }
+
+ TRequestStatus* iCliReq;
+ TInt iReturn;
+ };
+
+class CBlockPlugin : public CTestPlugin1
+ {
+public:
+ static CBlockPlugin* NewL()
+ { return new (ELeave) CBlockPlugin(); }
+
+ CBlockPlugin()
+ {
+ }
+ virtual ~CBlockPlugin() {}
+
+ virtual TPluginId Id() const { return 0x10274105; }
+
+ virtual void Train(TIdentityId /*aId*/, HBufC8*& aResult,
+ TRequestStatus& aRequest)
+ {
+ if (!iTimer.IsAdded())
+ {
+ CActiveScheduler::Add(&iTimer);
+ }
+ iClientStatus = &aRequest;
+ aRequest = KRequestPending;
+ iTimer.SetCliStatus(aRequest, KErrAuthServPluginCancelled);
+ iTimer.After(5000000);
+ aResult = 0;
+ }
+
+ virtual void Cancel()
+ {
+ iTimer.Cancel();
+ User::RequestComplete(iClientStatus, KErrCancel);
+ }
+
+ virtual void Identify(TIdentityId& aId, const TDesC& /*aClientMessage*/,
+ HBufC8*& aResult, TRequestStatus& aRequest)
+ {
+ if (!iTimer.IsAdded())
+ {
+ CActiveScheduler::Add(&iTimer);
+ }
+ iClientStatus = &aRequest;
+ aRequest = KRequestPending;
+ iTimer.SetCliStatus(aRequest, KErrNone);
+ iTimer.After(5000000);
+ aId = KUnknownIdentity;
+ aResult = 0;
+ }
+ virtual const TPtrC& Name() const
+ {
+ return iName;
+ }
+ virtual const TPtrC& Description() const
+ {
+ return iDescription;
+ }
+ virtual TAuthPluginType Type() const
+ {
+ return iType;
+ }
+
+ virtual TEntropy MinEntropy() const
+ {
+ return iMinEntropy;
+ }
+
+ virtual TPercentage FalsePositiveRate() const
+ {
+ return iFalsePositiveRate;
+ }
+
+ virtual TPercentage FalseNegativeRate() const
+ {
+ return iFalseNegativeRate;
+ }
+
+ private:
+
+ TRequestStatus iStatus;
+ TRequestStatus* iClientStatus;
+ CWaitToComplete iTimer;
+
+ };
+
+}
+
+IMPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount);
+