fw4spl
ExecutableFactory.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_EXECUTABLEFACTORY_HPP__
8 #define __FWRUNTIME_EXECUTABLEFACTORY_HPP__
9 
10 #include <string>
11 
12 #include "fwRuntime/config.hpp"
13 #include "fwRuntime/BundleElement.hpp"
14 #include "fwRuntime/RuntimeException.hpp"
15 
16 namespace fwRuntime
17 {
18 struct IExecutable;
19 }
20 
21 
22 
23 namespace fwRuntime
24 {
25 
26 
33 struct FWRUNTIME_CLASS_API ExecutableFactory : public BundleElement
34 {
35 
47  FWRUNTIME_API ExecutableFactory( const std::string & type );
48 
52  FWRUNTIME_API virtual ~ExecutableFactory();
54 
60  virtual IExecutable* createExecutable() const = 0;
61 
62 
68  FWRUNTIME_API const std::string getType() const;
69 
70 
71  private:
72 
73 
74  std::string m_type;
75 
76 };
77 
78 
79 } // namespace fwRuntime
80 
81 
82 #endif // __FWRUNTIME_EXECUTABLEFACTORY_HPP__
Implements the base class for all element managed by a bundle.
Defines the abstract executable factory class.
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 ...