fw4spl
ui/uiIO/include/uiIO/action/SSeriesDBMerger.hpp
1 /* ***** BEGIN LICENSE BLOCK *****
2  * FW4SPL - Copyright (C) IRCAD, 2009-2018.
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 #pragma once
8 
9 #include "uiIO/config.hpp"
10 
11 #include <fwCom/Signal.hpp>
12 #include <fwCom/Slot.hpp>
13 
14 #include <fwGui/IActionSrv.hpp>
15 
16 #include <fwMedData/SeriesDB.hpp>
17 
18 namespace fwJobs
19 {
20 class IJob;
21 }
22 
23 namespace uiIO
24 {
25 namespace action
26 {
27 
64 class UIIO_CLASS_API SSeriesDBMerger : public ::fwGui::IActionSrv
65 {
66 public:
68 
69  typedef ::fwCom::Signal< void ( SPTR(::fwJobs::IJob) ) > JobCreatedSignalType;
70  typedef ::fwCom::Slot< void ( SPTR(::fwJobs::IJob) ) > ForwardJobSlotType;
71 
72  UIIO_API SSeriesDBMerger() noexcept;
73 
74  UIIO_API virtual ~SSeriesDBMerger() noexcept;
75 
76 protected:
77 
88  void configuring() override;
89 
91  void starting() override;
92 
94  void updating() override;
95 
97  void stopping() override;
98  void info(std::ostream& _sstream ) override;
99 
100 private:
101  void forwardJob(SPTR(::fwJobs::IJob) iJob);
102 
103  std::string m_ioSelectorSrvConfig;
104 
105  SPTR(JobCreatedSignalType) m_sigJobCreated;
106  SPTR(ForwardJobSlotType) m_slotForwardJob;
107 
108 };
109 
110 } // namespace action
111 } // namespace uiIO
#define SPTR(_cls_)
STL namespace.
Defines the service interface managing the menu items.
Definition: IActionSrv.hpp:24
This action allows to load a new SeriesDB and merge it with the current SeriesDB. ...
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
This namespace fwJobs provides jobs management.
The namespace uiIO contains a simple service to manipulate IO with IHM..