Odil
A C++11 library for the DICOM standard
GetSCP.h
Go to the documentation of this file.
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 _2f0ad1fd_8779_4ab3_b7e8_6d37fdc0c018
10 #define _2f0ad1fd_8779_4ab3_b7e8_6d37fdc0c018
11 
12 #include <memory>
13 
14 #include "odil/Association.h"
15 #include "odil/odil.h"
16 #include "odil/SCP.h"
18 #include "odil/message/Message.h"
19 
20 namespace odil
21 {
22 
24 class ODIL_API GetSCP: public SCP
25 {
26 public:
27 
30  {
31  public:
33  virtual unsigned int count() const =0;
34  };
35 
38  Association & association,
39  std::shared_ptr<DataSetGenerator> const & generator={});
40 
42  std::shared_ptr<DataSetGenerator const> get_generator() const;
43 
45  void set_generator(std::shared_ptr<DataSetGenerator> const & generator);
46 
48  virtual void operator()(std::shared_ptr<message::Message> message);
49 private:
50  std::shared_ptr<DataSetGenerator> _generator;
51  void operator()(std::shared_ptr<message::CGetRequest const> request);
52 };
53 
54 }
55 
56 #endif // _2f0ad1fd_8779_4ab3_b7e8_6d37fdc0c018
Association.
Definition: Association.h:31
Generator of C-GET responses.
Definition: GetSCP.h:30
virtual unsigned int count() const =0
Return the number of responses.
SCP for C-Get services.
Definition: GetSCP.h:25
std::shared_ptr< DataSetGenerator const > get_generator() const
Return the generator.
virtual void operator()(std::shared_ptr< message::Message > message)
Process a C-Get request.
void set_generator(std::shared_ptr< DataSetGenerator > const &generator)
Set the generator.
GetSCP(Association &association, std::shared_ptr< DataSetGenerator > const &generator={})
Constructor.
Abstract base class for SCP returning multiple data sets.
Definition: SCP.h:33
Base class for all Service Class Providers.
Definition: SCP.h:25
Definition: Association.h:25
#define ODIL_API
Definition: odil.h:28