summaryrefslogtreecommitdiffstats
path: root/partitions.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'partitions.hpp')
-rw-r--r--partitions.hpp11
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