S60 Platform: Contacts Model API Example v2.1
-------------------------------------------------

This C++ example is a simple application demonstrating the use of the Contacts
Model API. It allows viewing contact items from the default contacts database.
Each contact is shown using a custom text definition. New contacts can be
imported from files that contain vCard items. A contact item can also be 
selected and exported to a file in the vCards format. The example has been 
tested to to be compatible with S60 5th Edition and touch UI.
 

PREREQUISITES
-------------------------------------------------------------------------------

Symbian C++ basics


IMPORTANT FILES/CLASSES
-------------------------------------------------------------------------------

src\ContactModelDocument.cpp
   Import and export vCards.
   Open the contacts database.

CContactTextDef, CContactIdArray


TOUCH UI SUPPORT
-------------------------------------------------------------------------------

No changes needed to ensure touch UI support.

KNOWN ISSUES
-------------------------------------------------------------------------------

At the startup of the application, the contacts database is opened. This 
procedure may take tens of seconds if there are hundreds of names in the 
database.
    

RUNNING THE EXAMPLE
-------------------------------------------------------------------------------

Launch the ContactModel application on the device. A view with a list box 
showing your current contacts database will appear. To export, select a 
contact, select Export from the menu, and specify the target file. The selected 
contact item will be exported to the specified file. To import, select Import 
from the menu and select a file containing vCards. 
     

BUILD & INSTALLATION INSTRUCTIONS
-------------------------------------------------------------------------------

Steps for building and installing the application to a device depend on the S60 
platform version:

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

1. Make sure the paths in .pkg files match those on your system.

2. Compile the example:

    cd group
    bldmake bldfiles
    abld reallyclean gcce
    abld build gcce urel

3. Make the sis:

    cd sis
    createsis create ContactsModel_S60_3_0_v_2_1_0.pkg
    
4. Install the signed .sis file to an S60 3rd Edition device.
   - If you get a "Certificate error" during 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
S60 3rd Edition, Feature Pack 1
S60 3rd Edition, Maintenance Release

Tested on: Nokia 5800 XpressMusic, Nokia 6220 Classic, Nokia E90 Communicator, Nokia N93, Nokia N95 8GB.

Developed and tested with:
S60 5th Edition SDK
S60 3rd Edition SDK for Symbian OS, supporting Feature Pack 2, for C++
S60 3rd Edition SDK for Symbian OS, supporting Feature Pack 1, for C++
S60 3rd Edition SDK for Symbian OS, for C++, Maintenance Release


VERSION HISTORY     
-------------------------------------------------------------------------------

2.1     Tested to support S60 5th Edition and touch UI. Support for S60 1st and 2nd Editions dropped.

2.0     Support added for S60 3rd Edition and Scalable UI.

1.0     First release.


EVALUATE THIS RESOURCE
-------------------------------------------------------------------------------

Please spare a moment to help us improve documentation quality and recognize 
the examples you find most valuable, by rating this resource at
http://www.forum.nokia.com/main/1%2C%2C90%2C00.html?surveyId=356ac95e-f461-42f0-8367-924f6ef8d9ef/S60_Platform_Contacts_Model_API_Example_v2_1_en.zip.


