epoc32/include/mw/http/rhttpconnectioninfo.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/epoc32/include/mw/http/rhttpconnectioninfo.h	Wed Mar 31 12:27:01 2010 +0100
     1.3 @@ -0,0 +1,119 @@
     1.4 +// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     1.5 +// All rights reserved.
     1.6 +// This component and the accompanying materials are made available
     1.7 +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     1.8 +// which accompanies this distribution, and is available
     1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
    1.10 +//
    1.11 +// Initial Contributors:
    1.12 +// Nokia Corporation - initial contribution.
    1.13 +//
    1.14 +// Contributors:
    1.15 +//
    1.16 +// Description:
    1.17 +//
    1.18 +
    1.19 +
    1.20 +
    1.21 +/**
    1.22 + @file RHTTPConnectionInfo.h
    1.23 + @warning : This file contains Rose Model ID comments - please do not delete
    1.24 +*/
    1.25 +
    1.26 +#ifndef	__RHTTPCONNECTIONINFO_H__
    1.27 +#define	__RHTTPCONNECTIONINFO_H__ 
    1.28 +
    1.29 +// System includes 
    1.30 +#include <e32std.h>
    1.31 +#include <stringpool.h>
    1.32 +#include <http/rhttppropertyset.h>
    1.33 +
    1.34 +//##ModelId=3C4C187A01CA
    1.35 +class RHTTPConnectionInfo : public RHTTPPropertySet
    1.36 +/**
    1.37 +The RHTTPConnectionInfo is used for setting/getting 
    1.38 +values used for setting up a connection over a protocol.  All methods are inherited
    1.39 +directly from RHTTPPropertySet.
    1.40 +
    1.41 +To lookup/change any of the following properties, use 
    1.42 +RHTTPPropertySet::Property(...) and RHTTPPropertySet::SetPropertyL(...) 
    1.43 +
    1.44 +To remove properties, use RHTTPPropertySet::RemoveProperty(...) for a named property,
    1.45 +or RHTTPPropertySet::RemoveAllProperties() for all.
    1.46 +
    1.47 +The following values are currently defined. Note that new values
    1.48 +could be added by individual filters. In general, properties
    1.49 +should be defined before the first transaction is created; filters
    1.50 +are not obliged to check with the connection info if the values
    1.51 +have changed after this point.
    1.52 +
    1.53 +HTTP::EProxyUsage (default HTTP::EDoNotUseProxy) (HTTP::EDoNotUseProxy | HTTP::EUseProxy)
    1.54 +
    1.55 +HTTP::EProxyAddress (A Uri for the Proxy server. Should include the port number
    1.56 +if it is not the default of 8080)
    1.57 +
    1.58 +HTTP::EMaxNumTransportHandlers (default 4)
    1.59 +
    1.60 +HTTP::EMaxNumTransPerTranspHndlr (default 5)
    1.61 +
    1.62 +HTTP::EHTTPVersion	(default HTTP::EHttp11) (HTTP::EHttp11 | HTTP::EHttp10)
    1.63 +
    1.64 +HTTP::EProtocol (default, and currently only defined value is HTTP::EHTTP)
    1.65 +
    1.66 +HTTP::EHttpBatching (default HTTP::EDoNotEnableBatching) (HTTP::EDoNotEnableBatching | HTTP::EEnableBatching)
    1.67 +
    1.68 +HTTP::EBatchingBufferSize (default 1400)
    1.69 +
    1.70 +HTTP Client can create a connection and set its own preferences, instead of using the 
    1.71 +default connection preferences specified in COMMS Database. In such cases, the client 
    1.72 +is responsible for creating the RSocketServ session and RConnection using
    1.73 +RSocketServ::Connect(..) and RConnection::Open(..). 	   
    1.74 +Client must also start the connection using RConnection::Start(..) and pass the 
    1.75 +connection preferences to the function using TConnPref.
    1.76 +The following session properties should then be set by the client.
    1.77 +
    1.78 +HTTP::EHttpSocketServ (Handle to RSocketServ session, which is the value obtained 
    1.79 +                       by calling RSocketServ::Handle())
    1.80 +
    1.81 +HTTP::EHttpSocketConnection (Reference to the RConnection object, obtained from 
    1.82 +                             reinterpret_cast(TInt, &connection))
    1.83 +
    1.84 +The HTTP Client can also specify what action should be take if during a secure 
    1.85 +handshakes the server cert cannot be trusted. The choice is for the handshake
    1.86 +to automatically cancelled or for a dialog to be raised and the user given the
    1.87 +option of continuing with the handshake or cancelling it. The following session
    1.88 +property should be used to specify the behaviour.
    1.89 +
    1.90 +HTTP::ESecureDialog (default HTTP::EDialogPrompt) (HTTP::EDialogPrompt | EDialogNoPrompt)
    1.91 +
    1.92 +The HTTP Client can specify the socket shutdown mode when the session is closing. At the time
    1.93 +of closing the session, any outstanding transactions on open sockets can specify that the
    1.94 +socket shutdown mode be set to immediate. The following property can be used to enable this
    1.95 +behaviour.
    1.96 +
    1.97 +HTTP::ESocketShutdownMode (default HTTP::ESocketShutdownNormal) (HTTP::ESocketShutdownNormal | HTTP::ESocketShutdownImmediate
    1.98 +
    1.99 +The HTTP Client can limit the number of transactions that it will send down one connection when
   1.100 +using pipelining. The following value should be set to an integer. When set any outstanding transaction
   1.101 +that exceed this number will either be sent separately down a different connection or will
   1.102 +be queued until a space becomes available.
   1.103 +
   1.104 +HTTP::EMaxNumTransactionsToPipeline (default KMaxTInt) (Integer)
   1.105 +
   1.106 +The session ID is an optional non-negative integer which is attached to the session and any sockets 
   1.107 +it creates. The session ID will be set on any sockets created by using RSocket::SetOpt() with
   1.108 +the level KSOLHttpSessionInfo and the name KSOHttpSessionId (defined in httpsocketconstants.h).
   1.109 +The session ID can be retrieved in a Flow Hook by implementing MIp6Hook::SetFlowOption() to 
   1.110 +look for the aforementioned option level and name. 
   1.111 +@see MIp6Hook
   1.112 +
   1.113 +HTTP::ESessionId (no default) (Integer)
   1.114 +
   1.115 +
   1.116 +@publishedAll
   1.117 +@released
   1.118 +*/
   1.119 +	{
   1.120 +	};
   1.121 +
   1.122 +#endif // __RHTTPCONNECTIONINFO_H__