#pragma once #include #include namespace theo { enum class lvl_t { /// /// callback gets passed entire IFF structures... /// l_iff, /// /// callback gets passed entire IFF section structures... /// l_section, /// /// callback gets passed entire IFF symbols... /// l_symbol }; class obf_pass_t { friend class engine_t; virtual void obfuscate( const theo::iff_t & ) = 0; lvl_t lvl; public: explicit obf_pass_t( const lvl_t &pass_lvl ); lvl_t get_lvl() const; }; } // namespace theo