crypto/weakcryptospi/source/padding/paddingshim.cpp
changeset 19 cd501b96611d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/crypto/weakcryptospi/source/padding/paddingshim.cpp	Fri Nov 06 13:21:00 2009 +0200
@@ -0,0 +1,190 @@
+/*
+* Copyright (c) 2006-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 "paddingshim.h"
+#include <cryptospi/cryptospidef.h>
+
+// CPaddingNoneShim
+CPaddingNoneShim* CPaddingNoneShim::NewL(TInt aBlockBytes)
+	{
+	CPaddingNoneShim* self = CPaddingNoneShim::NewLC(aBlockBytes);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CPaddingNoneShim* CPaddingNoneShim::NewLC(TInt aBlockBytes)
+	{
+	CPaddingNoneShim* self = new(ELeave) CPaddingNoneShim(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+	
+TInt CPaddingNoneShim::Extension_(TUint aExtensionId, TAny*& a0, TAny* /*a1*/)
+	{
+	TInt err(KErrNone);
+	if (aExtensionId == CryptoSpi::KPaddingInterface)
+		{
+		TUid* uid(static_cast<TUid*>(a0));
+		*uid = CryptoSpi::KPaddingModeNoneUid;
+		}
+	else 
+		{
+		err = KErrExtensionNotSupported;
+		}
+	return err;
+	}
+
+CPaddingNoneShim::CPaddingNoneShim(TInt aBlockBytes) :
+	CPaddingNone(aBlockBytes)
+	{
+	}
+
+// CPaddingPKCS1SignatureShim
+CPaddingPKCS1SignatureShim* CPaddingPKCS1SignatureShim::NewL(TInt aBlockBytes)
+	{
+	CPaddingPKCS1SignatureShim* self = CPaddingPKCS1SignatureShim::NewLC(aBlockBytes);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CPaddingPKCS1SignatureShim* CPaddingPKCS1SignatureShim::NewLC(TInt aBlockBytes)
+	{
+	CPaddingPKCS1SignatureShim* self = new(ELeave) CPaddingPKCS1SignatureShim(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+	
+TInt CPaddingPKCS1SignatureShim::Extension_(TUint aExtensionId, TAny*& a0, TAny* /*a1*/)
+	{
+	TInt err(KErrNone);
+	if (aExtensionId == CryptoSpi::KPaddingInterface)
+		{
+		TUid* uid(static_cast<TUid*>(a0));
+		*uid = CryptoSpi::KPaddingModePkcs1_v1_5_SignatureUid;
+		}
+	else 
+		{
+		err = KErrExtensionNotSupported;
+		}
+	return err;
+	}
+
+CPaddingPKCS1SignatureShim::CPaddingPKCS1SignatureShim(TInt aBlockBytes) :
+	CPaddingPKCS1Signature(aBlockBytes)
+	{
+	}
+	
+// CPaddingPKCS1EncryptionShim
+CPaddingPKCS1EncryptionShim* CPaddingPKCS1EncryptionShim::NewL(TInt aBlockBytes)
+	{
+	CPaddingPKCS1EncryptionShim* self = CPaddingPKCS1EncryptionShim::NewLC(aBlockBytes);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CPaddingPKCS1EncryptionShim* CPaddingPKCS1EncryptionShim::NewLC(TInt aBlockBytes)
+	{
+	CPaddingPKCS1EncryptionShim* self = new(ELeave) CPaddingPKCS1EncryptionShim(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+	
+TInt CPaddingPKCS1EncryptionShim::Extension_(TUint aExtensionId, TAny*& a0, TAny* /*a1*/)
+	{
+	TInt err(KErrNone);
+	if (aExtensionId == CryptoSpi::KPaddingInterface)
+		{
+		TUid* uid(static_cast<TUid*>(a0));
+		*uid = CryptoSpi::KPaddingModePkcs1_v1_5_EncryptionUid;
+		}
+	else 
+		{
+		err = KErrExtensionNotSupported;
+		}
+	return err;
+	}
+
+CPaddingPKCS1EncryptionShim::CPaddingPKCS1EncryptionShim(TInt aBlockBytes) :
+	CPaddingPKCS1Encryption(aBlockBytes)
+	{
+	}
+	
+// CPaddingSSLv3Shim
+CPaddingSSLv3Shim* CPaddingSSLv3Shim::NewL(TInt aBlockBytes)
+	{
+	CPaddingSSLv3Shim* self = CPaddingSSLv3Shim::NewLC(aBlockBytes);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CPaddingSSLv3Shim* CPaddingSSLv3Shim::NewLC(TInt aBlockBytes)
+	{
+	CPaddingSSLv3Shim* self = new(ELeave) CPaddingSSLv3Shim(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+	
+TInt CPaddingSSLv3Shim::Extension_(TUint aExtensionId, TAny*& a0, TAny* /*a1*/)
+	{
+	TInt err(KErrNone);
+	if (aExtensionId == CryptoSpi::KPaddingInterface)
+		{
+		TUid* uid(static_cast<TUid*>(a0));
+		*uid = CryptoSpi::KPaddingModeSSLv3Uid;
+		}
+	else 
+		{
+		err = KErrExtensionNotSupported;
+		}
+	return err;
+	}
+
+CPaddingSSLv3Shim::CPaddingSSLv3Shim(TInt aBlockBytes) :
+	CPaddingSSLv3(aBlockBytes)
+	{
+	}	
+	
+// CPaddingPKCS7Shim
+CPaddingPKCS7Shim* CPaddingPKCS7Shim::NewL(TInt aBlockBytes)
+	{
+	CPaddingPKCS7Shim* self = CPaddingPKCS7Shim::NewLC(aBlockBytes);
+	CleanupStack::Pop(self);
+	return self;
+	}
+CPaddingPKCS7Shim* CPaddingPKCS7Shim::NewLC(TInt aBlockBytes)
+	{
+	CPaddingPKCS7Shim* self = new(ELeave) CPaddingPKCS7Shim(aBlockBytes);
+	CleanupStack::PushL(self);
+	return self;
+	}
+	
+TInt CPaddingPKCS7Shim::Extension_(TUint aExtensionId, TAny*& a0, TAny* /*a1*/)
+	{
+	TInt err(KErrNone);
+	if (aExtensionId == CryptoSpi::KPaddingInterface)
+		{
+		TUid* uid(static_cast<TUid*>(a0));
+		*uid = CryptoSpi::KPaddingModePKCS7Uid;
+		}
+	else 
+		{
+		err = KErrExtensionNotSupported;
+		}
+	return err;	
+	}
+
+CPaddingPKCS7Shim::CPaddingPKCS7Shim(TInt aBlockBytes) :
+	CPaddingPKCS7(aBlockBytes)
+	{
+	}