Began removal of platform/. The Monitor:: namespace is completely converted.
[aesalon.git] / src / monitor / elf / SymbolParser.h
blob18613445db5da638cd1daeb785ddc24cd483d4d4
1 #ifndef AESALON_MONITOR_ELF_SYMBOL_PARSER_H
2 #define AESALON_MONITOR_ELF_SYMBOL_PARSER_H
4 #include <vector>
6 #include "Symbol.h"
8 namespace Aesalon {
9 namespace Monitor {
10 namespace ELF {
12 class Parser;
14 class SymbolParser {
15 protected:
16 typedef std::vector<Misc::SmartPointer<Symbol> > symbol_vector_t;
17 typedef std::vector<Word> dynamic_offsets_t;
18 private:
19 Misc::SmartPointer<Parser> elf_parser;
20 symbol_vector_t symbol_vector;
21 dynamic_offsets_t dynamic_offsets;
22 public:
23 SymbolParser(Misc::SmartPointer<Parser> elf_parser);
24 virtual ~SymbolParser() {}
26 Misc::SmartPointer<Symbol> get_symbol(std::string name) const;
28 void dump_symbols() const;
31 } // namespace ELF
32 } // namespace Monitor
33 } // namespace Aesalon
35 #endif