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.
29 lines
774 B
29 lines
774 B
3 years ago
|
#pragma once
|
||
|
#include <coff/image.hpp>
|
||
|
#include <cstdint>
|
||
|
#include <string>
|
||
|
|
||
|
namespace theo::decomp {
|
||
|
class symbol_t {
|
||
|
public:
|
||
|
explicit symbol_t(const std::string&& name,
|
||
|
std::uintptr_t location,
|
||
|
const std::vector<std::uint8_t>&& data,
|
||
|
coff::section_header_t scn_hdr);
|
||
|
|
||
|
std::string name() const;
|
||
|
std::uintptr_t location() const;
|
||
|
std::uint32_t size() const;
|
||
|
std::vector<std::uint8_t> data() const;
|
||
|
|
||
|
void name(const std::string&& name);
|
||
|
void location(std::uintptr_t location);
|
||
|
void data(const std::vector<std::uint8_t>&& data);
|
||
|
|
||
|
private:
|
||
|
std::string m_name;
|
||
|
std::uintptr_t m_location;
|
||
|
std::vector<std::uint8_t> m_data;
|
||
|
const coff::section_header_t m_scn_hdr;
|
||
|
};
|
||
|
} // namespace theo::decomp
|