fw4spl
ioVTK/include/ioVTK/SSeriesDBReader.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 "ioVTK/config.hpp"
10 
11 #include <fwData/location/ILocation.hpp>
12 #include <fwData/Mesh.hpp>
13 
14 #include <fwIO/IReader.hpp>
15 
16 #include <boost/filesystem/path.hpp>
17 
18 #include <string>
19 
20 namespace fwMedData
21 {
22 class SeriesDB;
23 }
24 
25 namespace fwJobs
26 {
27 class IJob;
28 }
29 
30 namespace ioVTK
31 {
32 
58 class IOVTK_CLASS_API SSeriesDBReader : public ::fwIO::IReader
59 {
60 
61 public:
62  typedef ::fwCom::Signal< void ( SPTR(::fwJobs::IJob) ) > JobCreatedSignalType;
63 
67  IOVTK_API SSeriesDBReader() noexcept;
68 
69  ~SSeriesDBReader() noexcept
70  {
71  }
72 
74 
81  IOVTK_API virtual void configureWithIHM() override;
82 
83 protected:
84 
85  IOVTK_API virtual ::fwIO::IOPathType getIOPathType() const override;
86 
92  IOVTK_API virtual void starting() override;
93 
99  IOVTK_API virtual void stopping() override;
100 
106  IOVTK_API virtual void configuring() override;
107 
114  IOVTK_API void updating() override;
115 
122  IOVTK_API void info(std::ostream& _sstream ) override;
123 
124 private:
125 
134  void loadSeriesDB( const ::fwData::location::ILocation::VectPathType& vtkFiles,
135  const SPTR(::fwMedData::SeriesDB)& seriesDB );
136 
137  SPTR(JobCreatedSignalType) m_sigJobCreated;
138 
139 };
140 
141 } // namespace ioVTK
#define SPTR(_cls_)
Namespace containing medical data.
Reader service API. It manages extension points definition and extension configuration.
Definition: IReader.hpp:34
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
This namespace fwJobs provides jobs management.
The namespace ioVTK contains reader, writer and helper using the fwVtkIO lib for output and input act...