Link a plugin to a plugin
-
Hello all
I have created an application and two plugins that can be loaded successfully in run time.
Though I need to link the plugin one another.
Is this possible?
Thanks in advance. -
Have a look at how plug-ins are managed in Qt Creator. They have dependencies on plug-ins (actually, everything is a plug-in there).
-
Thanks for the reply.
Actually I think that in Qt Creator, plug-ins are not plug-ins in the context of making plug-ins that can be loaded dynamically in a Qt application, but rather libraries which look like plug-ins, because of the fact that are loaded dynamically from the Qt Creator application. Correct me if I am wrong. -
Technically plugins are just dynamic libraries in the first place. The difference is just in the mechanism by which they are loaded. Dynamic libraries are more or less automatically loaded by the system's loader process when the application is loaded into memory while plugins are actually loaded later, whenever the application decides it needs its plugins.
So Qt Creator has real plugins:-)
Having a plugin depend on another plugin is a common thing in a plugin based architecture. Usually that is resolved by describing dependencies in some way so that the application makes sure it loads all plugins in an order where all dependent plugins are loaded before the plugin depending on them gets loaded. This way the whole plugin-loading mechanism can stay inside the application. If you had plugins loading other plugins you would need to have the plugin loading code everywhere, which is of course harder to maintain.
-
We are trying to solve the inter communication issue between different plug-ins. At this far we concluded that signal and slots is not an option, and direct callbacks seem to be the better way of doing this, as the main application is a plug-in agnostic object. Anyway thank you all for your responses.
-
Can you please point me to some example, looks like plugin to plugin should make one of our job much easier
-
In our case, we have different GUI (widgets, etc..), that are being created by different plug-ins, which are being loaded by the Qt application. We would like signals and slots, in order to keep these widgets updated.