fw4spl
ProfileReader.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_IO_PROFILEREADER_HPP__
8 #define __FWRUNTIME_IO_PROFILEREADER_HPP__
9 
10 #if defined(__GNUC__)
11 #pragma GCC visibility push(default)
12 #endif
13 #include <string>
14 #include <boost/filesystem/path.hpp>
15 #include <libxml/tree.h>
16 #if defined(__GNUC__)
17 #pragma GCC visibility pop
18 #endif
19 
20 #include "fwRuntime/config.hpp"
21 
22 namespace fwRuntime
23 {
24 namespace profile
25 {
26 class Activater;
27 class Profile;
28 class Starter;
29 }
30 }
31 
32 
33 
34 namespace fwRuntime
35 {
36 
37 namespace io
38 {
39 
47 {
48 
54  FWRUNTIME_API static std::shared_ptr< ::fwRuntime::profile::Profile > createProfile(
55  const boost::filesystem::path & path );
56 
57 
58 
59  private:
60 
61  static std::string ID;
62  static std::string NAME;
63  static std::string VALUE;
64  static std::string VERSION;
65  static std::string CHECK_SINGLE_INSTANCE;
66  static std::string ACTIVATE;
67  static std::string START;
68  static std::string PARAM;
69  static std::string DIS_EXT_PT;
70  static std::string DIS_EXT;
71 
79  static std::shared_ptr< ::fwRuntime::profile::Profile > processProfile(xmlNodePtr node);
80 
88  static std::shared_ptr< ::fwRuntime::profile::Activater > processActivater(xmlNodePtr node);
89 
97  static void processActivaterParam(xmlNodePtr node,
98  std::shared_ptr< ::fwRuntime::profile::Activater > activater);
99 
107  static void processActivaterDisableExtensionPoint(xmlNodePtr node,
108  std::shared_ptr< ::fwRuntime::profile::Activater > activater);
109 
117  static void processActivaterDisableExtension(xmlNodePtr node,
118  std::shared_ptr< ::fwRuntime::profile::Activater > activater);
119 
127  static std::shared_ptr< ::fwRuntime::profile::Starter > processStarter(xmlNodePtr node);
128 
129 };
130 
131 
132 
133 } // namespace io
134 
135 } // namespace fwRuntime
136 
137 
138 
139 #endif /*__FWRUNTIME_IO_PROFILEREADER_HPP__*/
Reads plugin set profiles from xml files.
Activates a given bundle with optional parameters.
Definition: Activater.hpp:34
Starts a given bundle.
Definition: Starter.hpp:26
The namespace fwRuntime contains classes to manage bundle, configuration element, extension point in ...
Implements a bundle set profile.
Definition: Profile.hpp:43