fw4spl
ioVtkGdcm/include/ioVtkGdcm/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 "ioVtkGdcm/config.hpp"
10 
11 #include <fwIO/IReader.hpp>
12 
13 #include <boost/filesystem/path.hpp>
14 
15 #include <string>
16 
17 namespace fwMedData
18 {
19 class SeriesDB;
20 class Patient;
21 }
22 
23 namespace fwJobs
24 {
25 class IJob;
26 }
27 
28 namespace ioVtkGdcm
29 {
30 
55 class IOVTKGDCM_CLASS_API SSeriesDBReader : public ::fwIO::IReader
56 {
57 
58 public:
59  typedef std::string ExtensionType;
60  typedef std::vector< ExtensionType > ExtensionsType;
61  typedef ::fwCom::Signal< void ( SPTR(::fwJobs::IJob) ) > JobCreatedSignalType;
62 
68  IOVTKGDCM_API SSeriesDBReader() noexcept;
69 
73  IOVTKGDCM_API virtual ~SSeriesDBReader() noexcept;
74 
75 protected:
76 
78  IOVTKGDCM_API virtual void starting() override;
79 
81  IOVTKGDCM_API virtual void stopping() override;
82 
84  IOVTKGDCM_API virtual void configuring() override;
85 
87  IOVTKGDCM_API void updating() override;
88 
90  IOVTKGDCM_API void info(std::ostream& _sstream ) override;
91 
93  IOVTKGDCM_API virtual ExtensionsType getSupportedExtensions() override;
94 
96  IOVTKGDCM_API virtual std::string getSelectorDialogTitle() override;
97 
99  IOVTKGDCM_API virtual void configureWithIHM() override;
100 
102  IOVTKGDCM_API ::fwIO::IOPathType getIOPathType() const override;
103 
104 private:
105 
106  void notificationOfDBUpdate();
107 
108  SPTR(::fwMedData::SeriesDB) createSeriesDB(const ::boost::filesystem::path& dicomDir);
109 
110  SPTR(JobCreatedSignalType) m_sigJobCreated;
111 
112 };
113 
114 } // namespace ioVtkGdcm
#define SPTR(_cls_)
This class contains helper to generate Medical Data (SeriesDB, ImageSeries, ...). ...
Namespace containing medical data.
STL namespace.
Reader service API. It manages extension points definition and extension configuration.
Definition: IReader.hpp:34
ioVtkGdcm contains services to read and write Series using vtk and gdcm libraries.
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
The namespace fwIO contains the base interface for reader and writer services.
Definition: ioTypes.hpp:16
This namespace fwJobs provides jobs management.
This service reads a dicom dir, and provides a fwMedData::SeriesDB.