diff options
| author | Rusty Wagner <rusty@vector35.com> | 2015-02-11 22:27:14 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2015-02-11 22:27:14 -0500 |
| commit | d0b89177703ec2dfce42bc6ec08b6db61d1b135e (patch) | |
| tree | 6a7c6bec1dcd2c5b29584300e1f378ca1ec6aa5b /binaryninjaapi.h | |
| parent | 47ad9dfe54195807ed67a2ec4b03fdc1e698310d (diff) | |
Get UI working with the core view type system, ELF view now works
Diffstat (limited to 'binaryninjaapi.h')
| -rw-r--r-- | binaryninjaapi.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 45072d83..7c4aeb35 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -289,6 +289,7 @@ namespace BinaryNinja static BNModificationStatus GetModificationCallback(void* ctxt, uint64_t offset); static uint64_t GetStartCallback(void* ctxt); static uint64_t GetLengthCallback(void* ctxt); + static bool IsExecutableCallback(void* ctxt); static bool SaveCallback(void* ctxt, BNFileAccessor* file); public: @@ -328,6 +329,8 @@ namespace BinaryNinja uint64_t GetEnd() const; virtual uint64_t GetLength() const = 0; + virtual bool IsExecutable() const { return false; } + virtual bool Save(FileAccessor* file) { (void)file; return false; } bool Save(const std::string& path); @@ -350,6 +353,8 @@ namespace BinaryNinja virtual uint64_t GetStart() const override; virtual uint64_t GetLength() const override; + virtual bool IsExecutable() const override; + virtual bool Save(FileAccessor* file) override; }; @@ -367,7 +372,7 @@ namespace BinaryNinja { protected: BNBinaryViewType* m_type; - std::string m_nameForRegister; + std::string m_nameForRegister, m_longNameForRegister; static BNBinaryView* CreateCallback(void* ctxt, BNBinaryView* data); static bool IsValidCallback(void* ctxt, BNBinaryView* data); @@ -375,14 +380,15 @@ namespace BinaryNinja BinaryViewType(BNBinaryViewType* type); public: - BinaryViewType(const std::string& name); + BinaryViewType(const std::string& name, const std::string& longName); virtual ~BinaryViewType(); static void Register(BinaryViewType* type); static Ref<BinaryViewType> GetByName(const std::string& name); - static std::vector<Ref<BinaryViewType>> GetViewTypesForData(BinaryData* data); + static std::vector<Ref<BinaryViewType>> GetViewTypesForData(BinaryView* data); std::string GetName(); + std::string GetLongName(); virtual BinaryView* Create(BinaryView* data) = 0; virtual bool IsTypeValidForData(BinaryView* data) = 0; |
