ADB Backup: add ability for TWRP GUI to restore

Restore adb backup files that TWRP made to your PC.
Put files in your backup directory to see them.

e.g. /sdcard/TWRP/BACKUPS/<sn>

Change-Id: I2c57970d77b64c39a302159041456e761c185259
diff --git a/twrpAdbBuFifo.hpp b/twrpAdbBuFifo.hpp
new file mode 100644
index 0000000..e709b96
--- /dev/null
+++ b/twrpAdbBuFifo.hpp
@@ -0,0 +1,40 @@
+/*
+        Copyright 2013 to 2017 TeamWin
+        This file is part of TWRP/TeamWin Recovery Project.
+
+        TWRP is free software: you can redistribute it and/or modify
+        it under the terms of the GNU General Public License as published by
+        the Free Software Foundation, either version 3 of the License, or
+        (at your option) any later version.
+
+        TWRP 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 TWRP.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef TWRPADBFIFO_HPP
+#define TWRPADBFIFO_HPP
+
+#include <string>
+#include <pthread.h>
+
+#define TW_ADB_FIFO "/tmp/twadbfifo"
+
+class twrpAdbBuFifo {
+	public:
+		twrpAdbBuFifo(void);
+		pthread_t threadAdbBuFifo(void);
+	private:
+		bool start(void);
+		bool Backup_ADB_Command(std::string Options);
+		bool Check_Adb_Fifo_For_Events(void);
+		bool Restore_ADB_Backup(void);
+		typedef bool (twrpAdbBuFifo::*ThreadPtr)(void);
+		typedef void* (*PThreadPtr)(void *);
+		int adb_fifo_fd;
+};
+#endif