Plugin Manager

Der Plugin Manager durchsucht beim Programmstart den Ordner plugins nach Unterordnern und versucht die gefundenen Erweiterungen zu initialisieren.

@startmindmap
* wachbuch
** plugin_mgr.py
** plugins
*** plugin1
*** plugin2
*** plugin3
@endmindmap

Bei der Initialisierung registriert der Manager vordefinierte Plugin-Funktionen damit diese später ausgeführt werden können.

@startuml

program : pm.function1
program : pm.function2
plugin_Manager : function1
plugin_Manager : function2

plugin1 : function1
plugin2 : function1
plugin3 : function2
plugin4 : function2

program --> plugin_Manager
plugin_Manager ---> plugin1
plugin_Manager ---> plugin2

plugin_Manager ---> plugin3
plugin_Manager ---> plugin4


@enduml

Alle Plugins müssen eine Klasse bereitstellen die von Plugin erbt.