|Reported by:||jvprat||Owned by:||fingolfin|
I've been following the move to more general plugins with interest, but since there was just a high level roadmap on #scummvm I'm not sure how to help.
It looks like one of the open issues is versioning. The attached patch is a proposal to handle general plugin API version, plugin types and plugin types API version.
It adds a "type" parameter to the REGISTER_PLUGIN macro (currently it's just used to match dynamic plugins API versions).
I think having a generic PLUGIN_alloc function that returns a void pointer to the "plugin meta object" could be enough, since the generic plugin class would know how to cast it depending on the plugin type. With this, the general plugin API could be very stable, even when adding new plugin types, and all plugin types would have the same interface.
But as I said, I'm not sure how you envision the implementation details, so I don't know if it fits your approach. Let me know what can I do to help with this.
Ticket imported from: #1885986. Ticket imported from: patches/900.