The Active Backup Client enables Symbian Developers to write backup and restore software with complete control of which data is backed up and restored.
The backup client application is often referred to as the data owner as it owns the data. The data owner is automatically invoked to prepare and supply the data to the Backup Engine at backup time. Similarly, the data is automatically supplied back to the data owner on restore.
Before you start, you must understand the following architecture and concepts:
Backup and restore modes (active, passive and proxy).
Data owner
A Symbian process that owns the data to be backed up or restored is a data owner. It can be an application or a server.
Initiator/Responder
There are two roles in MTP exchanges, an initiator and a responder. An initiator is the device which initiates requests and operations to the connected responder. A responder is the device which passively responds the requests and operations. Symbian MTP is implemented as a responder role only. A host PC or a portable device on a Symbian device is usually an initiator.
The following flowchart shows how the Active Backup Client (data owner application) works with other components for data backup and restore. The components provided by Symbian are in green. The components that a device vendor must implement are in blue.
The Backup Server communicates directly with the backup and restore initiator, for example a host PC.
The Backup Server receives a request from a host PC for a backup or restore operation. It then calls the Backup Engine using the Backup Engine Client API (conn::CSBEClient) for lists of data sets. It also transfers data during a backup or a restore.
Note: The Symbian platform includes a backup server which a device vendor may replace.
The Backup Engine component contains the logic related to the data backup and restore. It signals the start or completion of a backup or restore to all data owners.
Note: This component runs in a separate process which allows the Backup Server to operate synchronously and asynchronously.
An active Data Owner Application responds to signals from the Backup Engine. It releases resources in case of file lock or data confliction. It must define a conn::CActiveBackupClient instance to connect to the Backup Engine and must provide a pointer to an conn::MActiveBackupDataClient implementation. The conn::MActiveBackupDataClient implementation prepares and transfers data to the Backup Engine for a backup and restore.
The Active Backup Client includes the following APIs:
API | Description |
---|---|
Establishes a connection to the Backup Engine for the data owing process. |
|
The data owner application must implement this interface to provide the data to the Backup Engine. It is passed to the conn::CActiveBackupClient constructor. |
The Active Backup Client can be used to prepare and transfer data for the Backup Engine to do a backup and restore.