Multi Stage Init
-
Ich will für Plugins eine Multi-stage Initialisierungsschema einführen, weil notwending.
Die Plugins bieten ein C interface und sind dlls.
Ich frage mich was am (ge)schicksten wär für das interfaceentweder
void prefix_on_before_initialization(...) void prefix_on_initialization(...) void prefix_on_after_initialization(...)
oder:
enum InitializationStage { // ... }; struct Param { int version; InitializationStage stage; }; void prefix_on_initialization(Param p);
oder: was anderes.
- ist schwer falsch zu verwenden.
- ist leichter falsch zu verwenden.
Irgendwelche Meinungen?
-
Nimm 1.
2 sieht mir wie Zusatzaufwand aus, mit dem Selbstzweck, möglichst schwer verständlich zu sein.
-
Ebenfalls für Variante 1, was gemacht wird ist klar aus dem Namen erkennbar.