eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
child 55 9c2aa05919d9
--- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp	Tue Aug 31 15:16:37 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +0,0 @@
-/*
-* Copyright (c) 2001-2010 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:  Tools for plugin handling on Symbian.
-*
-*/
-
-/*
-* %version: 19 %
-*/
-
-#include <EapTraceSymbian.h>
-#include <EapTypePlugin.h>
-#include <ecom.h>
-
-#include "EapPluginTools.h"
-#include "EapAutomatic.h"
-
-/** @file */
-
-// ----------------------------------------------------------------------
-
-EXPORT_C EapPluginTools::EapPluginTools()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::EapPluginTools(): this=0x%08x.\n"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::EapPluginTools()"));
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C EapPluginTools::~EapPluginTools()
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::~EapPluginTools(): this=0x%08x.\n"),
-		this));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::~EapPluginTools()"));
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::CleanupImplArray( TAny* aAny )
-{
-	RImplInfoPtrArray* implArray = 
-		reinterpret_cast<RImplInfoPtrArray*>( aAny );
-
-	implArray->ResetAndDestroy();
-	implArray->Close();
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::ListAllEapPluginsL(const TIndexType aIndexType, const TEapExpandedType & aTunnelingEapType, RPointerArray<TEapExpandedType> & aPlugins)
-{
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): this=0x%08x, aTunnelingEapType=0xfe%06x%08x.\n"),
-		this,
-		aTunnelingEapType.GetVendorId(),
-		aTunnelingEapType.GetVendorType()));
-	EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapPluginTools::ListAllEapPluginsL()"));
-
-	aPlugins.Reset();   // Reset this first
-
-	RImplInfoPtrArray aEapArray;
-
-	CleanupStack::PushL( TCleanupItem( CleanupImplArray, &aEapArray ) );
-
-	REComSession::ListImplementationsL( KEapTypeInterfaceUid, aEapArray );
-
-	// Checks which plugins are allowed inside the tunneling EAP-methods and which are allowed outer most EAP-methods.
-	for( TInt counter = 0; counter < aEapArray.Count(); counter++ )
-	{
-		TEapExpandedType plugin_type(aEapArray[counter]->DataType());
-
-		EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x\n"),
-			counter,
-			plugin_type.GetVendorId(),
-			plugin_type.GetVendorType()));
-
-		TBool aNotAllowed(EFalse);
-
-		if (aIndexType == ELan
-			&& aTunnelingEapType == (*EapExpandedTypeNone.GetType()))
-		{
-			// Filter out the EAP types which are NOT allowed outside PEAP, TTLS or FAST on WLAN.
-			if( CEapTypePlugin::IsDisallowedOutsidePEAP( *aEapArray[counter] ) )
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedOutsidePEAP()\n"),
-					counter,
-					plugin_type.GetVendorId(),
-					plugin_type.GetVendorType()));
-
-				aNotAllowed = ETrue;
-			}
-		}
-		else if (aTunnelingEapType == (*EapExpandedTypePeap.GetType())
-			|| aTunnelingEapType == (*EapExpandedTypeFast.GetType()))
-		{
-			// Filter out the EAP types which are NOT allowed inside PEAP or FAST.
-			if( CEapTypePlugin::IsDisallowedInsidePEAP( *aEapArray[counter] ) )
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedInsidePEAP()\n"),
-					counter,
-					plugin_type.GetVendorId(),
-					plugin_type.GetVendorType()));
-
-				aNotAllowed = ETrue;
-			}
-		}
-		else if (aTunnelingEapType == (*EapExpandedTypeTtls.GetType()))
-		{
-			// Filter out the EAP types which are NOT allowed inside TTLS.
-			if( CEapTypePlugin::IsDisallowedInsideTTLS( *aEapArray[counter] ) )
-			{
-				EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x, IsDisallowedInsideTTLS()\n"),
-					counter,
-					plugin_type.GetVendorId(),
-					plugin_type.GetVendorType()));
-
-				aNotAllowed = ETrue;
-			}
-		}
-
-		if (aNotAllowed)
-		{
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): Removes EAP-plugin aEapArray[%d] EAP-type=0xfe%06x%08x\n"),
-				counter,
-				plugin_type.GetVendorId(),
-				plugin_type.GetVendorType()));
-
-			// Delete the EAP type, which isn't allowed here from the array.
-			delete aEapArray[counter];
-			aEapArray.Remove( counter );
-
-			// One item removed from the array. So reduce the item counter.
-			counter--;
-		}
-	}
-
-	// Adds allowed EAP-methods to an array.
-	for (TInt ind = 0; ind < aEapArray.Count(); ind++ )
-	{
-		TEapExpandedType * eap_type = new TEapExpandedType;
-		if (eap_type != 0)
-		{
-			*eap_type = aEapArray[ind]->DataType();
-
-			EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::ListAllEapPluginsL(): aEapArray[%d] EAP-type=0xfe%06x%08x\n"),
-				ind,
-				eap_type->GetVendorId(),
-				eap_type->GetVendorType()));
-
-			User::LeaveIfError( aPlugins.Append( eap_type ) );
-		}
-	}
-
-	CleanupStack::PopAndDestroy(&aEapArray);
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::GetPrivatePathL(
-	RFs& aFileServerSession,
-	TFileName& aPrivateDatabasePathName)
-{
-	// Reads the private folder. Caller must connect file server before calling this function.
-
-	CleanupClosePushL(aFileServerSession);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - calls aFileServerSession.PrivatePath()\n")));
-
-	aPrivateDatabasePathName.SetLength(0);
-
-	TInt error = aFileServerSession.PrivatePath(aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - aFileServerSession.PrivatePath(), error=%d\n"), error));
-
-	User::LeaveIfError(error);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	CleanupStack::Pop(&aFileServerSession);
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::GetPrivatePathL(
-	TFileName& aPrivateDatabasePathName)
-{
-	// Reads the private folder.
-
-	RFs aFileServerSession;
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - calls aFileServerSession.Connect()\n")));
-
-	TInt error = aFileServerSession.Connect();
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::GetPrivatePathL(): - aFileServerSession.Connect(), error=%d\n"), error));
-
-	User::LeaveIfError(error);
-
-	EapPluginTools::GetPrivatePathL(
-		aFileServerSession,
-		aPrivateDatabasePathName);
-
-	aFileServerSession.Close();
-}
-
-// ----------------------------------------------------------------------
-
-EXPORT_C void EapPluginTools::CreateDatabaseLC(
-	RDbNamedDatabase& aDatabase,
-	RFs& aFileServerSession,
-	TInt& error,
-	const TDesC& aDatabaseName,
-	TFileName& aPrivateDatabasePathName)
-{
-	// Caller must connect file server before calling this function.
-
-	// aDatabase is pushed to the cleanup stack even though they may be member
-	// variables of the calling class and would be closed in the destructor anyway. This ensures
-	// that if they are not member variables they will be closed. Closing the handle twice
-	// does no harm.	
-	CleanupClosePushL(aFileServerSession);
-	CleanupClosePushL(aDatabase);
-
-	// Create the private database in the private folder of EAP-server.
-
-	EapPluginTools::GetPrivatePathL(
-		aFileServerSession,
-		aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - calls aPrivateDatabasePathName.Append()\n")));
-
-	aPrivateDatabasePathName.Append(aDatabaseName);
-
-	EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName",
-		aPrivateDatabasePathName.Ptr(),
-		aPrivateDatabasePathName.Size()));
-
-	User::LeaveIfError(error);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - calls aDatabase.Create()\n")));
-
-	error = aDatabase.Create(aFileServerSession, aPrivateDatabasePathName);
-
-	EAP_TRACE_DEBUG_SYMBIAN((_L("EapPluginTools::CreateDatabaseLC(): - Created private DB for %S. error=%d, (%d is KErrAlreadyExists)\n"),
-		&aDatabaseName,
-		error,
-		KErrAlreadyExists));
-}
-
-// ----------------------------------------------------------------------
-// End