| 170 | } |
| 171 | |
| 172 | void Module::Stop() |
| 173 | { |
| 174 | if (d->moduleContext == nullptr) |
| 175 | { |
| 176 | MITK_WARN << "Module " << d->info.name << " already stopped."; |
| 177 | return; |
| 178 | } |
| 179 | |
| 180 | try |
| 181 | { |
| 182 | d->coreCtx->listeners.ModuleChanged(ModuleEvent(ModuleEvent::UNLOADING, this)); |
| 183 | |
| 184 | if (d->moduleActivator) |
| 185 | { |
| 186 | d->moduleActivator->Unload(d->moduleContext); |
| 187 | } |
| 188 | } |
| 189 | catch (...) |
| 190 | { |
| 191 | MITK_WARN << "Calling the module activator Unload() method of " << d->info.name << " failed!"; |
| 192 | |
| 193 | try |
| 194 | { |
| 195 | this->Uninit(); |
| 196 | } |
| 197 | catch (...) {} |
| 198 | |
| 199 | throw; |
| 200 | } |
| 201 | |
| 202 | this->Uninit(); |
| 203 | } |
| 204 | |
| 205 | ModuleContext* Module::GetModuleContext() const |
| 206 | { |
no test coverage detected