redo fix permissions in c++ for faster changes
diff --git a/fixPermissions.hpp b/fixPermissions.hpp
new file mode 100644
index 0000000..45c0471
--- /dev/null
+++ b/fixPermissions.hpp
@@ -0,0 +1,46 @@
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <vector>
+#include <string.h>
+#include <libgen.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include "gui/rapidxml.hpp"
+#include "twrp-functions.hpp"
+
+using namespace std;
+
+class fixPermissions {
+	public:
+		int fixPerms(bool enable_debug, bool remove_data_for_missing_apps);
+
+	private:
+		int pchown(std::string fn, int puid, int pgid);
+		int pchmod(std::string fn, string mode);
+		vector <string> listAllDirectories(std::string path);
+		vector <string> listAllFiles(std::string path);
+		int removeDir(const std::string path);
+		int getPackages();
+		int fixSystemApps();
+		int fixDataApps();
+		int fixAllFiles(string directory, int gid, int uid, string file_perms);
+		int fixDataData();
+		struct package {
+			string pkgName;
+			string codePath;
+			string appDir;
+			string app;
+			string dDir;
+			int gid;
+			int uid;
+			package *next;
+		};
+		bool debug;
+		bool remove_data;
+		package* head;
+		package* temp;		
+		string packageFile;
+};