summaryrefslogtreecommitdiff
path: root/binaryview.cpp
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2016-01-25 15:16:43 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2016-01-25 23:13:23 -0500
commitad05dd2072917e2487dcd34dbc249b2a0efac589 (patch)
tree0392cd11853a91cbde36c0a8939116a5659fa1d3 /binaryview.cpp
parentc2b2e11c009fa9b9c6c4a0fbba9210cb997e38ce (diff)
Initial implementation of platform ABI classes
Diffstat (limited to 'binaryview.cpp')
-rw-r--r--binaryview.cpp34
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);