applayerpluginsandutils/httptransportplugins/httptransporthandler/chttptransportlayer.inl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/chttptransportlayer.inl Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,85 @@
+// Copyright (c) 2003-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:
+//
+
+#include <ecom/ecom.h>
+
+inline
+THttpTransportConstructionParams::THttpTransportConstructionParams(MConnectionPrefsProvider& aConnectionPrefsProvider)
+:iConnectionPrefsProvider(aConnectionPrefsProvider)
+/**
+ Constructor.
+ @param aConnectionPrefsProvider Reference to a comms connection
+ callback provider.
+*/
+ {
+ iPriority= EFalse;
+ }
+
+inline
+CHttpTransportLayer* CHttpTransportLayer::NewL(const TDesC8& aTransportType, THttpTransportConstructionParams& aHttpTransportParams)
+/**
+ The factory contructor. Uses ECOM to find the appropriate implementation.
+ @param aTransportType The underlying transport protocol, e.g. tcp.
+ @param aHttpTransportParams Required construction parameters
+ @return A pointer to a fully constructed object.
+*/
+ {
+ // CHttpTransportLayer ECOM Interface UID = 101F55EC
+ const TUid KUidHttpTransportLayer = {0x101F55EC};
+
+ // Set resolving parameters
+ TEComResolverParams resolverParams;
+ resolverParams.SetDataType(aTransportType);
+ resolverParams.SetWildcardMatch(ETrue);
+
+ // Get the instantiation. Allow ECOM to use the default resolver.
+ TAny* ptr = REComSession::CreateImplementationL(
+ KUidHttpTransportLayer,
+ _FOFF(CHttpTransportLayer, iDtor_ID_Key),
+ &aHttpTransportParams,
+ resolverParams
+ );
+
+ return REINTERPRET_CAST(CHttpTransportLayer*, ptr);
+ }
+
+inline
+CHttpTransportLayer::~CHttpTransportLayer()
+/**
+ Destructor.
+*/
+ {
+ REComSession::DestroyedImplementation(iDtor_ID_Key);
+ }
+
+inline
+CHttpTransportLayer::CHttpTransportLayer()
+: CBase()
+/**
+ Constructor.
+*/
+ {
+ }
+
+inline
+MSocketFactory& CHttpTransportLayer::SocketFactory()
+/**
+ Accessor to the socket factory object.
+ @return A reference to the socket factory object.
+*/
+ {
+ return *this;
+ }
+