applayerpluginsandutils/httptransportplugins/httptransporthandler/mconnectionprefsprovider.h
changeset 0 b16258d2340f
child 18 5f1cd966e0d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/httptransportplugins/httptransporthandler/mconnectionprefsprovider.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,94 @@
+// 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:
+//
+
+#ifndef __MCONNECTIONPREFSPROVIDER_H__
+#define __MCONNECTIONPREFSPROVIDER_H__
+
+#include <e32std.h>
+
+class RConnection;
+class MSecurityPolicy;
+
+class MConnectionPrefsProvider
+/**
+Interface class used as a callback observer to provide any connection 
+preferences. This is used by the transport layer as callback to provide 
+preferences such as allowing exsiting comms	connections to be used and 
+security preferences.
+@see	CHttpTransportLayer
+*/
+		{
+public: // Methods
+
+/**
+	Callback function used by the transport layer that allows the client to 
+	provide an existing	comms connection to use. The return value indicates 
+	whether the client provided a connection or not. If the client does not 
+	provide an existing connection, the paramters should not be set.
+	@param		aSocketServerHandle	Handle to the existing socket server that
+									is already connected
+	@param		aConnectionPtr		Pointer to the comms connection that has 
+									already been started
+	@return		ETrue if an existing conection is provided or EFlase if no 
+				connection is supplied.
+*/
+	virtual TBool SupplyCommsConnection( RConnection*& aConnectionPtr ) =0;
+	virtual TBool SupplySocketServerHandle ( TInt& aSocketServerHandle ) =0;
+
+/**
+	Callback function used by the transport layer to set the comms connection 
+	that has been setup back in the client, making the connection to the client.
+	@param		aSocketServerHandle	Handle to the newly created socket server
+	@param		aConnectionPtr		Pointer to the newly created (and connected)
+									comms connection
+*/
+	virtual void SetCommsConnectionL( RConnection* aConnectionPtr ) =0;
+	virtual void SetSocketServerHandleL ( TInt aSocketServerHandle ) =0;
+
+/**
+	Callback used by the transport layer to query a client to provide security 
+	preferences.
+	@param		aDialogPrompt	A boolean indicating whether clients should be 
+								prompted or not.
+	@param		aSecurityPolicy	The security policy provider, can be NULL if not
+								provided.
+*/
+	virtual void GetSecurityPrefs(TBool& aDialogPrompt, MSecurityPolicy*& aSecurityPolicy) =0;
+
+/**
+	Callback function that indicates the socket shutdown mode. This method instructs the
+	transport layer to shutdown	the socket immediately.
+	@return		A boolean indicating whether the socket should be shutdown immediately or not.
+*/
+	virtual TBool ImmediateSocketShutdown() =0;
+	
+/**
+	Callback function used by the transport layer to get the session ID. The result is either a non-negative integer, or an error code.
+	
+	@return		A negative error code or the Session ID. This returns KErrNotSupported
+				if the implementation does not support session IDs
+*/
+	virtual TInt SessionId() =0;
+	
+/**
+	Callback function used by the transport layer to get the maximum receive buffer size.
+	@return    Returns the receive buffer size.
+*/
+	virtual TInt GetRecvBufferSize() = 0;
+
+	};
+
+#endif	// __MCONNECTIONPREFSPROVIDER_H__
+