diff options
Diffstat (limited to 'src/core/module/ModuleManager.cpp')
-rw-r--r-- | src/core/module/ModuleManager.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/module/ModuleManager.cpp b/src/core/module/ModuleManager.cpp index f49a0b1e..253ea8eb 100644 --- a/src/core/module/ModuleManager.cpp +++ b/src/core/module/ModuleManager.cpp @@ -143,6 +143,17 @@ class ModuleManager::Impl { __func__, nullptr)); } + void DeactiveModule(const ModuleIdentifier& identifier) { + Thread::TaskRunnerGetter::GetInstance() + .GetTaskRunner(Thread::TaskRunnerGetter::kTaskRunnerType_Default) + ->PostTask(new Thread::Task( + [=](const GpgFrontend::DataObjectPtr&) -> int { + gmc_->DeactivateModule(identifier); + return 0; + }, + __func__, nullptr)); + } + auto GetTaskRunner(ModuleIdentifier module_id) -> std::optional<TaskRunnerPtr> { return gmc_->GetTaskRunner(std::move(module_id)); @@ -236,6 +247,10 @@ void ModuleManager::ActiveModule(ModuleIdentifier id) { return p_->ActiveModule(id); } +void ModuleManager::DeactiveModule(ModuleIdentifier id) { + return p_->DeactiveModule(id); +} + auto ModuleManager::GetTaskRunner(ModuleIdentifier id) -> std::optional<TaskRunnerPtr> { return p_->GetTaskRunner(std::move(id)); |