summaryrefslogtreecommitdiffstats
path: root/twrpTarMain/twrpTarMain.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'twrpTarMain/twrpTarMain.cpp')
-rw-r--r--twrpTarMain/twrpTarMain.cpp50
1 files changed, 46 insertions, 4 deletions
diff --git a/twrpTarMain/twrpTarMain.cpp b/twrpTarMain/twrpTarMain.cpp
index 6cc629d7d..ff35f47ce 100644
--- a/twrpTarMain/twrpTarMain.cpp
+++ b/twrpTarMain/twrpTarMain.cpp
@@ -20,10 +20,52 @@
#include "../twrp-functions.hpp"
#include "../twrpTar.hpp"
#include "../twrpDU.hpp"
+#include "../progresstracking.hpp"
+#include "../gui/gui.hpp"
+#include "../gui/twmsg.h"
#include <string.h>
twrpDU du;
+void gui_msg(const char* text)
+{
+ if (text) {
+ Message msg = Msg(text);
+ gui_msg(msg);
+ }
+}
+
+void gui_warn(const char* text)
+{
+ if (text) {
+ Message msg = Msg(msg::kWarning, text);
+ gui_msg(msg);
+ }
+}
+
+void gui_err(const char* text)
+{
+ if (text) {
+ Message msg = Msg(msg::kError, text);
+ gui_msg(msg);
+ }
+}
+
+void gui_highlight(const char* text)
+{
+ if (text) {
+ Message msg = Msg(msg::kHighlight, text);
+ gui_msg(msg);
+ }
+}
+
+void gui_msg(Message msg)
+{
+ std::string output = msg;
+ output += "\n";
+ fputs(output.c_str(), stdout);
+}
+
void usage() {
printf("twrpTar <action> [options]\n\n");
printf("actions: -c create\n");
@@ -34,7 +76,7 @@ void usage() {
printf(" -z compress backup (/sbin/pigz must be present)\n");
#ifndef TW_EXCLUDE_ENCRYPTED_BACKUPS
printf(" -e encrypt/decrypt backup followed by password (/sbin/openaes must be present)\n");
- printf(" -u encrypt using userdata encryption (must be used with -e\n");
+ printf(" -u encrypt using userdata encryption (must be used with -e)\n");
#endif
printf("\n\n");
printf("Example: twrpTar -c -d /cache -t /sdcard/test.tar\n");
@@ -47,7 +89,7 @@ int main(int argc, char **argv) {
int i, action = 0;
unsigned j;
string Directory, Tar_Filename;
- unsigned long long temp1 = 0, temp2 = 0;
+ ProgressTracking progress(1);
pid_t tar_fork_pid = 0;
#ifndef TW_EXCLUDE_ENCRYPTED_BACKUPS
string Password;
@@ -144,14 +186,14 @@ int main(int argc, char **argv) {
}
#endif
if (action == 1) {
- if (tar.createTarFork(&temp1, &temp2, tar_fork_pid) != 0) {
+ if (tar.createTarFork(&progress, tar_fork_pid) != 0) {
sync();
return -1;
}
sync();
printf("\n\ntar created successfully.\n");
} else if (action == 2) {
- if (tar.extractTarFork(&temp1, &temp2) != 0) {
+ if (tar.extractTarFork(&progress) != 0) {
sync();
return -1;
}