]> git.siccegge.de Git - frida/frida.git/blobdiff - src/disassembler/Target.hxx
Separate out several parts of llvm-using code ; Add logger
[frida/frida.git] / src / disassembler / Target.hxx
diff --git a/src/disassembler/Target.hxx b/src/disassembler/Target.hxx
new file mode 100644 (file)
index 0000000..db3a4be
--- /dev/null
@@ -0,0 +1,31 @@
+#ifndef INCLUDE__Target_hxx
+#define INCLUDE__Target_hxx
+
+#include <log4cxx/logger.h>
+
+#include "include.hxx"
+
+class Target {
+public:
+    Target(const llvm::OwningPtr<llvm::object::Binary>& binary);
+
+    const llvm::Target& getTarget() const {
+        return *target;
+    }
+
+    const llvm::MCSubtargetInfo& getSubTargetInfo() const {
+        return *STI;
+    }
+
+    std::string getTripleName() const {
+        return triple.getTriple();
+    }
+private:
+    log4cxx::LoggerPtr _logger;
+    llvm::Triple triple;
+
+    const llvm::Target * target;
+    llvm::OwningPtr<const llvm::MCSubtargetInfo> STI;
+};
+
+#endif