diff -r 000000000000 -r c6b0df440bee dbgsrv/coredumpserver/interface/formatter/formatterapi.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dbgsrv/coredumpserver/interface/formatter/formatterapi.inl Tue Mar 02 10:33:16 2010 +0530 @@ -0,0 +1,94 @@ +// 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 "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: +// Implement some of the ECOM Core Dump Formatter interface. +// + + + +/** + @file + @publishedPartner + @released +*/ + +// Set default to be first implementation found by resolver +_LIT8(KDefaultImplementation,"*"); + +#include + +inline CCoreDumpFormatter::CCoreDumpFormatter() + { + LOG_MSG( "CCoreDumpFormatter::CCoreDumpFormatter()\n" ); + } + +inline CCoreDumpFormatter::~CCoreDumpFormatter() + { + LOG_MSG2( "CCoreDumpFormatter::~CCoreDumpFormatter() with iDtor_ID_Key=0x%X\n", iDtor_ID_Key ); + // 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 CCoreDumpFormatter* CCoreDumpFormatter::NewL() + { + LOG_MSG( "CCoreDumpFormatter::NewL()\n" ); + // Set up the interface find for the default resolver. + TEComResolverParams resolverParams; + resolverParams.SetDataType(KDefaultImplementation()); + //resolverParams.SetGenericMatch(ETrue); // Allow wildcard matching + resolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching + + // Set up some empty initialisation parameters + TExampleInterfaceInitParams initParams; + initParams.integer = 0; + initParams.descriptor = NULL; + + return reinterpret_cast( + REComSession::CreateImplementationL(KCCoreDumpFormatterUid, + _FOFF(CCoreDumpFormatter,iDtor_ID_Key), + &initParams, + resolverParams)); + } + +inline CCoreDumpFormatter* CCoreDumpFormatter::NewL(const TDesC8& aCue) + { + LOG_MSG( "CCoreDumpFormatter::NewL(const TDesC8& aCue)\n" ); + + TEComResolverParams resolverParams; + resolverParams.SetDataType(aCue); + resolverParams.SetGenericMatch(ETrue); + TAny* symbianElf = REComSession::CreateImplementationL(KCCoreDumpFormatterUid, _FOFF(CCoreDumpFormatter, iDtor_ID_Key), + resolverParams); + return reinterpret_cast(symbianElf); + } + + +inline CCoreDumpFormatter* CCoreDumpFormatter::NewL(const TUid& aUid) + { + LOG_MSG( "CCoreDumpFormatter::NewL(const TUid& aUid)\n" ); + + LOG_MSG2( "->REComSession::CreateImplementationL(aUid=0x%X)\n", (aUid) ); + + TAny* symbianElf = REComSession::CreateImplementationL( aUid, _FOFF(CCoreDumpFormatter, iDtor_ID_Key) ); + LOG_MSG2( "<-REComSession::CreateImplementationL() iDtor_ID_Key=0x%X\n", _FOFF(CCoreDumpFormatter, iDtor_ID_Key) ); + + return reinterpret_cast(symbianElf); + } + + +inline void CCoreDumpFormatter::ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray) + { + REComSession::ListImplementationsL(KCCoreDumpFormatterUid, aImplInfoArray); + }