diff -r 43e37759235e -r 51a74ef9ed63 Symbian3/SDK/Source/GUID-20B2C96A-9742-4CB0-A37F-19B65765E826.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-20B2C96A-9742-4CB0-A37F-19B65765E826.dita Wed Mar 31 11:11:55 2010 +0100 @@ -0,0 +1,58 @@ + + + + + +Implementing +the MHTTPDataOptimiser Interface +

To enable support for Web Acceleration, you must implement your own custom +encoding and decoding mechanisms by implementing the functions of the interface MHTTPDataOptimiser. +The following code illustrates the MHTTPDataOptimiser interface +that consists of the EncodeL() and DecodeL() methods:

+class MHTTPDataOptimiser +{ + +public: + +virtual void EncodeL(const TDesC8& aHTTPData, HBufC8*& aEncodedData) = 0; + +virtual void DecodeL(const TDesC8& aData, HBufC8*& aHTTPData, TBool& aTransFail) = 0; + +}; +
The EncodeL() +method

This method converts HTTP request data (to your selected +network optimisation protocol format) before it is sent across the TCP connection. +This method has the following parameters:

    +
  • aHTTPData: Contains +HTTP request data in standard HTTP format.

  • +
  • aEncodedData: On +return contains encoded HTTP request data in a network optimisation protocol +format.

  • +

Note: It is assumed that you define a custom optimisation +mechanism to encode the HTTP request data by implementing the EncodeL() method.

+
The DecodeL() +method

This method converts the HTTP response data in your selected +network optimisation protocol format back to the standard HTTP response data +format. This method has the following parameters:

    +
  • aData: Contains +the raw data in a network optimisation protocol format received over the TCP +connection.

  • +
  • aHTTPData: On +return of this method the aHTTPData parameter contains the +HTTP response data.

  • +
  • aTransFail: When +you set this parameter value to ETrue it sends the KErrHTTPOptimiserFailsTrans event +to the mobile browser application.

  • +

Note: In a scenario where the HTTP response data is split +across various packets (for example, when the network bandwidth is low), the MHTTPDataOptimiser::DecodeL() method +is called for every data packet received. In this scenario, to ensure successful +parsing of the HTTP response data, the aTransFail parameter +must be set to EFalse for every call made to MHTTPDataOptimiser::DecodeL(), +until the final transaction is encountered.

+
\ No newline at end of file