applayerpluginsandutils/httpprotocolplugins/wspinc/CWspTransportHandler.inl
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/httpprotocolplugins/wspinc/CWspTransportHandler.inl	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,79 @@
+// Copyright (c) 2001-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:
+//
+
+
+// System includes
+//
+#include <ecom/ecom.h>
+
+/**
+Data type name for WSP Transport Handler
+@publishedAll
+@released
+*/
+_LIT8(KDataTypeName, "wsp-transport-handler");
+
+
+inline
+CWspTransportHandler* CWspTransportHandler::NewL(RStringPool aStringPool,
+												 MSecurityPolicy* aSecurityPolicy,
+												 MWspCOSessionCallback& aSessionCB,
+												 MWspProxyInfoProvider& aProxyInfoProv,
+											     MWspCapabilityProvider& aCapProv,
+											     MWspSessionHeadersProvider& aSessHdrProv)
+	{
+	// CWspTransportHandler ECOM Interface UID = 101F4482
+	const TUid KUidWspTrHndInterface = {0x101F4482};
+
+	// Set up a structure containing the instantiation parameters
+	SInstantiationParams initParams;
+	initParams.iStringPool		= &aStringPool;
+	initParams.iSecurityPolicy	= aSecurityPolicy;
+	initParams.iSessionCB		= &aSessionCB;
+	initParams.iProxyInfoProv	= &aProxyInfoProv;
+	initParams.iCapProv			= &aCapProv;
+	initParams.iSessHdrProv		= &aSessHdrProv;
+
+	// Set up the parameters which allow ECOM's resolver to pick the right implementation
+	TEComResolverParams resParams;
+	resParams.SetDataType(KDataTypeName());
+
+	// Get the instantiation.  Allow ECOM to use the default resolver.  Pass in the init params.
+	TAny* ptr = REComSession::CreateImplementationL(KUidWspTrHndInterface,
+								 _FOFF(CWspTransportHandler, iDtor_ID_Key),
+								 REINTERPRET_CAST(TAny*, &initParams),
+								 resParams);
+
+	return REINTERPRET_CAST(CWspTransportHandler*, ptr);
+	}
+
+inline
+CWspTransportHandler::~CWspTransportHandler()
+	{
+	REComSession::DestroyedImplementation(iDtor_ID_Key);
+	}
+
+inline
+CWspTransportHandler::CWspTransportHandler(RStringPool aStringPool,
+										   MSecurityPolicy* aSecurityPolicy,
+										   MWspCOSessionCallback& aSessionCB,
+										   MWspProxyInfoProvider& aProxyInfoProv,
+										   MWspCapabilityProvider& aCapProv,
+										   MWspSessionHeadersProvider& aSessHdrProv)
+	: iStringPool(aStringPool), iSecurityPolicy(aSecurityPolicy), 
+	  iSessionCB(aSessionCB), iProxyInfoProv(aProxyInfoProv), iCapProv(aCapProv),
+	  iSessHdrProv(aSessHdrProv)
+	{
+	}