diff -r 000000000000 -r bde4ae8d615e os/ossrv/lowlevellibsandfws/pluginfw/Framework/frame/Interface.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/ossrv/lowlevellibsandfws/pluginfw/Framework/frame/Interface.inl Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,327 @@ +// 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: +// This file contains the placeholder class +// which represents the interface creation. +// +// + +/** + @internalComponent + @file +*/ + + +const TUid KCExampleInterfaceUid = {0x10009DC0}; +const TUid KCExample10InterfaceUid = {0x10009DBB}; +const TUid KCExtendedInterfaceUid1 = {0x10009E44}; +const TUid KCExtendedInterfaceUid2 = {0x10009E45}; +const TUid KCExtendedInterfaceUid3 = {0x10009E46}; + +_LIT8(KImplementationTest,"text/wml"); +_LIT8(KImplementationTest10,"Example 10"); + +inline CExampleInterface::CExampleInterface() +: CActive(CActive::EPriorityLow) + { + // Do nothing + } + + +inline CExampleInterface::~CExampleInterface() + { + Cancel(); + // Destroy any instance variables and then + // inform the framework that this specific + // instance of the interface has been destroyed. + REComSession::DestroyedImplementation(iDtor_ID_Key); + } + + +inline CExampleInterface* CExampleInterface::NewL() + { + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + TUid resolverUid = {0x10009DD0}; + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + return REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExampleInterfaceUid, + _FOFF(CExampleInterface,iDtor_ID_Key), + &initParams, + ResolverParams, + resolverUid)); + } + +inline CExampleInterface* CExampleInterface::NewL(const TDesC8& aMatchString) + { + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(aMatchString); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + return REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExampleInterfaceUid, + _FOFF(CExampleInterface,iDtor_ID_Key), + &initParams, + ResolverParams)); + } + +inline CExampleInterface* CExampleInterface::NewL(TInt aIntParameterTest, const TDesC& aDesParameterTest) + { + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + // Set up the initialisation parameter passing + TExampleInterfaceInitParams initParams; + initParams.integer = aIntParameterTest; + initParams.descriptor = &aDesParameterTest; + + // The CreateImplementationL method will return + // the created item. + return REINTERPRET_CAST(CExampleInterface*, REComSession::CreateImplementationL(KCExampleInterfaceUid, + _FOFF(CExampleInterface,iDtor_ID_Key), + &initParams, + ResolverParams)); + } + +inline CExampleInterface* CExampleInterface::NewL2(const TUid aImplementationUid) + { + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + // The CreateImplementationL method will return + // the created item. + return REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(aImplementationUid, + _FOFF(CExampleInterface,iDtor_ID_Key), + &initParams)); + } + +inline CExampleInterface* CExampleInterface::NewL3() + { + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + // The CreateImplementationL method will return + // the created item. + return REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExampleInterfaceUid, + _FOFF(CExampleInterface,iDtor_ID_Key), + &initParams, + ResolverParams)); + } + +inline CExampleInterface* CExampleInterface::NewL4() + { + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + TUid resolverUid = {0x10009DD0}; + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + // The CreateImplementationL method will return + // the created item. + return REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExampleInterfaceUid, + _FOFF(CExampleInterface,iDtor_ID_Key), + &initParams, + ResolverParams, + resolverUid)); + } + + +inline CExampleInterface* CExampleInterface::NewL5() + { + //set up extended interface; + RArray extendedInterface; + CleanupClosePushL(extendedInterface); + extendedInterface.AppendL(KCExtendedInterfaceUid1); + extendedInterface.AppendL(KCExtendedInterfaceUid2); + extendedInterface.AppendL(KCExtendedInterfaceUid3); + + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest10()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + // The CreateImplementationL method will return the created item. + CExampleInterface* dll = REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExample10InterfaceUid, + extendedInterface, + _FOFF(CExampleInterface,iDtor_ID_Key), + ResolverParams)); + CleanupStack::PopAndDestroy(&extendedInterface); + return dll; + } + + +inline CExampleInterface* CExampleInterface::NewL6() + { + //set up extended interface; + RArray extendedInterface; + CleanupClosePushL(extendedInterface); + extendedInterface.AppendL(KCExtendedInterfaceUid1); + extendedInterface.AppendL(KCExtendedInterfaceUid2); + extendedInterface.AppendL(KCExtendedInterfaceUid3); + + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest10()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + TUid resolverUid = {0x10009DD0}; + + // The CreateImplementationL method will return the created item. + CExampleInterface* dll = REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExample10InterfaceUid, + extendedInterface, + _FOFF(CExampleInterface,iDtor_ID_Key), + ResolverParams, + resolverUid)); + CleanupStack::PopAndDestroy(&extendedInterface); + return dll; + } + + +inline CExampleInterface* CExampleInterface::NewL7() + { + //set up extended interface; + RArray extendedInterface; + CleanupClosePushL(extendedInterface); + extendedInterface.AppendL(KCExtendedInterfaceUid1); + extendedInterface.AppendL(KCExtendedInterfaceUid2); + extendedInterface.AppendL(KCExtendedInterfaceUid3); + + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest10()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + // The CreateImplementationL method will return the created item. + CExampleInterface* dll = REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExample10InterfaceUid, + extendedInterface, + _FOFF(CExampleInterface,iDtor_ID_Key), + ResolverParams, + &initParams)); + CleanupStack::PopAndDestroy(&extendedInterface); + return dll; + } + + +inline CExampleInterface* CExampleInterface::NewL8() + { + //set up extended interface; + RArray extendedInterface; + CleanupClosePushL(extendedInterface); + extendedInterface.AppendL(KCExtendedInterfaceUid1); + extendedInterface.AppendL(KCExtendedInterfaceUid2); + extendedInterface.AppendL(KCExtendedInterfaceUid3); + + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest10()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + TUid resolverUid = {0x10009DD0}; + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + // The CreateImplementationL method will return the created item. + CExampleInterface* dll = REINTERPRET_CAST(CExampleInterface*, + REComSession::CreateImplementationL(KCExample10InterfaceUid, + extendedInterface, + _FOFF(CExampleInterface,iDtor_ID_Key), + ResolverParams, + resolverUid, + &initParams)); + CleanupStack::PopAndDestroy(&extendedInterface); + return dll; + } + + + +inline void CExampleInterface::ListImplementationsL(RImplInfoPtrArray& aImplInfoArray) + { + // Set up the interface find for the default resolver. + TEComResolverParams ResolverParams; + ResolverParams.SetDataType(KImplementationTest()); + ResolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + REComSession::ListImplementationsL(KCExampleInterfaceUid, + ResolverParams, + aImplInfoArray); + } + +inline void CExampleInterface::ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray) + { + REComSession::ListImplementationsL(KCExampleInterfaceUid, aImplInfoArray); + } + + +inline void CExampleInterface::DoMethodL() + { + User::Leave(KErrNotSupported); + } + + +inline TInt CExampleInterface::FireAndForget() + { + return KErrNotSupported; + } + +inline TAny* CExampleInterface::GetExtendedInterfaceL(const TUid& aInterfaceUid) + { + TAny *object = NULL; + object = REComSession::GetExtendedInterfaceL(iDtor_ID_Key, aInterfaceUid); + return object; + } + +inline void CExampleInterface::ManuallyReleaseExtendedInterfaceL(const TUid& aInterfaceUid) + { + REComSession::ManuallyReleaseExtendedInterfaceL(iDtor_ID_Key, aInterfaceUid); + }