
#ifndef TWRPAPEX_HPP
#define TWRPAPEX_HPP

#include <string>
#include <vector>
#include <filesystem>
#include <sstream>

#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <linux/loop.h>
#include <sys/mount.h>
#include <sys/sysmacros.h>
#include <fcntl.h>
#include <unistd.h>
#include <android-base/properties.h>

#include <ziparchive/zip_archive.h>
#include "twcommon.h"

#define APEX_DIR "/system_root/system/apex"
#define APEX_PAYLOAD "apex_payload.img"
#define LOOP_BLOCK_DEVICE_DIR "/dev/block/"
#define APEX_BASE "/apex/"
#define LOOP_CONTROL "/dev/loop-control"

class twrpApex {
public:
	bool loadApexImages();

private:
	std::string unzipImage(std::string file);
	bool mountApexOnLoopbackDevices(std::vector<std::string> apexFiles);
	bool loadApexImage(std::string fileToMount, size_t loop_device_number);
};
#endif
