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.
Theodosius/include/theo/obf_pass/obf_pass.hpp

35 lines
743 B

#pragma once
#include <theo/symbol.hpp>
#include <xtils.hpp>
namespace theo
{
enum class lvl_t
{
/// <summary>
/// callback gets passed entire IFF structures...
/// </summary>
l_iff,
/// <summary>
/// callback gets passed entire IFF section structures...
/// </summary>
l_section,
/// <summary>
/// callback gets passed entire IFF symbols...
/// </summary>
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