Characteristics that a plug-in system must have (notes to myself or anyone else that wants to implement it):
- Load plug-ins from a directory in the user's home (e.g. ~/.dc++/plugins/) for user-added plug-ins
- Load plug-ins from the installed prefix (e.g. /usr/share/linuxdcpp/plugins) so we can ship some plug-ins with the program
- Use gmodule to load the plug-ins dynamically from either directory, user plug-ins overriding shipped plug-ins
- Create an interface that plug-ins would have to implement
- Support C++ plug-ins
- Possibly support python plug-ins in addition to C++
- Allow for dynamic replacement of UI elements like menu items (this will require conversion of glade files to GtkBuilder files and thus a minimum of 2.12 for GTK+)
- Support versioning of plug-ins
- For additional ideas see http://www.nuclex.org/articles/building-a-better-plugin-architecture
Characteristics that a plug-in system must have (notes to myself or anyone else that wants to implement it):
- Load plug-ins from a directory in the user's home (e.g. ~/.dc++/plugins/) for user-added plug-ins linuxdcpp/ plugins) so we can ship some plug-ins with the program www.nuclex. org/articles/ building- a-better- plugin- architecture
- Load plug-ins from the installed prefix (e.g. /usr/share/
- Use gmodule to load the plug-ins dynamically from either directory, user plug-ins overriding shipped plug-ins
- Create an interface that plug-ins would have to implement
- Support C++ plug-ins
- Possibly support python plug-ins in addition to C++
- Allow for dynamic replacement of UI elements like menu items (this will require conversion of glade files to GtkBuilder files and thus a minimum of 2.12 for GTK+)
- Support versioning of plug-ins
- For additional ideas see http://
Any other ideas feel free to add them here.