Implement plugin loading based on dependencies
authorSandro S. Andrade <sandroandrade@kde.org>
Fri, 15 Nov 2013 21:55:42 +0000 (18:55 -0300)
committerSandro S. Andrade <sandroandrade@kde.org>
Fri, 15 Nov 2013 21:54:57 +0000 (22:54 +0100)
commit936870048b0deac4f15c0ef98d245e2519bb7b4b
tree645ef07df7b81cce8cc84ab1ae4e5ba157c6d3c8
parent845c8c504232d1d664118bcffed91b791a959969
Implement plugin loading based on dependencies

- If plugin A depends on plugin B so A implements interfaces defined in B.
- Such dependency should be informed in A's .json file, build includes and
  linker dependencies are automatically handled by qmake.
- In DuSE-MT startup, dependent plugins (e.g. A) are loaded first so that
  , in B initialization, PluginManager can be queried by using pluginsByType()
  in order to get all plugins implementing a specific interface.

Change-Id: I201f12d2ce6972725f3aa11e9815374cf0948c5d
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
examples/uml/duse-mt/src/app/shell/plugincontroller.cpp
examples/uml/duse-mt/src/app/shell/plugincontroller.h
examples/uml/duse-mt/src/libs/duseinterfaces/iplugincontroller.h
examples/uml/duse-mt/src/plugins/architecturerecoverycore/architecturerecoverycoreplugin.cpp
examples/uml/duse-mt/src/plugins/architecturerecoverycore/iarchitecturerecoverybackend.h
examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.cpp [deleted file]
examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.h [deleted file]
examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.json
examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackend.pro
examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.cpp
examples/uml/duse-mt/src/plugins/gccxmlarchitecturerecoverybackend/gccxmlarchitecturerecoverybackendplugin.h