williamr@4: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // Implement some of the ECOM Core Dump Formatter interface. williamr@4: // williamr@4: williamr@4: williamr@4: williamr@4: /** williamr@4: @file williamr@4: @publishedPartner williamr@4: @released williamr@4: */ williamr@4: williamr@4: // Set default to be first implementation found by resolver williamr@4: _LIT8(KDefaultImplementation,"*"); williamr@4: williamr@4: #include williamr@4: williamr@4: inline CCoreDumpFormatter::CCoreDumpFormatter() williamr@4: { williamr@4: LOG_MSG( "CCoreDumpFormatter::CCoreDumpFormatter()\n" ); williamr@4: } williamr@4: williamr@4: inline CCoreDumpFormatter::~CCoreDumpFormatter() williamr@4: { williamr@4: LOG_MSG2( "CCoreDumpFormatter::~CCoreDumpFormatter() with iDtor_ID_Key=0x%X\n", iDtor_ID_Key ); williamr@4: // Destroy any instance variables and then williamr@4: // inform the framework that this specific williamr@4: // instance of the interface has been destroyed. williamr@4: REComSession::DestroyedImplementation( iDtor_ID_Key ); williamr@4: } williamr@4: williamr@4: inline CCoreDumpFormatter* CCoreDumpFormatter::NewL() williamr@4: { williamr@4: LOG_MSG( "CCoreDumpFormatter::NewL()\n" ); williamr@4: // Set up the interface find for the default resolver. williamr@4: TEComResolverParams resolverParams; williamr@4: resolverParams.SetDataType(KDefaultImplementation()); williamr@4: //resolverParams.SetGenericMatch(ETrue); // Allow wildcard matching williamr@4: resolverParams.SetWildcardMatch(ETrue); // Allow wildcard matching williamr@4: williamr@4: // Set up some empty initialisation parameters williamr@4: TExampleInterfaceInitParams initParams; williamr@4: initParams.integer = 0; williamr@4: initParams.descriptor = NULL; williamr@4: williamr@4: return reinterpret_cast( williamr@4: REComSession::CreateImplementationL(KCCoreDumpFormatterUid, williamr@4: _FOFF(CCoreDumpFormatter,iDtor_ID_Key), williamr@4: &initParams, williamr@4: resolverParams)); williamr@4: } williamr@4: williamr@4: inline CCoreDumpFormatter* CCoreDumpFormatter::NewL(const TDesC8& aCue) williamr@4: { williamr@4: LOG_MSG( "CCoreDumpFormatter::NewL(const TDesC8& aCue)\n" ); williamr@4: williamr@4: TEComResolverParams resolverParams; williamr@4: resolverParams.SetDataType(aCue); williamr@4: resolverParams.SetGenericMatch(ETrue); williamr@4: TAny* symbianElf = REComSession::CreateImplementationL(KCCoreDumpFormatterUid, _FOFF(CCoreDumpFormatter, iDtor_ID_Key), williamr@4: resolverParams); williamr@4: return reinterpret_cast(symbianElf); williamr@4: } williamr@4: williamr@4: williamr@4: inline CCoreDumpFormatter* CCoreDumpFormatter::NewL(const TUid& aUid) williamr@4: { williamr@4: LOG_MSG( "CCoreDumpFormatter::NewL(const TUid& aUid)\n" ); williamr@4: williamr@4: LOG_MSG2( "->REComSession::CreateImplementationL(aUid=0x%X)\n", (aUid) ); williamr@4: williamr@4: TAny* symbianElf = REComSession::CreateImplementationL( aUid, _FOFF(CCoreDumpFormatter, iDtor_ID_Key) ); williamr@4: LOG_MSG2( "<-REComSession::CreateImplementationL() iDtor_ID_Key=0x%X\n", _FOFF(CCoreDumpFormatter, iDtor_ID_Key) ); williamr@4: williamr@4: return reinterpret_cast(symbianElf); williamr@4: } williamr@4: williamr@4: williamr@4: inline void CCoreDumpFormatter::ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray) williamr@4: { williamr@4: REComSession::ListImplementationsL(KCCoreDumpFormatterUid, aImplInfoArray); williamr@4: }