diff -r 000000000000 -r b16258d2340f applayerpluginsandutils/httpprotocolplugins/wspinc/CWspTransportHandler.inl --- /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 + +/** +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) + { + }