diff options
| author | Joe Onorato <joeo@android.com> | 2009-06-18 13:11:18 -0700 |
|---|---|---|
| committer | Joe Onorato <joeo@android.com> | 2009-06-18 18:41:11 -0700 |
| commit | d2d9ceb7305d593c1b767bbb05de0082a9af4109 (patch) | |
| tree | 1ba39c3c5901d65a18855286e240f177820a6ec6 /include | |
| parent | abce4e8714bed26a2b37b20ad3f02cf619d71c9a (diff) | |
| download | frameworks_base-d2d9ceb7305d593c1b767bbb05de0082a9af4109.zip frameworks_base-d2d9ceb7305d593c1b767bbb05de0082a9af4109.tar.gz frameworks_base-d2d9ceb7305d593c1b767bbb05de0082a9af4109.tar.bz2 | |
Make RestoreHelper and friends also write out the snapshot state.
Diffstat (limited to 'include')
| -rw-r--r-- | include/utils/BackupHelpers.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/include/utils/BackupHelpers.h b/include/utils/BackupHelpers.h index fa7f8d5..fc701fd 100644 --- a/include/utils/BackupHelpers.h +++ b/include/utils/BackupHelpers.h @@ -19,6 +19,7 @@ #include <utils/Errors.h> #include <utils/String8.h> +#include <utils/KeyedVector.h> namespace android { @@ -32,6 +33,27 @@ typedef struct { int dataSize; // size of the data, not including the padding, -1 means delete } entity_header_v1; +struct SnapshotHeader { + int magic0; + int fileCount; + int magic1; + int totalSize; +}; + +struct FileState { + int modTime_sec; + int modTime_nsec; + int size; + int crc32; + int nameLen; +}; + +struct FileRec { + String8 file; + bool deleted; + FileState s; +}; + /** * Writes the data. @@ -99,6 +121,19 @@ private: int back_up_files(int oldSnapshotFD, BackupDataWriter* dataStream, int newSnapshotFD, char const* const* files, char const* const *keys, int fileCount); +class RestoreHelperBase +{ +public: + RestoreHelperBase(); + ~RestoreHelperBase(); + + status_t WriteFile(const String8& filename, BackupDataReader* in); + status_t WriteSnapshot(int fd); + +private: + void* m_buf; + KeyedVector<String8,FileRec> m_files; +}; #define TEST_BACKUP_HELPERS 1 |
