AxionDrak / GameCube-Backup-Manager

GameCube Backup Manager - a software to convert ISO files to Nintendont format.
MIT License
132 stars 11 forks source link

SUGGESTION: Create plugin system. #36

Open laetemn opened 2 years ago

laetemn commented 2 years ago

Plugins must be DLL files, being stored in a specific folder (plugins).

The plugins will be loaded when starting the program, in addition to having a specific screen to be able to handle the plugins (activate, deactivate, update, delete).

Suggestion of some functions that can be included as plugins:

sjohnson1021 commented 2 years ago

Would also provide another avenue for users to write their own functionality without touching the actual project.

laetemn commented 2 years ago

I found a few things regarding creating plugins. I believe they can serve as a basis for implementing the feature in a future version of the program.

1 - https://docs.microsoft.com/en-us/dotnet/core/tutorials/creating-app-with-plugin-support 2 - https://www.codeproject.com/Articles/831823/Plugin-framework 3 - https://www.codeproject.com/Articles/26273/Plugins-Manager 4 - https://www.codeproject.com/Articles/5420/Creating-a-Flexible-Dynamic-Plugin-Architecture-un 5 - https://www.codeproject.com/Articles/4691/Plugin-Architecture-using-C

When the program is rewritten in WPF, we can implement plugin functionality, among other new features.

sjohnson1021 commented 2 years ago

It's coming along, migrating slowly. Don't want to dump everything at once, and then clean up. I'll have something worth showing soon. I mean, my repo "GCBM2" (Need to rename) is available to checkout, but.. nothing much more than basic UI at this point. https://github.com/sjohnson1021/GCBM-WPF