S60 Platform: HTTP Client Example v2.2
--------------------------------------

This updated C++ example application demonstrates simple HTTP GET and POST transactions 
using the HTTP Client API. Basic HTTP authentication is also supported. The updated 
version uses application-level roaming (supported from S60 3rd Edition, Feature Pack 2 
onwards). The example has been tested to support S60 5th Edition and touch UI.

-------------------------------------------------------------------------------------------

PREREQUISITES

Symbian C++ basics.
Basic knowledge of HTTP protocol.

-------------------------------------------------------------------------------------------

IMPORTANT FILES/CLASSES

HTTPClientExample\src\ClientEngine.cpp
- Contains the implementation of HTTP Client API usage.
- Other source files form the typical Avkon GUI application.

Classes:
  RHTTPSession
  RHTTPTransaction
  RHTTPHeaders
  MHTTPDataSupplier
  MHTTPAuthenticationCallback
  MHTTPTransactionCallback

-------------------------------------------------------------------------------------------

REQUIRED CAPABILITIES

NetworkServices.

-------------------------------------------------------------------------------------------

KNOWN ISSUES

No known issues.

-------------------------------------------------------------------------------------------

RUNNING THE EXAMPLE

Start the application.
The Options menu provides the following commands:

HTTP Get  - Opens a URI query dialog and issues an HTTP GET transaction.

HTTP Post - Opens URI and data query dialogs, and issues an HTTP Post transaction.

Cancel    - Cancels the running transaction. This command is only visible when a 
            transaction is running.

Note that running the application requires correctly configured networking (on the 
emulator) and Internet access point (on the device).

The upper part of the screen provides HTTP data. The lower part displays log data, 
including error codes. For more information on the meaning of the codes, see the error 
codes spreadsheet at http://wiki.forum.nokia.com/index.php/Error_codes.

Tip: You can change the focus between the upper and lower part of the screen by pressing 
     the middle of the scroll key.

-------------------------------------------------------------------------------------------

BUILD & INSTALLATION INSTRUCTIONS

The steps for building and installing the application on a device depend on the S60
platform version:

Mobile device
~~~~~~~~~~~~~

1. Make sure the paths in .pkg files match those in your development environment.

2. Compile the example:

    cd group
    bldmake bldfiles
    abld reallyclean gcce
    abld build gcce urel

3. Make the sis:

    cd sis
    createsis create HTTPClientExample_S60.pkg
    
4. Install the signed .sis file on a device.
   - If you get a Certificate error during the installation of a self-signed package, 
     check that App.Manager > Settings > Software Installation is set to All.
    
Emulator (WINSCW)
~~~~~~~~~~~~~~~~~

1. Compile the example:

    cd group
    bldmake bldfiles
    abld reallyclean winscw
    abld build winscw udeb

2. Start the emulator.

-------------------------------------------------------------------------------------------

COMPATIBILITY

S60 5th Edition
S60 3rd Edition, Feature Pack 2

Tested on: Nokia 5800 XpressMusic, Nokia N96.

Developed and tested with:
S60 5th Edition SDK for Symbian OS
S60 3rd Edition FP2 SDK for Symbian OS

-------------------------------------------------------------------------------------------

VERSION HISTORY

2.2    Application-level roaming enabled. S60 5th Edition and touch UI support checked.
       S60 2nd Edition support removed 
2.1    Scalable UI support implemented.
       About dialog implemented.
       Context-sensitive help implemented.

2.0    Final S60 3rd Edition support.

1.1    Application updated to support S60 3rd Edition (conditional compiling macros used 
         in order to maintain backward source compatibility).   
       Added BaseConstructL() call to view constructor (CAknView-derived)
         (without this, Avkon 59 panic is raised in S60 3rd Edition).
       Created ..\data folder and moved *.rss there. Original .mmp renamed to 
         HTTP_Client_2x.mmp.
       NetworkServices capability needed.

1.0    First release.

-------------------------------------------------------------------------------------------

RELATED EXAMPLES

If you are targeting S60 3rd Edition and S60 3rd Edition, Feature Pack 1 devices, use the 
previous version of this example: S60 Platform: HTTP Client Example v2.1
http://www.forum.nokia.com/info/sw.nokia.com/id/6ae1a078-1545-4c2c-b98f-68366474aa6d/S60_Platform_HTTP_Client_API_Example_v2_1_en.zip.html

Another example using application-level roaming: 
S60 Platform: Access Points Example with Roaming Support
http://www.forum.nokia.com/info/sw.nokia.com/id/d5c5e942-1b68-40bf-9a85-096792e5dfb0/S60_Platform_Access_Points_Example_with_Roaming_Support.html