diff options
| author | Rusty Wagner <rusty@vector35.com> | 2016-01-25 15:16:43 -0500 |
|---|---|---|
| committer | Rusty Wagner <rusty.wagner@gmail.com> | 2016-01-25 23:13:23 -0500 |
| commit | ad05dd2072917e2487dcd34dbc249b2a0efac589 (patch) | |
| tree | 0392cd11853a91cbde36c0a8939116a5659fa1d3 /binaryview.cpp | |
| parent | c2b2e11c009fa9b9c6c4a0fbba9210cb997e38ce (diff) | |
Initial implementation of platform ABI classes
Diffstat (limited to 'binaryview.cpp')
| -rw-r--r-- | binaryview.cpp | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/binaryview.cpp b/binaryview.cpp index 9cf61bdc..b62d0290 100644 --- a/binaryview.cpp +++ b/binaryview.cpp @@ -645,6 +645,24 @@ void BinaryView::SetDefaultArchitecture(Architecture* arch) } +Ref<Platform> BinaryView::GetDefaultPlatform() const +{ + BNPlatform* platform = BNGetDefaultPlatform(m_view); + if (!platform) + return nullptr; + return new Platform(platform); +} + + +void BinaryView::SetDefaultPlatform(Platform* platform) +{ + if (platform) + BNSetDefaultPlatform(m_view, platform->GetPlatformObject()); + else + BNSetDefaultPlatform(m_view, nullptr); +} + + BNEndianness BinaryView::GetDefaultEndianness() const { return BNGetDefaultEndianness(m_view); @@ -669,15 +687,15 @@ bool BinaryView::Save(FileAccessor* file) } -void BinaryView::AddFunctionForAnalysis(Architecture* arch, uint64_t addr) +void BinaryView::AddFunctionForAnalysis(Platform* platform, uint64_t addr) { - BNAddFunctionForAnalysis(m_view, arch->GetArchitectureObject(), addr); + BNAddFunctionForAnalysis(m_view, platform->GetPlatformObject(), addr); } -void BinaryView::AddEntryPointForAnalysis(Architecture* arch, uint64_t addr) +void BinaryView::AddEntryPointForAnalysis(Platform* platform, uint64_t addr) { - BNAddEntryPointForAnalysis(m_view, arch->GetArchitectureObject(), addr); + BNAddEntryPointForAnalysis(m_view, platform->GetPlatformObject(), addr); } @@ -687,9 +705,9 @@ void BinaryView::RemoveAnalysisFunction(Function* func) } -void BinaryView::CreateUserFunction(Architecture* arch, uint64_t start) +void BinaryView::CreateUserFunction(Platform* platform, uint64_t start) { - BNCreateUserFunction(m_view, arch->GetArchitectureObject(), start); + BNCreateUserFunction(m_view, platform->GetPlatformObject(), start); } @@ -725,9 +743,9 @@ bool BinaryView::HasFunctions() const } -Ref<Function> BinaryView::GetAnalysisFunction(Architecture* arch, uint64_t addr) +Ref<Function> BinaryView::GetAnalysisFunction(Platform* platform, uint64_t addr) { - BNFunction* func = BNGetAnalysisFunction(m_view, arch->GetArchitectureObject(), addr); + BNFunction* func = BNGetAnalysisFunction(m_view, platform->GetPlatformObject(), addr); if (!func) return nullptr; return new Function(func); |
