#pragma once #include #include #include #include #include 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