odil
C++11libraryfortheDICOMstandard
FindSCP.h
1 /*************************************************************************
2  * odil - Copyright (C) Universite de Strasbourg
3  * Distributed under the terms of the CeCILL-B license, as published by
4  * the CEA-CNRS-INRIA. Refer to the LICENSE file or to
5  * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
6  * for details.
7  ************************************************************************/
8 
9 #ifndef _d54d5d3d_791c_43e5_b13a_397954053963
10 #define _d54d5d3d_791c_43e5_b13a_397954053963
11 
12 #include <memory>
13 
14 #include "odil/Association.h"
15 #include "odil/odil.h"
16 #include "odil/SCP.h"
17 #include "odil/message/CFindRequest.h"
18 #include "odil/message/Message.h"
19 
20 namespace odil
21 {
22 
24 class ODIL_API FindSCP: public SCP
25 {
26 public:
27 
29  FindSCP(Association & association);
30 
32  FindSCP(
33  Association & association,
34  std::shared_ptr<DataSetGenerator> const & generator);
35 
37  virtual ~FindSCP();
38 
40  DataSetGenerator const & get_generator() const;
41 
43  void set_generator(std::shared_ptr<DataSetGenerator> const & generator);
44 
46  virtual void operator()(message::Message const & message);
47 
49  virtual void operator()(message::Message && message);
50 
51 private:
52  std::shared_ptr<DataSetGenerator> _generator;
53 
54  void operator()(message::CFindRequest const & request);
55 };
56 
57 }
58 
59 #endif // _d54d5d3d_791c_43e5_b13a_397954053963
Definition: Association.cpp:39
SCP for C-Find services.
Definition: FindSCP.h:24
Base class for all Service Class Providers.
Definition: SCP.h:24
Abstract base class for SCP returning multiple data sets.
Definition: SCP.h:32
Association.
Definition: Association.h:30