dependencies/activebackupclient/abclient.h
author kashif.sayed
Fri, 26 Mar 2010 02:10:38 +0530
branchv5backport
changeset 27 28544f9237c7
parent 20 d2ab7c3d0c48
permissions -rw-r--r--
. user: kashif.sayed branch 'v5backport' changed dependencies/bld.inf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     1
/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     2
* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     3
* All rights reserved.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     8
*
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
     9
* Initial Contributors:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    11
*
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    12
* Contributors:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    13
*
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    14
* Description:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    15
* Declaration of MActiveBackupDataClient and CActiveBackupClient
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    16
* 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    17
*
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    18
*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    19
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    20
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    21
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    22
/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    23
 @file
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    24
 @released
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    25
*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    26
#ifndef __ACTIVEBACKUPCLIENT_H__
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    27
#define __ACTIVEBACKUPCLIENT_H__
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    28
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    29
#include <e32base.h>
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    30
#include <f32file.h>
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    31
#include <e32cmn.h>
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    32
#include <connect/sbdefs.h>
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    33
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    34
namespace conn
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    35
	{
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    36
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    37
	class MActiveBackupDataClient
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    38
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    39
		MActiveBackupDataClient is a Mixin to be implemented by an Active Backup client.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    40
		The client connects to the Secure Backup Server using the CActiveBackupClient
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    41
		class and provides an instance of MActiveBackupDataClient to be called for a
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    42
		range of functions.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    43
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    44
		The bulk transfer of data and snapshots is expected to be by means of shared
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    45
		heaps for performance reasons so the API is expected to change in these areas.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    46
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    47
		@released
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    48
		@publishedAll
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    49
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    50
		{
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    51
	public:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    52
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    53
		/** 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    54
		Empty virtual destructor to avoid memory leaks
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    55
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    56
		virtual ~MActiveBackupDataClient() {}
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    57
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    58
		///// Backup Methods /////
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    59
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    60
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    61
		This method informs the active backup data client that all snapshots have
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    62
		been supplied. If the client has not received a snapshot then it should
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    63
		perform a base backup.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    64
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    65
		virtual void AllSnapshotsSuppliedL() = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    66
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    67
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    68
		This method receives all or part of a snapshot of data to allow calculation of an
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    69
		incremental backup.  The snapshot is one that was previously supplied by the data
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    70
		owner.  The snapshot data should be read from the location supplied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    71
		The snapshot data may be larger than the location supplied in which case the routine will
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    72
		be called repeatedly until all data has been supplied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    73
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    74
		Snapshot data will also be supplied as part of a restore operation.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    75
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    76
		@param aDrive the drive being backed up
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    77
		@param aBuffer a pointer to the base of the location from whence data can be copied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    78
		@param aLastSection ETrue if this is the last section of snapshot data, else EFalse.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    79
		@leave KErrNotSupported if the data owner does not support incremental backups.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    80
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    81
		virtual void ReceiveSnapshotDataL(TDriveNumber aDrive, TDesC8& aBuffer, TBool aLastSection) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    82
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    83
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    84
		This method returns the expected size of backup data that will be supplied.   If an
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    85
		incremental backup is underway then this method will not be called until after
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    86
		ReceiveSnapshotDataL().  The size data will be used for the purpose of tracking progess
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    87
		during a backup.  If it is inaccurate then the user may see irregular progress but the
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    88
		actual backup data will not be affected so it is acceptable to return an estimated
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    89
		value.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    90
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    91
		@param aDrive the drive being backed up.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    92
		@return the size of the data that will be returned
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    93
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    94
		virtual TUint GetExpectedDataSize(TDriveNumber aDrive) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    95
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    96
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    97
		This method returns a snapshot of data to accompany a backup.  The snapshot is expected
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    98
		to contain details on files / data being backed up.  The format of the snapshot is only
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
    99
		meaningful to the data owner.  The snapshot will be supplied if the data owner is asked
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   100
		for an incremental backup and for a restore operation.  The snapshot data should be
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   101
		copied to the location supplied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   102
		The snapshot data may be larger than the location supplied in which case the routine will
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   103
		be called repeatedly until all data has been retrieved.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   104
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   105
		@param aDrive the drive being backed up
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   106
		@param aBuffer a pointer to the base of the location where data can be copied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   107
		@param aFinished on return ETrue if all data has been returned for this drive, else EFalse.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   108
		@leave KErrNotSupported if the data owner does not support  incremental backups.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   109
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   110
		virtual void GetSnapshotDataL(TDriveNumber aDrive, TPtr8& aBuffer, TBool& aFinished) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   111
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   112
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   113
		This method prepares the implementor to return backup data.  It will be followed by a
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   114
		sequence of calls to request the actual data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   115
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   116
		@param aDrive the drive being backed up.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   117
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   118
		virtual void InitialiseGetBackupDataL(TDriveNumber aDrive) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   119
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   120
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   121
		This method requests a section of backup data.  InitialiseGetBackupDataL() will have been
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   122
		called prevously to specify the drive concerned.  The data returned may be base or
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   123
		incremental depending on the type of backup and the capability of the data owner.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   124
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   125
		@param aBuffer a pointer to the base of the location where data can be copied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   126
		@param aFinished on return ETrue if all data has been returned for this drive, else EFalse.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   127
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   128
		virtual void GetBackupDataSectionL(TPtr8& aBuffer, TBool& aFinished) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   129
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   130
		///// Restore Methods /////
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   131
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   132
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   133
		This method prepares the implementor to receive base restore data for a drive.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   134
		It will be followed by a sequence of calls to supply the actual data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   135
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   136
		@param aDrive the drive being restored.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   137
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   138
		virtual void InitialiseRestoreBaseDataL(TDriveNumber aDrive) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   139
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   140
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   141
		This method receives a section of base restore data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   142
		InitialiseRestoreBaseDataL() will have been called prevously to specify the drive concerned.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   143
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   144
		@param aBuffer a pointer to the base of the location whence data can be read.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   145
		@param aFinished ETrue if all data has been returned for this drive, else EFalse.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   146
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   147
		virtual void RestoreBaseDataSectionL(TDesC8& aBuffer, TBool aFinished) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   148
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   149
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   150
		This method prepares the implementor to receive incremental restore data for a drive.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   151
		It will be followed by a sequence of calls to supply the actual data.  If multiple
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   152
		increments are supplied then this methid will be called before each increment.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   153
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   154
		@param aDrive the drive being restored.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   155
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   156
		virtual void InitialiseRestoreIncrementDataL(TDriveNumber aDrive) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   157
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   158
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   159
		This method receives a section of increment restore data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   160
		InitialiseRestoreIncrementDataL() will have been called prevously to specify the 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   161
		drive concerned.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   162
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   163
		@param aBuffer a pointer to the base of the location whence data can be read.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   164
		@param aFinished ETrue if all data has been returned for this increment, else EFalse.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   165
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   166
		virtual void RestoreIncrementDataSectionL(TDesC8& aBuffer, TBool aFinished) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   167
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   168
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   169
		This method is called when all data to be restored has been supplied.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   170
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   171
		@param aDrive the drive being restored.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   172
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   173
		virtual void RestoreComplete(TDriveNumber aDrive) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   174
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   175
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   176
		This method prepares the implementor to return backup data on behalf of another data owner.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   177
		It will be followed by a sequence of calls to request the actual data. This method is only
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   178
		for use by a proxy data manager that backs up data on behalf of other data owners.  There
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   179
		is no corresponding method for snapshots as it is assumed that a proxy data manager will
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   180
		only handle base data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   181
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   182
		@param aSID the data owner whose data is to be backed up
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   183
		@param aDrive the drive being backed up.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   184
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   185
		virtual void InitialiseGetProxyBackupDataL(TSecureId aSID, TDriveNumber aDrive);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   186
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   187
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   188
		This method prepares the implementor to receive base restore data for another data owner
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   189
		for a drive. It will be followed by a sequence of calls to supply the actual data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   190
		This method is only for use by a proxy data manager that restores up data on behalf of
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   191
		other data owners.  There is no corresponding method for incremental data as it is assumed
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   192
		that a proxy data manager will only handle base data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   193
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   194
		@param aSID the data owner whose data is to be restored
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   195
		@param aDrive the drive being restored.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   196
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   197
		virtual void InitialiseRestoreProxyBaseDataL(TSecureId aSID, TDriveNumber aDrive);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   198
		
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   199
		///// General Methods /////
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   200
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   201
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   202
		This method is called if copying of data is terminated prematurely to allow the 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   203
		implementor to tidy up.  The same method applies to all types of data and to backup
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   204
		and restore
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   205
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   206
		virtual void TerminateMultiStageOperation() = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   207
		
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   208
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   209
		Gets an extended interface based on a supplied uid.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   210
		
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   211
		@param aUid Uid which identifies an extended interface
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   212
		@return Pointer to an extended interface
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   213
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   214
		virtual TAny* GetExtendedInterface(const TInt32 aUid);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   215
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   216
		///// Test Methods /////
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   217
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   218
		Gets a 32-bit checksum for its private data.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   219
		This routine is for test purposes.  It must be implemented but an invariant checksum 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   220
		value can be provided.  Some tests may cause checksum values to be compared.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   221
    
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   222
		@param aDrive the drive containing data being checksummed
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   223
		@return the 32-bit checksum
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   224
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   225
		virtual TUint GetDataChecksum(TDriveNumber aDrive) = 0;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   226
		};
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   227
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   228
	inline void MActiveBackupDataClient::InitialiseGetProxyBackupDataL(TSecureId /*aSID*/, TDriveNumber /*aDrive*/)
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   229
	/** Initialises the proxy backup data
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   230
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   231
	This is not supported here.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   232
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   233
	@param aSID the secure Id
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   234
	@param aDrive the driver number
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   235
	@leave KErrNotSupported Always.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   236
	*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   237
		{
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   238
		User::Leave(KErrNotSupported);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   239
		}
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   240
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   241
	inline void MActiveBackupDataClient::InitialiseRestoreProxyBaseDataL(TSecureId /*aSID*/, TDriveNumber /*aDrive*/)
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   242
		{
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   243
	/** Initialises the proxy backup base data
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   244
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   245
	This is not supported here.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   246
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   247
	@param aSID the secure Id
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   248
	@param aDrive the driver number
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   249
	@leave KErrNotSupported Always.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   250
	*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   251
		User::Leave(KErrNotSupported);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   252
		}
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   253
		
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   254
	inline TAny* MActiveBackupDataClient::GetExtendedInterface(const TInt32 /*aUid*/)
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   255
		{
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   256
		return NULL;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   257
		}
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   258
				
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   259
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   260
	class RABClientSession;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   261
	class CActiveBackupCallbackHandler;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   262
	
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   263
	class CActiveBackupClient : public CBase
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   264
		/**
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   265
		CActiveBackupClient provides a connection to the Secure Backup Server for a data owning
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   266
		process.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   267
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   268
		It can be used to obtain information about an active backup or restore operation. 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   269
		It can also be used to signal to the Secure Backup Server when the data owner is ready
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   270
		for backup or restore.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   271
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   272
		It is also used by data owners that implement active backup or restore to provide a
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   273
		MActiveBackupDataClient implementation.
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   274
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   275
		This class owns a RActiveBackupSessionImpl instance and publishes the 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   276
		public API to the outside world. The reason for this facade class is twofold:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   277
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   278
		@li Hiding the implementation details of RActiveBackupSessionImpl 
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   279
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   280
		@li Future binary compatibility
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   281
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   282
		@released
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   283
		@publishedAll
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   284
		*/
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   285
		{
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   286
	public:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   287
		IMPORT_C static CActiveBackupClient* NewL();
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   288
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   289
		IMPORT_C static CActiveBackupClient* NewL(MActiveBackupDataClient* aClient);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   290
		IMPORT_C ~CActiveBackupClient();
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   291
		IMPORT_C void BURModeInfoL(TDriveList& aDriveList, TBURPartType& aBackupType, TBackupIncType& aIncBackupType);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   292
		IMPORT_C TBool DoesPartialBURAffectMeL();
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   293
		IMPORT_C void ConfirmReadyForBURL(TInt aErrorCode);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   294
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   295
	private:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   296
		CActiveBackupClient();
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   297
		void ConstructL();
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   298
		void ConstructL(MActiveBackupDataClient* aClient);
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   299
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   300
	private:
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   301
		/** Pointer to the client session R class that's wrapped up by this class */
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   302
		RABClientSession* iClientSession;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   303
		
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   304
		/** Pointer to the Active Backup Callback Handler */
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   305
		CActiveBackupCallbackHandler* iABCallbackHandler;
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   306
		};
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   307
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   308
	} // end namespace
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   309
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   310
#endif // __ACTIVEBACKUPCLIENT_H__
d2ab7c3d0c48 homescreenpluginsrv component compiles now
Christian Morlok <symbian.org@christianmorlok.de>
parents:
diff changeset
   311