--- a/crypto/weakcrypto/source/cryptoswitch/cryptoswitch.cpp Tue Aug 31 17:00:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2004-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 <emulator.h>
-
-
-extern "C" {
-
-#include "cryptography_stubs.h"
-
-FARPROC vector[MAX_ORDINAL+1];
-
-void fill_vector(HINSTANCE aDll)
- {
- int i;
- for (i=1;i<=MAX_ORDINAL;i++)
- {
- vector[i] = GetProcAddress(aDll, (LPCSTR)i);
- }
- vector[0] = (FARPROC)1; // initialised
- }
-
-void init_vector()
- {
- __LOCK_HOST; // prevent deadlock with EKA2 scheduler
-
- HINSTANCE instance;
-
- // Try for strong cryptography
- //
- instance = LoadLibraryA("strong_cryptography.dll");
- if (instance != NULL)
- {
- fill_vector(instance);
- return;
- }
-
- // Try for weak cryptography
- //
- instance = LoadLibraryA("weak_cryptography.dll");
- if (instance != NULL)
- {
- fill_vector(instance);
- return;
- }
-
- // die
- //
- OutputDebugStringA("Unable to load cryptography implementation");
- _asm int 3;
- }
-
-__declspec(naked) void common_dispatch()
- {
- _asm cmp dword ptr vector,0 // initialised?
- _asm jne call_though_vector
- _asm push eax
- _asm push ecx
- _asm push edx
- _asm call init_vector
- _asm pop edx
- _asm pop ecx
- _asm pop eax
-call_though_vector:
- _asm jmp [vector+eax*4]
- }
-
-}