fw4spl
SDicomSeriesAnonymizer.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 "ioGdcm/config.hpp"
10 
11 #include <fwServices/IController.hpp>
12 
13 namespace fwJobs
14 {
15 class IJob;
16 }
17 
18 namespace fwMedData
19 {
20 class SeriesDB;
21 }
22 
23 namespace ioGdcm
24 {
25 
44 class IOGDCM_CLASS_API SDicomSeriesAnonymizer : public ::fwServices::IController
45 {
46 
47 public:
48  typedef ::fwCom::Signal< void ( SPTR(::fwJobs::IJob) ) > JobCreatedSignal;
49 
51 
53  IOGDCM_API SDicomSeriesAnonymizer() noexcept;
54 
56  IOGDCM_API virtual ~SDicomSeriesAnonymizer() noexcept override;
57 
58 protected:
59 
61  IOGDCM_API virtual void configuring() override;
62 
64  IOGDCM_API virtual void starting() override;
65 
67  IOGDCM_API virtual void stopping() override;
68 
70  IOGDCM_API void updating() override;
71 
73  IOGDCM_API void info(std::ostream& _sstream ) override;
74 
76  IOGDCM_API void anonymize();
77 
79  SPTR(JobCreatedSignal) m_sigJobCreated;
80 
82  bool m_cancelled;
83 };
84 
85 } // namespace ioGdcm
#define SPTR(_cls_)
Service to anonymize a DicomSeries.
This class is an interface for class managing job.
Definition: IJob.hpp:28
Namespace containing medical data.
STL namespace.
This interface defines control service API. Does nothing particularly, can be considered as a default...
Definition: IController.hpp:23
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
ioGdcm contains services use to deal with DICOM using the GDCM library.
This namespace fwJobs provides jobs management.