IBackupAgent.aidl revision 4a627c71ff53a4fca1f961f4b1dcc0461df18a06
1/* 2 * Copyright 2009, The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.app; 18 19import android.app.backup.IBackupManager; 20import android.os.ParcelFileDescriptor; 21 22/** 23 * Interface presented by applications being asked to participate in the 24 * backup & restore mechanism. End user code will not typically implement 25 * this interface directly; they subclass BackupAgent instead. 26 * 27 * {@hide} 28 */ 29oneway interface IBackupAgent { 30 /** 31 * Request that the app perform an incremental backup. 32 * 33 * @param oldState Read-only file containing the description blob of the 34 * app's data state as of the last backup operation's completion. 35 * This file is empty or invalid when a full backup is being 36 * requested. 37 * 38 * @param data Read-write file, empty when onBackup() is called, that 39 * is the data destination for this backup pass's incrementals. 40 * 41 * @param newState Read-write file, empty when onBackup() is called, 42 * where the new state blob is to be recorded. 43 * 44 * @param token Opaque token identifying this transaction. This must 45 * be echoed back to the backup service binder once the new 46 * data has been written to the data and newState files. 47 * 48 * @param callbackBinder Binder on which to indicate operation completion, 49 * passed here as a convenience to the agent. 50 */ 51 void doBackup(in ParcelFileDescriptor oldState, 52 in ParcelFileDescriptor data, 53 in ParcelFileDescriptor newState, 54 boolean storeApk, 55 int token, IBackupManager callbackBinder); 56 57 /** 58 * Restore an entire data snapshot to the application. 59 * 60 * @param data Read-only file containing the full data snapshot of the 61 * app's backup. This is to be a <i>replacement</i> of the app's 62 * current data, not to be merged into it. 63 * 64 * @param appVersionCode The android:versionCode attribute of the application 65 * that created this data set. This can help the agent distinguish among 66 * various historical backup content possibilities. 67 * 68 * @param newState Read-write file, empty when onRestore() is called, 69 * that is to be written with the state description that holds after 70 * the restore has been completed. 71 * 72 * @param token Opaque token identifying this transaction. This must 73 * be echoed back to the backup service binder once the agent is 74 * finished restoring the application based on the restore data 75 * contents. 76 * 77 * @param callbackBinder Binder on which to indicate operation completion, 78 * passed here as a convenience to the agent. 79 */ 80 void doRestore(in ParcelFileDescriptor data, int appVersionCode, 81 in ParcelFileDescriptor newState, int token, IBackupManager callbackBinder); 82} 83