summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libimobiledevice/mobilebackup.h1
-rw-r--r--src/mobilebackup.c23
2 files changed, 24 insertions, 0 deletions
diff --git a/include/libimobiledevice/mobilebackup.h b/include/libimobiledevice/mobilebackup.h
index bf405f9..8f31cc4 100644
--- a/include/libimobiledevice/mobilebackup.h
+++ b/include/libimobiledevice/mobilebackup.h
@@ -61,6 +61,7 @@ mobilebackup_error_t mobilebackup_request_backup(mobilebackup_client_t client, p
mobilebackup_error_t mobilebackup_send_backup_file_received(mobilebackup_client_t client);
mobilebackup_error_t mobilebackup_request_restore(mobilebackup_client_t client, plist_t backup_manifest, mobilebackup_flags_t flags, const char *proto_version);
mobilebackup_error_t mobilebackup_receive_restore_file_received(mobilebackup_client_t client, plist_t *result);
+mobilebackup_error_t mobilebackup_receive_restore_application_received(mobilebackup_client_t client, plist_t *result);
mobilebackup_error_t mobilebackup_send_restore_complete(mobilebackup_client_t client);
mobilebackup_error_t mobilebackup_send_error(mobilebackup_client_t client, const char *reason);
diff --git a/src/mobilebackup.c b/src/mobilebackup.c
index 03d3920..fcff60d 100644
--- a/src/mobilebackup.c
+++ b/src/mobilebackup.c
@@ -456,6 +456,29 @@ mobilebackup_error_t mobilebackup_receive_restore_file_received(mobilebackup_cli
}
/**
+ * Receive a confirmation from the device that it successfully received
+ * application data file.
+ *
+ * @param client The connected MobileBackup client to use.
+ * @param result Pointer to a plist_t that will be set to the received plist
+ * for further processing. The caller has to free it using plist_free().
+ * Note that it will be set to NULL if the operation itself fails due to
+ * a communication or plist error.
+ * If this parameter is NULL, it will be ignored.
+ *
+ * @return MOBILEBACKUP_E_SUCCESS on success, MOBILEBACKUP_E_INVALID_ARG if
+ * client is invalid, MOBILEBACKUP_E_REPLY_NOT_OK if the expected
+ * 'BackupMessageRestoreApplicationReceived' message could not be received,
+ * MOBILEBACKUP_E_PLIST_ERROR if the received message is not a valid backup
+ * message plist, or MOBILEBACKUP_E_MUX_ERROR if a communication error
+ * occurs.
+ */
+mobilebackup_error_t mobilebackup_receive_restore_application_received(mobilebackup_client_t client, plist_t *result)
+{
+ return mobilebackup_receive_message(client, "BackupMessageRestoreApplicationReceived", result);
+}
+
+/**
* Tells the device that the restore process is complete and waits for the
* device to close the connection. After that, the device should reboot.
*