Add options to repair or change file system

Change-Id: I9043e98e1e1ed4722f05c13a60b43d2d0bf739f6
diff --git a/partitions.hpp b/partitions.hpp
index 7341fe0..73ff1fb 100644
--- a/partitions.hpp
+++ b/partitions.hpp
@@ -55,6 +55,8 @@
 	bool Wipe(string New_File_System);                                        // Wipes the partition
 	bool Wipe();                                                              // Wipes the partition
 	bool Wipe_AndSec();                                                       // Wipes android secure
+	bool Can_Repair();                                                        // Checks to see if we have everything needed to be able to repair the current file system
+	bool Repair();                                                            // Repairs the current file system
 	bool Backup(string backup_folder);                                        // Backs up the partition to the folder specified
 	bool Check_MD5(string restore_folder);                                    // Checks MD5 of a backup
 	bool Restore(string restore_folder);                                      // Restores the partition using the backup folder provided
@@ -158,6 +160,7 @@
 friend class TWPartitionManager;
 friend class DataManager;
 friend class GUIPartitionList;
+friend class GUIAction;
 };
 
 class TWPartitionManager
@@ -191,6 +194,9 @@
 	int Wipe_By_Path(string Path);                                            // Wipes a partition based on path
 	int Wipe_By_Block(string Block);                                          // Wipes a partition based on block device
 	int Wipe_By_Name(string Name);                                            // Wipes a partition based on display name
+	int Wipe_By_Path(string Path, string New_File_System);                    // Wipes a partition based on path
+	int Wipe_By_Block(string Block, string New_File_System);                  // Wipes a partition based on block device
+	int Wipe_By_Name(string Name, string New_File_System);                    // Wipes a partition based on display name
 	int Factory_Reset();                                                      // Performs a factory reset
 	int Wipe_Dalvik_Cache();                                                  // Wipes dalvik cache
 	int Wipe_Rotate_Data();                                                   // Wipes rotation data --
@@ -198,6 +204,9 @@
 	int Wipe_Android_Secure();                                                // Wipes android secure
 	int Format_Data();                                                        // Really formats data on /data/media devices -- also removes encryption
 	int Wipe_Media_From_Data();                                               // Removes and recreates the media folder on /data/media devices
+	int Repair_By_Path(string Path, bool Display_Error);                      // Repairs a partition based on path
+	int Repair_By_Block(string Block, bool Display_Error);                    // Repairs a partition based on block device
+	int Repair_By_Name(string Name, bool Display_Error);                      // Repairs a partition based on display name
 	void Refresh_Sizes();                                                     // Refreshes size data of partitions
 	void Update_System_Details();                                             // Updates fstab, file systems, sizes, etc.
 	int Decrypt_Device(string Password);                                      // Attempt to decrypt any encrypted partitions