epoc32/include/mw/http/rhttpconnectioninfo.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 /**
    17  @file
    18  @warning : This file contains Rose Model ID comments - please do not delete
    19 */
    20 
    21 #ifndef	__RHTTPCONNECTIONINFO_H__
    22 #define	__RHTTPCONNECTIONINFO_H__ 
    23 
    24 // System includes 
    25 #include <e32std.h>
    26 #include <stringpool.h>
    27 #include <http/rhttppropertyset.h>
    28 
    29 //##ModelId=3C4C187A01CA
    30 class RHTTPConnectionInfo : public RHTTPPropertySet
    31 /**
    32 The RHTTPConnectionInfo is used for setting/getting 
    33 values used for setting up a connection over a protocol.  All methods are inherited
    34 directly from RHTTPPropertySet.
    35 
    36 To lookup/change any of the following properties, use 
    37 RHTTPPropertySet::Property(...) and RHTTPPropertySet::SetPropertyL(...) 
    38 
    39 To remove properties, use RHTTPPropertySet::RemoveProperty(...) for a named property,
    40 or RHTTPPropertySet::RemoveAllProperties() for all.
    41 
    42 The following values are currently defined. Note that new values
    43 could be added by individual filters. In general, properties
    44 should be defined before the first transaction is created; filters
    45 are not obliged to check with the connection info if the values
    46 have changed after this point.
    47 
    48 HTTP::EProxyUsage (default HTTP::EDoNotUseProxy) (HTTP::EDoNotUseProxy | HTTP::EUseProxy)
    49 
    50 HTTP::EProxyAddress (A Uri for the Proxy server. Should include the port number
    51 if it is not the default of 8080)
    52 
    53 HTTP::EMaxNumTransportHandlers (default 4)
    54 
    55 HTTP::EMaxNumTransPerTranspHndlr (default 5)
    56 
    57 HTTP::EHTTPVersion	(default HTTP::EHttp11) (HTTP::EHttp11 | HTTP::EHttp10)
    58 
    59 HTTP::EProtocol (default, and currently only defined value is HTTP::EHTTP)
    60 
    61 HTTP::EHttpBatching (default HTTP::EDoNotEnableBatching) (HTTP::EDoNotEnableBatching | HTTP::EEnableBatching)
    62 
    63 HTTP::EBatchingBufferSize (default 1400)
    64 
    65 HTTP Client can create a connection and set its own preferences, instead of using the 
    66 default connection preferences specified in COMMS Database. In such cases, the client 
    67 is responsible for creating the RSocketServ session and RConnection using
    68 RSocketServ::Connect(..) and RConnection::Open(..). 	   
    69 Client must also start the connection using RConnection::Start(..) and pass the 
    70 connection preferences to the function using TConnPref.
    71 The following session properties should then be set by the client.
    72 
    73 HTTP::EHttpSocketServ (Handle to RSocketServ session, which is the value obtained 
    74                        by calling RSocketServ::Handle())
    75 
    76 HTTP::EHttpSocketConnection (Reference to the RConnection object, obtained from 
    77                              reinterpret_cast(TInt, &connection))
    78 
    79 The HTTP Client can also specify what action should be take if during a secure 
    80 handshakes the server cert cannot be trusted. The choice is for the handshake
    81 to automatically cancelled or for a dialog to be raised and the user given the
    82 option of continuing with the handshake or cancelling it. The following session
    83 property should be used to specify the behaviour.
    84 
    85 HTTP::ESecureDialog (default HTTP::EDialogPrompt) (HTTP::EDialogPrompt | EDialogNoPrompt)
    86 
    87 The HTTP Client can specify the socket shutdown mode when the session is closing. At the time
    88 of closing the session, any outstanding transactions on open sockets can specify that the
    89 socket shutdown mode be set to immediate. The following property can be used to enable this
    90 behaviour.
    91 
    92 HTTP::ESocketShutdownMode (default HTTP::ESocketShutdownNormal) (HTTP::ESocketShutdownNormal | HTTP::ESocketShutdownImmediate
    93 
    94 The HTTP Client can limit the number of transactions that it will send down one connection when
    95 using pipelining. The following value should be set to an integer. When set any outstanding transaction
    96 that exceed this number will either be sent separately down a different connection or will
    97 be queued until a space becomes available.
    98 
    99 HTTP::EMaxNumTransactionsToPipeline (default KMaxTInt) (Integer)
   100 
   101 The session ID is an optional non-negative integer which is attached to the session and any sockets 
   102 it creates. The session ID will be set on any sockets created by using RSocket::SetOpt() with
   103 the level KSOLHttpSessionInfo and the name KSOHttpSessionId (defined in httpsocketconstants.h).
   104 The session ID can be retrieved in a Flow Hook by implementing MIp6Hook::SetFlowOption() to 
   105 look for the aforementioned option level and name. 
   106 @see MIp6Hook
   107 
   108 HTTP::ESessionId (no default) (Integer)
   109 
   110 
   111 @publishedAll
   112 @released
   113 */
   114 	{
   115 	};
   116 
   117 #endif // __RHTTPCONNECTIONINFO_H__