diff -r 000000000000 -r e4d67989cc36 lowlevellibsandfws/pluginfw/Framework/nullExample/nullExample.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lowlevellibsandfws/pluginfw/Framework/nullExample/nullExample.cpp Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,103 @@ +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "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: +// + +// Includes +#include +#include +#include +#include "nullExample.h" + + +// ================= MEMBER FUNCTIONS ======================= + +// C++ default constructor can NOT contain any code, that +// might leave. +// +CInterfaceImpl::CInterfaceImpl(): + CExampleInterface() + { + + } + +// Two-phased constructor. +CInterfaceImpl* CInterfaceImpl::NewL(TAny* aConstructionParams) + { + __ASSERT_ALWAYS(aConstructionParams == NULL, User::Leave(KErrArgument)); + //return new (ELeave) CInterfaceImpl; + CInterfaceImpl* self= new (ELeave) CInterfaceImpl(); + return self; + } + +// Destructor +CInterfaceImpl::~CInterfaceImpl() + { + } + +TInt CInterfaceImpl::Version() const + { + return 2; + } + +void CInterfaceImpl::DoMethodL() + { + // Access TLS to ensure it has been set properly + REINTERPRET_CAST(TInt*, Dll::Tls()); + } + +TInt CInterfaceImpl::FireAndForget() + { + TRAPD(error,DoMethodL()); + return error; // Always KErrNotSupported + } + +TUid CInterfaceImpl::ImplId() + { + TUid idVal = {0x01aa500c}; + return (idVal); + } + +// Provide the CActive overloads +void CInterfaceImpl::RunL() + { + // Do nothing : should never be called + __ASSERT_DEBUG(EFalse,User::Invariant()); + } + +void CInterfaceImpl::DoCancel() + { + // Do nothing + } + +TInt CInterfaceImpl::RunError(TInt aError) + { + return aError; + } + +// __________________________________________________________________________ +// Exported proxy for instantiation method resolution +// Define the interface UIDs +const TImplementationProxy KImplTable[] = + { + //{{0x01aa500c}, CInterfaceImpl::NewL} + IMPLEMENTATION_PROXY_ENTRY(0x01aa500c, CInterfaceImpl::NewL) + }; + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount) + { + aTableCount = sizeof(KImplTable) / sizeof(TImplementationProxy); + return KImplTable; + } + +// End of File