authenticationservices/authenticationserver/test/tauthplugins/testplugins.cpp
changeset 29 ece3df019add
equal deleted inserted replaced
19:cd501b96611d 29:ece3df019add
       
     1 /*
       
     2 * Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     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".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #include "testplugins.h"
       
    20 #include <ecom/ecom.h>
       
    21 #include <f32file.h>
       
    22 #include "consts.h"
       
    23 
       
    24 using namespace AuthServer;
       
    25 
       
    26 TBool E32Dll()
       
    27   {
       
    28   return (ETrue);
       
    29   }
       
    30 
       
    31 CTestPlugin1::CTestPlugin1()  : iActive(false)
       
    32   {
       
    33   iName.Set(KPluginName);
       
    34   iDescription.Set(KPluginDescription);
       
    35   iType = EAuthKnowledge;
       
    36   iMinEntropy = KEntropy;
       
    37   iFalsePositiveRate = KFalsePos;
       
    38   iFalseNegativeRate = KFalseNeg;
       
    39 
       
    40   RFs fs;
       
    41   fs.Connect();
       
    42   TEntry file;
       
    43   
       
    44   _LIT(KActiveFile, "\\testplugin_active\\");
       
    45   TDriveUnit sysDrive (fs.GetSystemDrive());
       
    46   TBuf<128> activeFile (sysDrive.Name());
       
    47   activeFile.Append(KActiveFile);
       
    48   iActive = fs.Entry(activeFile, file);;
       
    49   fs.Close();
       
    50   //RDebug::Printf("Plugin started, active = %d", iActive);
       
    51   iActive = iActive != KErrNotFound;
       
    52   //RDebug::Printf("Plugin started, active = %d", iActive);
       
    53   }
       
    54 
       
    55 void CTestPlugin1::Identify(TIdentityId& aId, const TDesC& /*aClientMessage*/,
       
    56 							HBufC8*& aResult, TRequestStatus& aRequest)
       
    57     {
       
    58 	aId = 22;
       
    59 	aResult = HBufC8::New(20);
       
    60 	
       
    61 	TRequestStatus *stat = &aRequest;
       
    62 	
       
    63 	if(aResult == NULL)
       
    64 			{
       
    65 			User::RequestComplete(stat, KErrNoMemory);
       
    66 			return;
       
    67 			}
       
    68 	
       
    69 	*aResult = KIdentifyData;
       
    70 	User::RequestComplete(stat, KErrNone);
       
    71     }
       
    72   
       
    73 void CTestPlugin1::Train(TIdentityId /*aId*/, HBufC8*& aResult,
       
    74 						 TRequestStatus& aRequest)
       
    75     {
       
    76 	aResult = HBufC8::New(20);
       
    77 	
       
    78 	TRequestStatus* status = &aRequest;
       
    79 	
       
    80 	if(aResult == NULL)
       
    81 		{
       
    82 		User::RequestComplete(status, KErrNoMemory);
       
    83 		return;
       
    84 		}
       
    85 
       
    86 	*aResult = KTrainData;
       
    87 	User::RequestComplete(status, KErrNone);
       
    88 			
       
    89 	}
       
    90 
       
    91 
       
    92 void CUnknownPlugin::Identify(TIdentityId& aId, const TDesC& /*aClientMessage*/,
       
    93 							  HBufC8*& aResult, TRequestStatus& aRequest)
       
    94     {
       
    95 	aId = KUnknownIdentity;
       
    96 	aResult = HBufC8::New(0);
       
    97 	
       
    98 	TRequestStatus *stat = &aRequest;
       
    99 	
       
   100 	if(aResult == NULL)
       
   101 		{
       
   102 		User::RequestComplete(stat, KErrNoMemory);
       
   103 		return;
       
   104 		}
       
   105 	
       
   106 	User::RequestComplete(stat, KErrNone);
       
   107     }
       
   108   
       
   109 void CUnknownPlugin::Train(TIdentityId /*aId*/, HBufC8*& aResult,
       
   110 						 TRequestStatus& aRequest)
       
   111     {
       
   112 	aResult = HBufC8::New(0);
       
   113 	TRequestStatus* status = &aRequest;
       
   114 	
       
   115 	if(aResult == NULL)
       
   116 		{
       
   117 		User::RequestComplete(status, KErrNoMemory);
       
   118 		return;
       
   119 		}
       
   120 	
       
   121 	User::RequestComplete(status, KErrAuthServPluginCancelled);
       
   122 	}
       
   123 
       
   124 TBool CTestPlugin1::IsActive() const 
       
   125     {
       
   126 	return iActive;
       
   127 	}
       
   128 
       
   129 
       
   130 TInt CTestPlugin1::Forget(TIdentityId /*aId*/)
       
   131     {
       
   132 	return KErrNone;
       
   133     }
       
   134 TInt CTestPlugin1::DefaultData(TIdentityId /*aId*/, HBufC8*& /*aOutputBuf*/)
       
   135     {
       
   136 	return KErrNotSupported;
       
   137     }
       
   138 
       
   139 TInt CTestPlugin1::Reset(TIdentityId /*aId*/, const TDesC& /*aRegistrationData*/, HBufC8*& /*aResult*/)
       
   140 	{
       
   141 	return KErrNotSupported;
       
   142 	}
       
   143 
       
   144 const TImplementationProxy ImplementationTable[] =
       
   145   {
       
   146 	IMPLEMENTATION_PROXY_ENTRY(0x10274104, CTestPlugin1::NewL),
       
   147 	IMPLEMENTATION_PROXY_ENTRY(0x10274105, CBlockPlugin::NewL),
       
   148 	IMPLEMENTATION_PROXY_ENTRY(0x10274106, CInactivePlugin::NewL),
       
   149 	IMPLEMENTATION_PROXY_ENTRY(0x10274107, CUnknownPlugin::NewL)
       
   150   };
       
   151 
       
   152 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
       
   153   {
       
   154   aTableCount = sizeof(ImplementationTable) /
       
   155 	sizeof(TImplementationProxy);
       
   156   return ImplementationTable;
       
   157   }
       
   158 
       
   159 const TPtrC& CTestPlugin1::Name() const
       
   160   {
       
   161   return iName;
       
   162   }
       
   163 const TPtrC& CTestPlugin1::Description() const
       
   164   {
       
   165   return iDescription;
       
   166   }
       
   167 TAuthPluginType CTestPlugin1::Type() const 
       
   168   {
       
   169   return iType;
       
   170   }
       
   171 
       
   172 TEntropy CTestPlugin1::MinEntropy() const
       
   173   {
       
   174   return iMinEntropy;
       
   175   }
       
   176 
       
   177 TPercentage CTestPlugin1::FalsePositiveRate() const
       
   178   {
       
   179   return iFalsePositiveRate;
       
   180   }
       
   181 
       
   182 TPercentage CTestPlugin1::FalseNegativeRate() const
       
   183   {
       
   184   return iFalseNegativeRate;
       
   185   }
       
   186 
       
   187 
       
   188 //Unknown Plugin
       
   189 
       
   190 const TPtrC& CUnknownPlugin::Name() const
       
   191   {
       
   192   return iName;
       
   193   }
       
   194 const TPtrC& CUnknownPlugin::Description() const
       
   195   {
       
   196   return iDescription;
       
   197   }
       
   198 AuthServer::TAuthPluginType CUnknownPlugin::Type() const 
       
   199   {
       
   200   return iType;
       
   201   }
       
   202 
       
   203 AuthServer::TEntropy CUnknownPlugin::MinEntropy() const
       
   204   {
       
   205   return iMinEntropy;
       
   206   }
       
   207 
       
   208 AuthServer::TPercentage CUnknownPlugin::FalsePositiveRate() const
       
   209   {
       
   210   return iFalsePositiveRate;
       
   211   }
       
   212 
       
   213 AuthServer::TPercentage CUnknownPlugin::FalseNegativeRate() const
       
   214   {
       
   215   return iFalseNegativeRate;
       
   216   }
       
   217 
       
   218 
       
   219 
       
   220 //Inactive Plugin
       
   221 
       
   222 const TPtrC& CInactivePlugin::Name() const
       
   223   {
       
   224   return iName;
       
   225   }
       
   226 const TPtrC& CInactivePlugin::Description() const
       
   227   {
       
   228   return iDescription;
       
   229   }
       
   230 AuthServer::TAuthPluginType CInactivePlugin::Type() const 
       
   231   {
       
   232   return iType;
       
   233   }
       
   234 
       
   235 AuthServer::TEntropy CInactivePlugin::MinEntropy() const
       
   236   {
       
   237   return iMinEntropy;
       
   238   }
       
   239 
       
   240 AuthServer::TPercentage CInactivePlugin::FalsePositiveRate() const
       
   241   {
       
   242   return iFalsePositiveRate;
       
   243   }
       
   244 
       
   245 AuthServer::TPercentage CInactivePlugin::FalseNegativeRate() const
       
   246   {
       
   247   return iFalseNegativeRate;
       
   248   }
       
   249