cryptoservices/certificateandkeymgmt/tadditionalstores/Test1certstoretoken.cpp
changeset 8 35751d3474b7
parent 0 2c201484c85f
--- a/cryptoservices/certificateandkeymgmt/tadditionalstores/Test1certstoretoken.cpp	Tue Jul 21 01:04:32 2009 +0100
+++ b/cryptoservices/certificateandkeymgmt/tadditionalstores/Test1certstoretoken.cpp	Thu Sep 10 14:01:51 2009 +0300
@@ -1,200 +1,200 @@
-/*
-* 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 "test1certstoretoken.h"
-#include "test1certstore.h"
-
-_LIT(KName1, "Test store 1");
-_LIT(KName2, "Test store 2");
-#ifdef CERTSTORE_HARDWARE_SIM
-	_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1simcertstore.dat");
-	_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2simcertstore.dat");
-#else
-	#ifdef CERTSTORE_HARDWARE_WIM
-		_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1wimcertstore.dat");
-		_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2wimcertstore.dat");
-	#else
-		#ifdef CERTSTORE_HARDWARE_UICC
-			_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1uicccertstore.dat");
-			_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2uicccertstore.dat");
- 		#else
-			#ifdef CERTSTORE_DEVICE_IMMUTABLE
-				_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1deviceimmutablecertstore.dat");
-				_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2deviceimmutablecertstore.dat");
-			#else
-				_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1certstore.dat");
-				_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2certstore.dat");
-			#endif
- 		#endif
-	#endif
-#endif
-
-
-CTest1CertStoreToken* CTest1CertStoreToken::New(CTest1CertStoreTokenType::TTokenId aTokenId,
-												CTest1CertStoreTokenType& aFileCertStoreTokenType)
-	{
-	return new CTest1CertStoreToken(aTokenId, aFileCertStoreTokenType);
-	}
-
-CTest1CertStoreToken::~CTest1CertStoreToken()
-	{
-	}
-
-MCTTokenType& CTest1CertStoreToken::TokenType()
-	{
-	return iTokenType;
-	}
-
-const TDesC& CTest1CertStoreToken::Label()
-	{
-	switch (iTokenId)
-		{
-	case CTest1CertStoreTokenType::ETest1CertStore:
-		return KName1;
-
-	case CTest1CertStoreTokenType::ETest2CertStore:
-		return KName2;
-
-	default:
-		return KNullDesC;
-		}
-	}
-
-const TDesC& CTest1CertStoreToken::Information(TTokenInformation)
-	{
-	_LIT(KAnswer, "I Know Nothing");
-	return KAnswer;
-	}
-
-TCTTokenHandle CTest1CertStoreToken::Handle()
-	{
-	return TCTTokenHandle(iTokenType.Type(), iTokenId);
-	}
-
-void CTest1CertStoreToken::DoRelease()
-	{
-	delete this;
-	}
-
-TInt& CTest1CertStoreToken::ReferenceCount()
-	{
-	return iRefCount;
-	}
-
-void CTest1CertStoreToken::DoGetInterface(TUid aRequiredInterface,
-										  MCTTokenInterface*& aReturnedInterface,
-										  TRequestStatus& aStatus)
-	{
-	RFs& fs = static_cast<CCTTokenType&>(TokenType()).Fs();
-	MCTTokenInterface* result = 0;
-	TInt error = KErrNone;
-
-	//gets the system drive
-	TDriveUnit sysDrive (RFs::GetSystemDrive());
-	TDriveName driveName(sysDrive.Name());	
-	TBuf<128> fullPath (driveName);
-	TInt* refCountInterface = &iRefCountInterface;
-	
-	if (iTokenId == CTest1CertStoreTokenType::ETest1CertStore)
-		{
-		fullPath.Append(KTest1CertStoreFullPath);
-		refCountInterface = &iRefCountInterface;
-		}
-		
-	// This is mainly used for testing and also as an example on how to manage
-	// multiple tokens within one TokenType.
-	else if (iTokenId == CTest1CertStoreTokenType::ETest2CertStore)
-		{
-		fullPath.Append(KTest2CertStoreFullPath);
-		refCountInterface = &iRefCountInterface2;
-		}
-	else
-		{
-		// If not certstore 1 or 2, then we complete with bad name.
-		TRequestStatus* r = &aStatus;
-		User::RequestComplete(r, KErrBadName);
-		return;
-		}
-
-	switch (aRequiredInterface.iUid)
-		{
-	case KInterfaceCertStore:
-		{
-		if (!iFileCertStore)
-			{
-			TRAP(error, iFileCertStore = CTest1CertStore::NewL(fs, *this, fullPath, 
-				EFileShareReadersOnly));
-			iFileMode = EFileRead;
-			}
-		MCTCertStore* temp = iFileCertStore;
-		result = temp;
-		}
-		break;
-
-	case KInterfaceWritableCertStore:
-		{
-		if (!iFileCertStore)
-			{
-			TRAP(error, iFileCertStore = CTest1CertStore::NewL(fs, *this, fullPath, EFileWrite));
-			iFileMode = EFileWrite;
-			}
-		if (iFileMode == EFileRead)
-			{
-			error = KErrInUse;
-			}
-		else
-			{
-			MCTWritableCertStore* temp = iFileCertStore;
-			result = temp;
-			}
-		}
-		break;
-
-	default:
-		error = KErrNotSupported;
-		break;
-		}
-
-	if (error == KErrNotSupported)
-		{
-		Release();
-		}
-	else if ((error != KErrNone) || !result)
-		{
-		Release();
-		}
-	else
-		{
-		(*refCountInterface)++;
-		aReturnedInterface = result;
-		}
-
-	TRequestStatus* r = &aStatus;
-	User::RequestComplete(r, error);
-	}
-
-TBool CTest1CertStoreToken::DoCancelGetInterface()
-	{
-	return EFalse;
-	}
-
-CTest1CertStoreToken::CTest1CertStoreToken(CTest1CertStoreTokenType::TTokenId aTokenId,
-										   CTest1CertStoreTokenType& aFileCertStoreTokenType)
-	:  iTokenType(aFileCertStoreTokenType), iTokenId(aTokenId)
-	{
-	}
+/*
+* 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 "test1certstoretoken.h"
+#include "test1certstore.h"
+
+_LIT(KName1, "Test store 1");
+_LIT(KName2, "Test store 2");
+#ifdef CERTSTORE_HARDWARE_SIM
+	_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1simcertstore.dat");
+	_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2simcertstore.dat");
+#else
+	#ifdef CERTSTORE_HARDWARE_WIM
+		_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1wimcertstore.dat");
+		_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2wimcertstore.dat");
+	#else
+		#ifdef CERTSTORE_HARDWARE_UICC
+			_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1uicccertstore.dat");
+			_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2uicccertstore.dat");
+ 		#else
+			#ifdef CERTSTORE_DEVICE_IMMUTABLE
+				_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1deviceimmutablecertstore.dat");
+				_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2deviceimmutablecertstore.dat");
+			#else
+				_LIT(KTest1CertStoreFullPath, "\\system\\data\\test1certstore.dat");
+				_LIT(KTest2CertStoreFullPath, "\\system\\data\\test2certstore.dat");
+			#endif
+ 		#endif
+	#endif
+#endif
+
+
+CTest1CertStoreToken* CTest1CertStoreToken::New(CTest1CertStoreTokenType::TTokenId aTokenId,
+												CTest1CertStoreTokenType& aFileCertStoreTokenType)
+	{
+	return new CTest1CertStoreToken(aTokenId, aFileCertStoreTokenType);
+	}
+
+CTest1CertStoreToken::~CTest1CertStoreToken()
+	{
+	}
+
+MCTTokenType& CTest1CertStoreToken::TokenType()
+	{
+	return iTokenType;
+	}
+
+const TDesC& CTest1CertStoreToken::Label()
+	{
+	switch (iTokenId)
+		{
+	case CTest1CertStoreTokenType::ETest1CertStore:
+		return KName1;
+
+	case CTest1CertStoreTokenType::ETest2CertStore:
+		return KName2;
+
+	default:
+		return KNullDesC;
+		}
+	}
+
+const TDesC& CTest1CertStoreToken::Information(TTokenInformation)
+	{
+	_LIT(KAnswer, "I Know Nothing");
+	return KAnswer;
+	}
+
+TCTTokenHandle CTest1CertStoreToken::Handle()
+	{
+	return TCTTokenHandle(iTokenType.Type(), iTokenId);
+	}
+
+void CTest1CertStoreToken::DoRelease()
+	{
+	delete this;
+	}
+
+TInt& CTest1CertStoreToken::ReferenceCount()
+	{
+	return iRefCount;
+	}
+
+void CTest1CertStoreToken::DoGetInterface(TUid aRequiredInterface,
+										  MCTTokenInterface*& aReturnedInterface,
+										  TRequestStatus& aStatus)
+	{
+	RFs& fs = static_cast<CCTTokenType&>(TokenType()).Fs();
+	MCTTokenInterface* result = 0;
+	TInt error = KErrNone;
+
+	//gets the system drive
+	TDriveUnit sysDrive (RFs::GetSystemDrive());
+	TDriveName driveName(sysDrive.Name());	
+	TBuf<128> fullPath (driveName);
+	TInt* refCountInterface = &iRefCountInterface;
+	
+	if (iTokenId == CTest1CertStoreTokenType::ETest1CertStore)
+		{
+		fullPath.Append(KTest1CertStoreFullPath);
+		refCountInterface = &iRefCountInterface;
+		}
+		
+	// This is mainly used for testing and also as an example on how to manage
+	// multiple tokens within one TokenType.
+	else if (iTokenId == CTest1CertStoreTokenType::ETest2CertStore)
+		{
+		fullPath.Append(KTest2CertStoreFullPath);
+		refCountInterface = &iRefCountInterface2;
+		}
+	else
+		{
+		// If not certstore 1 or 2, then we complete with bad name.
+		TRequestStatus* r = &aStatus;
+		User::RequestComplete(r, KErrBadName);
+		return;
+		}
+
+	switch (aRequiredInterface.iUid)
+		{
+	case KInterfaceCertStore:
+		{
+		if (!iFileCertStore)
+			{
+			TRAP(error, iFileCertStore = CTest1CertStore::NewL(fs, *this, fullPath, 
+				EFileShareReadersOnly));
+			iFileMode = EFileRead;
+			}
+		MCTCertStore* temp = iFileCertStore;
+		result = temp;
+		}
+		break;
+
+	case KInterfaceWritableCertStore:
+		{
+		if (!iFileCertStore)
+			{
+			TRAP(error, iFileCertStore = CTest1CertStore::NewL(fs, *this, fullPath, EFileWrite));
+			iFileMode = EFileWrite;
+			}
+		if (iFileMode == EFileRead)
+			{
+			error = KErrInUse;
+			}
+		else
+			{
+			MCTWritableCertStore* temp = iFileCertStore;
+			result = temp;
+			}
+		}
+		break;
+
+	default:
+		error = KErrNotSupported;
+		break;
+		}
+
+	if (error == KErrNotSupported)
+		{
+		Release();
+		}
+	else if ((error != KErrNone) || !result)
+		{
+		Release();
+		}
+	else
+		{
+		(*refCountInterface)++;
+		aReturnedInterface = result;
+		}
+
+	TRequestStatus* r = &aStatus;
+	User::RequestComplete(r, error);
+	}
+
+TBool CTest1CertStoreToken::DoCancelGetInterface()
+	{
+	return EFalse;
+	}
+
+CTest1CertStoreToken::CTest1CertStoreToken(CTest1CertStoreTokenType::TTokenId aTokenId,
+										   CTest1CertStoreTokenType& aFileCertStoreTokenType)
+	:  iTokenType(aFileCertStoreTokenType), iTokenId(aTokenId)
+	{
+	}