Symbian3/SDK/Source/GUID-937C3D70-2DCC-5084-AC87-3B1E5865A827.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     6
<!-- Initial Contributors:
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     7
    Nokia Corporation - initial contribution.
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     8
Contributors: 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     9
-->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    10
<!DOCTYPE concept
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    12
<concept xml:lang="en" id="GUID-937C3D70-2DCC-5084-AC87-3B1E5865A827"><title>Active Backup Client Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Active Backup Client enables Symbian Developers to write backup and restore software with complete control of which data is backed up and restored. </p> <p>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. </p> <section><title>Required Background</title> <p>Before you start, you must understand the following architecture and concepts: </p> <ul><li id="GUID-D8AE221E-2356-5A98-B338-39847C69A845"><p><xref href="GUID-5CA933B9-7987-5DDE-AE12-B0D5AFD31451.dita">Symbian backup and restore architecture</xref>  </p> </li> <li id="GUID-1BC9B7B5-9DE9-5E7A-8E66-F1752111134B"><p><xref href="GUID-7FDD9FEC-5017-5E5D-A50A-5F343A3C7F6C.dita"> Backup and restore modes</xref> (active, passive and proxy). </p> </li> </ul> </section> <section><title>Key concepts and terms</title> <p> <b>Data owner </b>  </p> <p>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. </p> <p> <b>Initiator/Responder</b>  </p> <p>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. </p> </section> <section><title>Architecture</title> <p>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. </p> <fig id="GUID-A32E2101-8CF4-5DCB-B200-B4219A21733A"><title>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    13
             Active Backup Client 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    14
          </title> <image href="GUID-54401E25-31F5-58E8-AE8A-276DE5E9C072_d0e164369_href.jpg" placement="inline"/></fig> <ul><li id="GUID-EA86CFF4-6504-5C52-9B48-961EE80D8C4F"><p>The <b>Backup Server</b> communicates directly with the backup and restore initiator, for example a host PC. </p> <p>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 (<xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-FB671D02-0F15-396F-9FB7-EE3E9372093C"><apiname>conn::CSBEClient</apiname></xref>) for lists of data sets. It also transfers data during a backup or a restore. </p> <p> <b>Note</b>: The Symbian platform includes a backup server which a device vendor may replace. </p> </li> <li id="GUID-D533320B-B8E6-5660-A423-BDD4B36227FC"><p>The<b> Backup Engine</b> 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. </p> <p> <b>Note</b>: This component runs in a separate process which allows the Backup Server to operate synchronously and asynchronously. </p> </li> <li id="GUID-121E55AE-5E5A-5533-AB57-3521DDCB6894"><p>An active <b>Data Owner Application</b> responds to signals from the Backup Engine. It releases resources in case of file lock or data confliction. It must define a <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref> instance to connect to the Backup Engine and must provide a pointer to an <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref> implementation. The <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref> implementation prepares and transfers data to the Backup Engine for a backup and restore. </p> </li> </ul> </section> <section><title>APIs</title> <p>The Active Backup Client includes the following APIs: </p> <table id="GUID-78B19C43-C9D9-56F0-823F-7CF3F26238B8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref>  </p> </entry> <entry><p>Establishes a connection to the Backup Engine for the data owing process. </p> </entry> </row> <row><entry><p> <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-DB245BC3-2ADA-311D-8024-B40335D22822"><apiname>conn::MActiveBackupDataClient</apiname></xref>  </p> </entry> <entry><p>The data owner application must implement this interface to provide the data to the Backup Engine. It is passed to the <xref href="GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2.dita#GUID-169BB4E2-5B0E-3719-A7B8-A3C0AAA602E2/GUID-17E48B80-2421-3256-B8B4-A0FED424D54A"><apiname>conn::CActiveBackupClient</apiname></xref> constructor. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <p>The Active Backup Client can be used to prepare and transfer data for the Backup Engine to do a backup and restore. </p> </section> </conbody><related-links><link href="GUID-DFF9DFC5-1BE0-5CA2-A2B9-27FA2DECFF59.dita"><linktext>Writing an Active Backup Client Tutorial</linktext> </link> </related-links></concept>