forked from IDontCode/Theodosius
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
637 B
22 lines
637 B
4 years ago
|
#pragma once
|
||
|
#include <coff/archive.hpp>
|
||
|
#include <coff/image.hpp>
|
||
|
#include <theo/engine/iff.hpp>
|
||
|
#include <theo/engine/swapchain.hpp>
|
||
|
#include <theo/obf_pass/obf_pass.hpp>
|
||
|
|
||
|
namespace theo
|
||
|
{
|
||
|
class engine_t
|
||
|
{
|
||
|
public:
|
||
|
explicit engine_t( const std::vector< std::uint8_t > &lib_img );
|
||
|
engine_t &add_pass( const obf_pass_t &pass );
|
||
|
engine_t &add_passes( const std::vector< obf_pass_t > &passes );
|
||
|
void run( std::vector< std::uint8_t > &result );
|
||
|
|
||
|
private:
|
||
|
std::shared_ptr< theo::swapchain_t > swapchain;
|
||
|
std::vector< theo::obf_pass_t > obf_passes;
|
||
|
};
|
||
|
} // namespace theo
|