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