diff options
| author | Rusty Wagner <rusty@vector35.com> | 2018-08-28 17:19:32 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2018-08-28 17:19:32 -0400 |
| commit | 20e06506a3d96c7327ca5d729ab01e8c2a7cff3c (patch) | |
| tree | 65880063ccbdcb45cc247a0138915d8560d2ec27 /scriptingprovider.cpp | |
| parent | 5841af2db8e8dcf4e0da0c438ac040c5fa90038b (diff) | |
| parent | 426bb3d8b47b93658bf969c429a8b98adae13c30 (diff) | |
Merge branch 'dev' into test_stack_adjust
Diffstat (limited to 'scriptingprovider.cpp')
| -rw-r--r-- | scriptingprovider.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/scriptingprovider.cpp b/scriptingprovider.cpp index 6a52e095..2a233cfe 100644 --- a/scriptingprovider.cpp +++ b/scriptingprovider.cpp @@ -60,6 +60,7 @@ ScriptingInstance::ScriptingInstance(ScriptingProvider* provider) cb.setCurrentBasicBlock = SetCurrentBasicBlockCallback; cb.setCurrentAddress = SetCurrentAddressCallback; cb.setCurrentSelection = SetCurrentSelectionCallback; + AddRefForRegistration(); m_object = BNInitScriptingInstance(provider->GetObject(), &cb); } @@ -70,6 +71,12 @@ ScriptingInstance::ScriptingInstance(BNScriptingInstance* instance) } +ScriptingInstance::~ScriptingInstance() +{ + BNFreeScriptingInstance(m_object); +} + + void ScriptingInstance::DestroyInstanceCallback(void* ctxt) { ScriptingInstance* instance = (ScriptingInstance*)ctxt; @@ -245,6 +252,15 @@ BNScriptingInstance* ScriptingProvider::CreateInstanceCallback(void* ctxt) } +string ScriptingProvider::GetName() +{ + char* providerNameRaw = BNGetScriptingProviderName(m_object); + string providerName(providerNameRaw); + BNFreeString(providerNameRaw); + return providerName; +} + + vector<Ref<ScriptingProvider>> ScriptingProvider::GetList() { size_t count; |
