hotspotfw/internetconnectivitytestservice/inc/ictshttphandler.h
branchRCL_3
changeset 18 aaabc7526ded
parent 0 56b72877c1cb
equal deleted inserted replaced
17:024ee8b21fe2 18:aaabc7526ded
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:   Contains implementation for HTTP::HEAD test
    14 * Description:   Contains implementation for connectivity test with HTTP
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 
    19 
    29 class CIctsEngine;
    29 class CIctsEngine;
    30 
    30 
    31 /**
    31 /**
    32  *  Handles HTTP related things.
    32  *  Handles HTTP related things.
    33  *
    33  *
    34  *  Sends HTTP::HEAD and interact with HTTP FW. Returns results to 
    34  *  Sends HTTP GET using HTTP FW. Returns results to the caller.
    35  *  caller.
       
    36  *
    35  *
    37  *  @lib ictsclientinterface.lib
    36  *  @lib ictsclientinterface.lib
    38  */
    37  */
    39 class CIctsHttpHandler : public CTimer, public MHTTPTransactionCallback 
    38 class CIctsHttpHandler : public CTimer, 
       
    39                          public MHTTPTransactionCallback
    40     {
    40     {
    41     
    41     
    42     public:
    42     public:
    43 
    43 
    44         /**
    44         /**
    51         * Destructor.
    51         * Destructor.
    52         */
    52         */
    53         virtual ~CIctsHttpHandler();
    53         virtual ~CIctsHttpHandler();
    54     
    54     
    55         /**
    55         /**
    56         * Send HTTP::HEAD request 
    56         * Send HTTP GET request 
    57         *
    57         *
    58         * @param aIPAddress IP address
    58         * @param aIPAddress IP address
    59         * @param aIapID IAP id
    59         * @param aIapID IAP id
    60         * @param aNetworkId Network id
    60         * @param aNetworkId Network id
    61         * @return KErrNone if successful
    61         * @return KErrNone if successful
    62         */
    62         */
    63         TInt SendHttpRequestL( TDesC8& aIPAddress, 
    63         TInt SendHttpRequestL( TDesC8& aIPAddress, 
    64                             TUint32 aIapID, 
    64                                  TUint32 aIapID, 
    65                              TUint32 aNetworkId );
    65                                    TUint32 aNetworkId );
    66         
    66         
    67         /**
    67         /**
    68         * Cancels HTTP::HEAD request 
    68         * Cancels HTTP GET request 
    69         *
    69         *
    70         * @return None
    70         * @return None
    71         */
    71         */
    72         void CancelHttpRequestL();
    72         void CancelHttpRequestL();
    73     
    73     
    92         * @return None
    92         * @return None
    93         */                        
    93         */                        
    94         virtual TInt MHFRunError( TInt aError, 
    94         virtual TInt MHFRunError( TInt aError, 
    95                                     RHTTPTransaction aTransaction, 
    95                                     RHTTPTransaction aTransaction, 
    96                                       const THTTPEvent& aEvent);
    96                                       const THTTPEvent& aEvent);
    97     
       
    98 
    97 
    99     protected:  // Functions from base classes
    98     protected:  // Functions from base classes
   100         
    99         
   101         /**
   100         /**
   102         * From CActive Handles an active object's request completion event.
   101         * From CActive Handles an active object's request completion event.
   124         * @param aConnection Network connection
   123         * @param aConnection Network connection
   125         * @param aSocketServ Socket server
   124         * @param aSocketServ Socket server
   126         * @return None
   125         * @return None
   127         */
   126         */
   128         void SetHttpConnectionInfoL( RConnection& aConnection, 
   127         void SetHttpConnectionInfoL( RConnection& aConnection, 
   129                                      RSocketServ& aSocketServ );
   128                                        RSocketServ& aSocketServ );
   130         /**
   129         /**
   131         * Send HTTP request 
   130         * Send HTTP request 
   132         *
   131         *
   133         * @param aIp IP address
   132         * @param aIp IP address
   134         * @return None
   133         * @return None
   140         *
   139         *
   141         * @param aIPAddress URL
   140         * @param aIPAddress URL
   142         * @return ETrue if found, else EFalse
   141         * @return ETrue if found, else EFalse
   143         */ 
   142         */ 
   144         TBool CheckHttp( TDesC8& aIPAddress );
   143         TBool CheckHttp( TDesC8& aIPAddress );
       
   144 
       
   145         /**
       
   146         * Checks if HTTP status code is a redirect (301,302,303,307)
       
   147         *
       
   148         * @param aTransaction HTTP transactionL
       
   149         * @return ETrue if found, else EFalse
       
   150         */
       
   151         TBool CheckStatusCodeL( RHTTPTransaction aTransaction );
   145     
   152     
   146     private: // data
   153     private: // data
   147 
   154 
   148         /**
   155         /**
   149         * Handle to HTTP session
   156         * Handle to HTTP session