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