fw4spl
IPlugin.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2015.
3  * Distributed under the terms of the GNU Lesser General Public License (LGPL) as
4  * published by the Free Software Foundation.
5  * ****** END LICENSE BLOCK ****** */
6 
7 #ifndef __FWRUNTIME_IPLUGIN_HPP__
8 #define __FWRUNTIME_IPLUGIN_HPP__
9 
10 #include <string>
11 
12 #include "fwRuntime/config.hpp"
13 #include "fwRuntime/IExecutable.hpp"
14 #include "fwRuntime/RuntimeException.hpp"
15 
16 
17 
18 namespace fwRuntime
19 {
20 
21 
22 
29 struct FWRUNTIME_CLASS_API IPlugin : public IExecutable
30 {
31 
35  FWRUNTIME_API virtual ~IPlugin();
36 
40  virtual void start() = 0;
41 
45  FWRUNTIME_API virtual void initialize();
46 
50  FWRUNTIME_API virtual void uninitialize();
51 
55  virtual void stop() noexcept = 0;
56 
57 };
58 
59 
60 
61 } // namespace fwRuntime
62 
63 #endif // __FWRUNTIME_IPLUGIN_HPP__
Defines the base executable interface.An executable object is an instance created by an extension poi...
Definition: IExecutable.hpp:41
The namespace fwRuntime contains classes to manage bundle, configuration element, extension point in ...
Defines the plugin interface.
Definition: IPlugin.hpp:29