Active Backup Client Overview

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.

Required Background

Before you start, you must understand the following architecture and concepts:

Key concepts and terms

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.

Architecture

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.

Figure 1. Active Backup Client
  • 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.

APIs

The Active Backup Client includes the following APIs:

API Description

conn::CActiveBackupClient

Establishes a connection to the Backup Engine for the data owing process.

conn::MActiveBackupDataClient

The data owner application must implement this interface to provide the data to the Backup Engine. It is passed to the conn::CActiveBackupClient constructor.

Typical uses

The Active Backup Client can be used to prepare and transfer data for the Backup Engine to do a backup and restore.