fw4spl
SCopy.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 "ctrlCamp/config.hpp"
10 #include "ctrlCamp/ICamp.hpp"
11 
12 #include <fwCore/base.hpp>
13 
14 #include <fwServices/IService.hpp>
15 #include <fwServices/macros.hpp>
16 
17 namespace ctrlCamp
18 {
19 
46 class CTRLCAMP_CLASS_API SCopy : public ::ctrlCamp::ICamp
47 {
48 public:
49 
51 
53  CTRLCAMP_API SCopy();
54 
56  CTRLCAMP_API ~SCopy();
57 
58 protected:
59 
60  enum class ModeType : std::int8_t
61  {
62  START,
63  UPDATE,
64  };
65 
67  CTRLCAMP_API virtual void starting() override;
68 
70  CTRLCAMP_API virtual void configuring() override;
71 
73  CTRLCAMP_API virtual void stopping() override;
74 
76  CTRLCAMP_API virtual void updating() override;
77 
78 private:
79 
81  void copy();
82 
84  std::string m_path;
85 
87  bool m_hasExtractTag;
88 
90  ModeType m_mode;
91 };
92 
93 } // namespace ctrlCamp
The namespace ctrlCamp contains services using camp.
Definition: ICamp.hpp:18
This interface defines service API. It can be considered as a default type for services using fwCamp...
Definition: ICamp.hpp:23
#define fwCoreServiceClassDefinitionsMacro(_classinfo_)
Generate common code for services classes.
This service copies an object and updates its own object or the defined target. It can either copy th...
Definition: SCopy.hpp:46