diff options
Diffstat (limited to 'partitions.hpp')
-rw-r--r-- | partitions.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/partitions.hpp b/partitions.hpp index f26d8e5d8..8379de9b3 100644 --- a/partitions.hpp +++ b/partitions.hpp @@ -1,5 +1,5 @@ /* - Copyright 2012 bigbiff/Dees_Troy TeamWin + Copyright 2014 TeamWin This file is part of TWRP/TeamWin Recovery Project. TWRP is free software: you can redistribute it and/or modify @@ -22,6 +22,7 @@ #include <vector> #include <string> #include "twrpDU.hpp" +#include "tw_atomic.hpp" #define MAX_FSTAB_LINE_LENGTH 2048 @@ -58,7 +59,7 @@ public: bool Can_Repair(); // Checks to see if we have everything needed to be able to repair the current file system uint64_t Get_Max_FileSize(); //get partition maxFileSie bool Repair(); // Repairs the current file system - bool Backup(string backup_folder, const unsigned long long *overall_size, const unsigned long long *other_backups_size); // Backs up the partition to the folder specified + bool Backup(string backup_folder, const unsigned long long *overall_size, const unsigned long long *other_backups_size, pid_t &tar_fork_pid); // Backs up the partition to the folder specified bool Check_MD5(string restore_folder); // Checks MD5 of a backup bool Restore(string restore_folder, const unsigned long long *total_restore_size, unsigned long long *already_restored_size); // Restores the partition using the backup folder provided unsigned long long Get_Restore_Size(string restore_folder); // Returns the overall restore size of the backup @@ -104,7 +105,7 @@ private: bool Wipe_RMRF(); // Uses rm -rf to wipe bool Wipe_F2FS(); // Uses mkfs.f2fs to wipe bool Wipe_Data_Without_Wiping_Media(); // Uses rm -rf to wipe but does not wipe /data/media - bool Backup_Tar(string backup_folder, const unsigned long long *overall_size, const unsigned long long *other_backups_size); // Backs up using tar for file systems + bool Backup_Tar(string backup_folder, const unsigned long long *overall_size, const unsigned long long *other_backups_size, pid_t &tar_fork_pid); // Backs up using tar for file systems bool Backup_DD(string backup_folder); // Backs up using dd for emmc memory types bool Backup_Dump_Image(string backup_folder); // Backs up using dump_image for MTD memory types string Get_Restore_File_System(string restore_folder); // Returns the file system that was in place at the time of the backup @@ -211,6 +212,7 @@ public: void UnMount_Main_Partitions(void); // Unmounts system and data if not data/media and boot if boot is mountable int Partition_SDCard(void); // Repartitions the sdcard TWPartition *Get_Default_Storage_Partition(); // Returns a pointer to a default storage partition + int Cancel_Backup(); // Signals partition backup to cancel int Fix_Permissions(); void Get_Partition_List(string ListType, std::vector<PartitionList> *Partition_List); @@ -224,6 +226,8 @@ public: bool Remove_MTP_Storage(unsigned int Storage_ID); // Adds or removes an MTP Storage partition bool Flash_Image(string Filename); // Flashes an image to a selected partition from the partition list + TWAtomicInt stop_backup; + private: void Setup_Settings_Storage_Partition(TWPartition* Part); // Sets up settings storage void Setup_Android_Secure_Location(TWPartition* Part); // Sets up .android_secure if needed @@ -238,6 +242,7 @@ private: pid_t mtppid; bool mtp_was_enabled; int mtp_write_fd; + pid_t tar_fork_pid; private: std::vector<TWPartition*> Partitions; // Vector list of all partitions |