/* Partition class for TWRP
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
* The code was written from scratch by Dees_Troy dees_troy at
* yahoo
*
* Copyright (c) 2012
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/vfs.h>
#include <unistd.h>
#include "variables.h"
#include "common.h"
#include "partitions.hpp"
TWPartition::TWPartition(void) {
Can_Be_Mounted = false;
Can_Be_Wiped = false;
Wipe_During_Factory_Reset = false;
Wipe_Available_in_GUI = false;
Is_SubPartition = false;
SubPartition_Of = "";
Symlink_Path = "";
Symlink_Mount_Point = "";
Mount_Point = "";
Block_Device = "";
Alternate_Block_Device = "";
Removable = false;
Is_Present = false;
Length = 0;
Size = 0;
Used = 0;
Free = 0;
Backup_Size = 0;
Can_Be_Encrypted = false;
Is_Encrypted = false;
Is_Decrypted = false;
Decrypted_Block_Device = "";
Display_Name = "";
Backup_Name = "";
Backup_Method = NONE;
Has_Data_Media = false;
Is_Storage = false;
Storage_Path = "";
Current_File_System = "";
Fstab_File_System = "";
Format_Block_Size = 0;
}
TWPartition::~TWPartition(void) {
// Do nothing
}
bool TWPartition::Process_Fstab_Line(string Line) {
LOGI("STUB TWPartition::Process_Fstab_Line, Line: '%s'\n", Line.c_str());
return 1;
}
bool TWPartition::Is_Mounted(void) {
LOGI("STUB TWPartition::Is_Mounted\n");
return 1;
}
bool TWPartition::Mount(bool Display_Error) {
LOGI("STUB TWPartition::Mount, Display_Error: %i\n", Display_Error);
if (Is_Mounted()) {
return 1;
} else {
return 1;
}
}
bool TWPartition::UnMount(bool Display_Error) {
LOGI("STUB TWPartition::Mount, Display_Error: %i\n", Display_Error);
if (Is_Mounted()) {
return 1;
} else {
return 1;
}
}
bool TWPartition::Wipe() {
LOGI("STUB TWPartition::Wipe\n");
return 1;
}
bool TWPartition::Backup(string backup_folder) {
LOGI("STUB TWPartition::Backup, backup_folder: '%s'\n", backup_folder.c_str());
return 1;
}
bool TWPartition::Restore(string restore_folder) {
LOGI("STUB TWPartition::Restore, restore_folder: '%s'\n", restore_folder.c_str());
return 1;
}
string TWPartition::Backup_Method_By_Name() {
LOGI("STUB TWPartition::Backup_Method_By_Name\n");
return "STUB";
}
bool TWPartition::Decrypt(string Password) {
LOGI("STUB TWPartition::Decrypt, password: '%s'\n", Password.c_str());
return 1;
}
bool TWPartition::Wipe_Encryption() {
LOGI("STUB TWPartition::Wipe_Encryption\n");
return 1;
}
void TWPartition::Check_FS_Type() {
LOGI("STUB TWPartition::Check_FS_Type\n");
return;
}
bool TWPartition::Wipe_EXT23() {
LOGI("STUB TWPartition::Wipe_EXT23\n");
return 1;
}
bool TWPartition::Wipe_EXT4() {
LOGI("STUB TWPartition::Wipe_EXT4\n");
return 1;
}
bool TWPartition::Wipe_FAT() {
LOGI("STUB TWPartition::Wipe_FAT\n");
return 1;
}
bool TWPartition::Wipe_YAFFS2() {
LOGI("STUB TWPartition::Wipe_YAFFS2\n");
return 1;
}
bool TWPartition::Wipe_RMRF() {
LOGI("STUB TWPartition::Wipe_RMRF\n");
return 1;
}
bool TWPartition::Wipe_Data_Without_Wiping_Media() {
LOGI("STUB TWPartition::Wipe_Data_Without_Wiping_Media\n");
return 1;
}
bool TWPartition::Backup_Tar(string backup_folder) {
LOGI("STUB TWPartition::Backup_Tar, backup_folder: '%s'\n", backup_folder.c_str());
return 1;
}
bool TWPartition::Backup_DD(string backup_folder) {
LOGI("STUB TWPartition::Backup_DD, backup_folder: '%s'\n", backup_folder.c_str());
return 1;
}
bool TWPartition::Backup_Dump_Image(string backup_folder) {
LOGI("STUB TWPartition::Backup_Dump_Image, backup_folder: '%s'\n", backup_folder.c_str());
return 1;
}
bool TWPartition::Restore_Tar(string restore_folder) {
LOGI("STUB TWPartition::Restore_Tar, backup_folder: '%s'\n", restore_folder.c_str());
return 1;
}
bool TWPartition::Restore_DD(string restore_folder) {
LOGI("STUB TWPartition::Restore_DD, backup_folder: '%s'\n", restore_folder.c_str());
return 1;
}
bool TWPartition::Restore_Flash_Image(string restore_folder) {
LOGI("STUB TWPartition::Restore_Flash_Image, backup_folder: '%s'\n", restore_folder.c_str());
return 1;
}