]> git.siccegge.de Git - frida/frida.git/blob - src/disassembler/Disassembler.hxx
ad35018e870bab74ae33da162d290be30e3a7832
[frida/frida.git] / src / disassembler / Disassembler.hxx
1 #ifndef INCLUDE__Disassembler_hxx
2 #define INCLUDE__Disassembler_hxx
3
4 #include <string>
5 #include <functional>
6 #include <vector>
7
8 #include "qt.hxx"
9 #include "Instruction.hxx"
10
11 class Function;
12 class BasicBlock;
13 class InformationManager;
14
15 class Disassembler : public QObject {
16 #ifndef SWIG
17 Q_OBJECT
18 #endif
19 public:
20 Disassembler() {}
21 virtual ~Disassembler() {}
22
23 virtual void start() = 0;
24 virtual void getSymbols() = 0;
25 virtual uint64_t entryAddress() = 0;
26
27 #ifndef SWIG
28 public slots:
29 #endif
30 virtual Function * disassembleFunctionAt(uint64_t address) {
31 return disassembleFunctionAt(address, "");
32 }
33 virtual Function * disassembleFunctionAt(uint64_t address, const std::string& name) = 0;
34 virtual std::vector<Instruction> getInstructions(const BasicBlock* block) = 0;
35 };
36
37 #endif