In order to allow for extensions to be completely external to the application, yet behave as if MangaManager coded them ourselves, we need to refactor the dynamic loading interface, the extension interfaces, the category or multiple inheritance and hooks throughout the codebase.
Once done, the next step would to be able to output information about loaded extensions accessible via About or another button on menu row to display appropriate metadata.
This story depends on #135 as I have coded changes in there to fuel this story.
TODO:
[ ] Implement an extensions folder
[ ] Implement custom metadata for extensions
[x] Implement dynamic registration/loading for extensions
[x] Build internal representation of categories of extensions
[x] Implement dynamic resource loading for extensions
[ ] Refactor CoverScrapers interface
[ ] Build new UI to show loaded extensions
[ ] Unit Test for dynamic loading
[ ] Unit Test for Settings reworked code (from previous PRs)
Details provided by Joe:
In order to allow for extensions to be completely external to the application, yet behave as if MangaManager coded them ourselves, we need to refactor the dynamic loading interface, the extension interfaces, the category or multiple inheritance and hooks throughout the codebase.
Once done, the next step would to be able to output information about loaded extensions accessible via About or another button on menu row to display appropriate metadata.
This story depends on #135 as I have coded changes in there to fuel this story.
TODO: