Contacts
From Symbian Developer Community
The Contacts package offers services for managing contacts related data. The package includes the Phonebook and Logs applications, and a large number of various APIs.
- Phonebook
- Call Logs
- Application Services API for managing contact data
- UI Controls for creating, editing and viewing contacts
- vCard 2.1 compliance
- Contact-related utility services for UI
- Predictive contact search features based on T9
- Presence Cache and buddy list with a simple contact presence API
- Phonebook extensibility to add extra service tabs (XSPs)
Architecture overview
Phonebook application
- Very modular and therefore has a large number of DLL’s.
- Heavily plugin based (even core functionality is implemented as plugins).
- Can be extended with new features by writing new plugins.
- New commands
- New tab views (XSP tabs)
- 3rd party tab view development is supported by providing a large number of utility platform APIs.
Phonebook services for other applications
- The Fetch & Assign service is implemented as a Server Application
- Reduces clients dependency to Phonebook application and Virtual Phonebook.
- Provides fetch dialogs for single contact fetch, multiple contact fetch, and single item fetch.
- Contact assign dialogs
- Create new
- Add to existing
- API for contact data management
Contact Centric Application
Contact Centric Application (CCA) is a separate application which provides a way to handle all contact specific tasks with one uniform user interface. It is launched embedded in the parent app and the user does not see it in the task list.
The application is launched from all places where the action is targeted to one contact. Such places are, for example, to open it from Phonebook names list to perform an action to a selected contact. Contact Centric Application is not only for contacts that are found in the local contact store but also in other stores.
CCA is mainly just a framework for view plug-ins, which perform operations and specified tasks for a contact. CCA has two built-in views: Launcher and Details. Launcher is shown first. Each view is a plugin DLL. When launched, a plugin can decide if it is shown or not. It can also hide / show itself again later.
Phonebook engine: Virtual Phonebook
Contains the Contact engines and plug-ins. Contacts Model is the original Contacts database engine created by Symbian. Virtual Phonebook is a higher level engine that can be used for accessing the Contacts Model database and also SIM contacts.
The actual engine part of Virtual Phonebook is very light. Virtual Phonebook supports many storages / storage types and can be extended with new storage plug-ins. Each storage type is implemented as a plugin. There are two default plugins in platform: Device contacts + SIM contacts. The ”Device contacts” plugin (VPbkCntModel.dll) wraps Symbian’s Contact Model.
Predictive search
Provides Predictive Search Engine that supports searching through different contact stores.
Logs
Provides user interface for Telephony logs.
Process view
News
Next generation contacts and logs component and API development to replace the existing Symbian & S60 middleware components with Qt & Qtopia based assets: QT Contacts
Also check out Symbian UI Brainstorm blog for ideas, for example usability category
Package Backlog
Please refer to Contacts Package Backlog.
Related Packages
Key APIs in Symbian^2 and Symbian^3
Virtual phonebook and related APIs will be removed in Symbian^4 and replaced with Qt Mobility Contacts API. UI is replaced with a Qt based phonebook and therefore the avkon related APIs will also be removed. As a result all the following APIs will be removed in Symbian^4.
Phonebook
Public APIs
- Speed Dial Utility Control API - A utility that provides services to both the Speeddial and PhoneBook applications for getting and setting speeddial number configuration
- Phonebook Thumbnail operation API - Phonebook thumbnail operation management
- Phonebook Data Management API - API for S60 specific contact data management. Wraps Symbian's Contact Model API.
- Phonebook Fetch UI API - Provides UIs for fetching data from Phonebook.
- Phonebook Data Add_Edit UI API - Provides UIs for editing and adding data in Phonebook.
- Phonebook UI Utilities API - Various Phonebook UI utilities.
- Phonebook vCard Import_Export API - vCard import/export to/from Phonebook
Platform APIs
- Phonebook 2 Commands API - Phonebook 2 business logic interface. Abstracts the command handling in Phonebook.
- Phonebook 2 Common UI API - Phonebook 2 application-framework. Core Phonebook and Phonebook Extensions use this framework.
- Phonebook 2 Icon API - Provides Phonebook 2 icons for the Phonebook clients.
- Phonebook 2 Image Management API - Contact image manipulation interface.
- Phonebook 2 Presentation API - Defines the way contacts are presented to the end-user. Used by Phonebook clients to format contacts according to S60 contact name formatting rules.
- Phonebook 2 Store Configuration Management API - Provides Phonebook 2 store configuration utilities to clients.
- Phonebook 2 Store Property API - Provides Phonebook 2 store property utilities to clients.
- Phonebook 2 Thin UI Extension Plugin API - Provides dynamic menu filtering to Phonebook 2 UI extensions.
- Phonebook 2 UI Controls API - Phonebook 2 UI controls interface. Provides an interface to Phonebook 2 UI controls state information.
- Phonebook 2 UI Extension API - Phonebook 2 UI extension interface. This interface is realized by Phonebook 2 UI Extensions.
- Phonebook 2 UI Extension Definition API - Phonebook 2 UI Extension Definition declares Phonebook 2 UI Extension UI items. This resource file interface enables on-demand loading of Phonebook 2 UI Extensions.
- Phonebook 2 UI Extension Plug-In API - Phonebook 2 extension plug-in ECom interface. This interface is realized by Phonebook 2 UI Extensions.
- Phonebook 2 UI Utilities API - Provides UI utilities to Phonebook clients. These services include a view launch parameter class for launching Phonebook application and the application UID.
- Phonebook 2 xSP Extension Manager API - API to manage multiple xSP extensions and provide additional functionality (e.g. Sorting of xSP tabs)
- Phonebook 2 xSP View Activation API - API for accessing certain xSP views from an external application and showing it to the user
- Phonebook Engine Extension API - Extension interface for Phonebook engine.
- Phonebook Extension API - Internal interface for the Phonebook extensions. The Core Phonebook uses this interface to connect to its UI extensions. The extensions implement this interface.
- Phonebook Internal AppFW API - Internal Phonebook app framework API. Used by Phonebook UI extensions.
- Phonebook Internal common API - Internal Phonebook common API.
- Phonebook Internal Data Management API - Internal Phonebook engine API.
- Phonebook Internal UI Utilities API - Internal Phonebook UI utilities API
- Phonebook Public Constants API - Phonebook UIDs
- Phonebook Thumbnails API - Phonebook contact thumbnail management and display.
- Phonebook UI controls API - Provides a subset of Phonebook UI controls for other S60 applications.
- Speed Dial Dialogs API - Provides UI dialogs for assigning and removing speed dial entries.
Contact Centric Application
Platform APIs
- CCA Launch API - provides an interface to a thin library running in the client content to launch a Contact Centric Application as an embedded application.
- CCA Wiew Plugin API - an API for extending the Contact Centric Application (CCApplication, CCA) with views. The new view can be added by deriving from API classes and then implementing the functions of the base classes.
- CMS Contactor API - offers an interface to launch and implement Instant Messaging service for a specific buddy. CMS Contactor API is an ECom plug-in that is loaded by an application who wants to start Instant Messaging with a specific buddy. A buddy is identified with URI in XspId format.
Logs
Platform APIs
- Logs Engine API extensions
- Logs Timers API
- Logs UI Command Line API
Predictive search
Platform APIs
- PS Adapters API - enables adding of new data adapters to the predictive search framework. Each data adapter is implemented as an ECom plug-in and needs to be compliant to the interface definition of CPsDataPlugin. The data adapters also need to implement the observers MDataStoreObserver for adding/ removing of data and MStoreListObserver for adding/ removing data stores.
- PS Algorithm API - enables adding of new search algorithms to the predictive search framework. Each search algorithm is implemented as an ECom plug-in and needs to be compliant to the interface definition of CPcsPlugin.
- PS Client API - provides client side interface to the Predictive Search Server.
- PS Utils API - provides interfaces to access helper objects used in performing predictive search and interpretation of search results.
Contact presence
Platform APIs
- Contact Presence API - provides an interface for accessing a messaging services availability status icon for a Phonebook contact. The availability icon changes when the presence status of the contact's buddies changes in the corresponding messaging systems, such as in Instant Messaging or VoIP. Contact Presence API supports two kind of presence information; a common availability icon for contact and service specific presence icons. The common presence icon is generic for a Phonebook contact and it is a union of separate service statuses. Each service has its own set of branded icons for various states. There are also two common traffic light icons, one for available state and another for unavailable state.
- Presence Cache API - provides an interface to read, write and subscribe presence status data stored in Presence Cache server. This enables applications to share the same presence data status. There are few well known keys but it is possible to extend the data model and write new key-value pairs of data. The data stored is in 8-bit format and thus you can write and read for example status texts and bit maps.
Phonebook engine: Virtual Phonebook
Platform APIs
- Virtual Phonebook Configuration API - Component configuration for Phonebook2. Contains the local variation flags of VirtualPhonebook.
- Virtual Phonebook Copy policy API - Virtual Phonebook Copy policy ECom plugin interface.
- Virtual Phonebook Engine API - API for S60 contact management
- Virtual Phonebook Migration Support API - Utility API for supporting migration between Phonebook data management and Virtual phonebook Engine interfaces.
- Virtual Phonebook Policy API - Virtual Phonebook Policy ECom plugin interfaces.
- Virtual Phonebook SIM services API - Provides access to the SIM capabilities inside Phonebook
- Virtual Phonebook Store API - ECom plugin API for Virtual Phonebook store implementation.
- Virtual Phonebook vCard API - vCard import/export API for Virtual Phonebook Engine
- Virtual Phonebook View Definition API - Defines a Virtual Phonebook contact view. This resource file interface defines Virtual Phonebook views.
Key APIs in Symbian^4
Qt Mobility Contacts API
See QT Contacts
Working with the Package
Contacts
Community
Sign in to comment…


