dbgsrv/coredumpserver/interface/formatter/formatterapi.inl
changeset 0 c6b0df440bee
--- /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 <debuglogging.h>
+
+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<CCoreDumpFormatter*>(
+                            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<CCoreDumpFormatter*>(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<CCoreDumpFormatter*>(symbianElf);
+	}
+
+
+inline void CCoreDumpFormatter::ListAllImplementationsL(RImplInfoPtrArray& aImplInfoArray)
+	{
+	REComSession::ListImplementationsL(KCCoreDumpFormatterUid, aImplInfoArray);
+	}