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__