Hi,
I think it depends how the "tool plugin" can be distinguished from other
plugins:
Approaches where the plugin needs to be loaded and it actively
"registers something"
1. The tool plugin actively calls a singletone method of some other
plugin. If you want that call to happen at the earliest time possible,
you can either use the constructor of a file-scoped static object or put
the call in the plugin's activator load method.
2. The tool plugin makes use of the service registry and registers a
service object in its activator load method. The hypervisor plugin would
just track such services using the service registry.
Both approaches require the tool plugin to depend on some other entity
(the hypervisors singleton method or the service interface class).
For an enumeration of tool plug-ins, they probably do not need to be
loaded. They could be tracked by relying on meta data added to the
plug-ins. I assume you are working with CTK plugins (you can use similar
techniques with CppMicroServices modules)
- Add meta data to your plugin by modifying the manifest_headers.cmake
file and adding a new new line, e.g. "set(Provides-Tools 1)".
- The hypervisor plugin instantiates a ctkPluginTracker [1] which is
notified if new plugins are installed or change state. It can then use
the ctkPlugin::getHeaders() [2] method to check if the plugin contains
the "Provides-Tools" header.
Depending on your needs the above scheme can get more elaborate and
provide more information via meta data or embedded resources.
Best,
Sascha
[1] http://www.commontk.org/docs/html/classctkPluginTracker.html
[2]
http://www.commontk.org/docs/html/classctkPlugin.html#a60f6b7f62313a22639d4a52122f8288a
On 08/17/2015 12:14 PM, Pukhlikov Mikhail wrote:
Hello
I'm creating plugin which should know the list of available tools plugins.
The idea was that those plugins during application loading will call
singletone method of hypervisor plugin.
So I wanted to know if that is possible to have method inside plugins
to be called during Application startup.
Thank you
------------------------------------------------------------------------
Date: Fri, 14 Aug 2015 16:41:54 +0200
From: sascha.zel...@gmail.com
To: mitk-users@lists.sourceforge.net
Subject: Re: [mitk-users] Is there way to make some action by some
plugin after it's loading
Hi,
it's hard to give you proper advice without exactly knowing what you
are trying to achieve. You cant obviously call a function from a
plug-in until its shared library is loaded.
There are different hooks, listeners, etc. but without knowing your
use case I could just guess...
Cheers,
Sascha
Am 14/08/2015 um 14:09 schrieb Pukhlikov Mikhail:
Hello.
I need to make some action by some plugin after it's loading.
Not when I activate it. Before Activator loading.
Just when MITK itself starts it enumerates available plugins and
in that time I need to call some function iside that plugin.
Thank you.
------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net <mailto:mitk-users@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/mitk-users
------------------------------------------------------------------------------
_______________________________________________ mitk-users mailing
list mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users
------------------------------------------------------------------------------
_______________________________________________
mitk-users mailing list
mitk-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mitk-users