Planung und Realisierung eines Pluginmanagers
-
Hallo,
ich suche jemanden, der sich gut mit Design Pattern auskennt und in der Lage ist, mir dabei zu helfen, einen Pluginmanager zu entwerfen und zu programmieren.
Der Manager soll:
* Plugins instanzieren können und in einer map speichern
* Plugininstanzen an eine anwendung weitergeben können
* Plugins über Nachrichten steuern können (also es soll z.B. möglich sein, dass 1 Plugin dem Manager anweisen kann, die Methode des zweiten Plugins auszuführen)Alles weitere später. Es geht nur um einen Grobentwurf.
-
In der Juli-Ausgabe vom C/C++ User's Journal ist ein Plug-In Manager drin, der ist sogar weitgehend portabel. Müßte auch auf www.cuj.com irgendwo zum download stehen.
MfG Jester
-
hi cool was ist das denn für ne zeitschrift? gibts die auch im Handel?!
-
hmmm meinst du die dynamic plugin demonstration????
-
ich hab mir das mal angeguckt aber nur der Code allein.... da ist ja gar nix kommentiert. Ausserdem habe ich eine etwas andere Struktur. Bei mir soll der Manager Zugriff auf folgende Dateien haben:
=> XFileTyps.h //Enthällt selbst definierte Typen
=> XGen.h //Enthällt generelle Definitionen (mathematische Funktionen, Fehlercodes, Counter, Fps, usw.)
=> XInterface //Enthällt alle Interfaces die gebraucht werdenWie ich das verstanden habe, werden in dem Beispiel ale die Dateien als Plugin in einen Ordner gepackt. Bei mir besteht das Plugin nur aus ner Dll und eventuell noch Dateien, die das Plugin braucht (z.B. wenn das Plugin aus einer Datei lesen soll oder so k.a.).
Hat da jemand noch einen anderen Vorschlag?
P.S. : Der Link gefällt mir, den werde ich mir auf jeden Fall merken.
Gruß Sebastian
-
Soweit ich das gesehen habe benutzen die unter Windows auch einfach Dlls. Wenn Du ein Plug-In nutzen willst mußt Du seinen Namen kennen und den Namen der Funktion, die Du nutzen willst. Sonst nichts.
-
ja das ist richtig. Das Laden der Dll ist auch überhaupt kein Problem. Ich habe es auch schon getestet, wenn ich Plugins unabhängig lade, ist alles prima....
Ich will aber jetzt so nen Manager selbst schreiben. Vielleicht habe ich da auch was missverstanden.
Mal ein paar Fragen, vielleicht klärt das ja das Problem:
a.) Warum hat der Autor da 2 Verzeichniss (save und save2) angelegt, in welchem weitesgehend die selben dateien drin sind wie in dem untergeordneten Ordner?
b.) was sind cxx dateien? ich kenne nur die c dateien für C- Programme oder für C++ alt cpp, cxx ist mir unbekannt
c.) wo ist da die dll ?