Odil
A C++11 library for the DICOM standard
MoveSCP.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 _7e899e10_2a21_45b8_a2d6_af1d13cbfd29
10 #define _7e899e10_2a21_45b8_a2d6_af1d13cbfd29
11 
12 #include <cstdint>
13 #include <memory>
14 #include <string>
15 #include <utility>
16 
17 #include "odil/Association.h"
18 #include "odil/odil.h"
19 #include "odil/SCP.h"
21 #include "odil/message/Message.h"
22 
23 namespace odil
24 {
25 
27 class ODIL_API MoveSCP: public SCP
28 {
29 public:
30 
33  {
34  public:
36  virtual unsigned int count() const =0;
37 
45  std::shared_ptr<message::CMoveRequest const>) const =0;
46  };
47 
49  MoveSCP(Association & association);
50 
53  Association & association,
54  std::shared_ptr<DataSetGenerator> const & generator);
55 
57  std::shared_ptr<DataSetGenerator const> get_generator() const;
58 
60  void set_generator(std::shared_ptr<DataSetGenerator> const & generator);
61 
63  virtual void operator()(std::shared_ptr<message::Message> message);
64 
65 private:
66  std::shared_ptr<DataSetGenerator> _generator;
67  void operator()(std::shared_ptr<message::CMoveRequest const> request);
68 };
69 
70 }
71 
72 
73 #endif // _7e899e10_2a21_45b8_a2d6_af1d13cbfd29
SCP.h
odil::MoveSCP::operator()
virtual void operator()(std::shared_ptr< message::Message > message)
Process a C-Get request.
odil::SCP::DataSetGenerator
Abstract base class for SCP returning multiple data sets.
Definition: SCP.h:33
odil::MoveSCP::DataSetGenerator
Generator of C-MOVE responses.
Definition: MoveSCP.h:33
odil
Definition: Association.h:25
ODIL_API
#define ODIL_API
Definition: odil.h:28
Association.h
odil::MoveSCP
SCP for C-Move services.
Definition: MoveSCP.h:28
Message.h
odil.h
odil::MoveSCP::DataSetGenerator::get_association
virtual Association get_association(std::shared_ptr< message::CMoveRequest const >) const =0
Return the sub-association to send responses on.
odil::MoveSCP::set_generator
void set_generator(std::shared_ptr< DataSetGenerator > const &generator)
Set the generator.
odil::MoveSCP::MoveSCP
MoveSCP(Association &association, std::shared_ptr< DataSetGenerator > const &generator)
Constructor.
odil::MoveSCP::DataSetGenerator::count
virtual unsigned int count() const =0
Return the number of responses.
odil::MoveSCP::get_generator
std::shared_ptr< DataSetGenerator const > get_generator() const
Return the generator.
odil::Association
Association.
Definition: Association.h:31
CMoveRequest.h
odil::MoveSCP::MoveSCP
MoveSCP(Association &association)
Constructor.
odil::SCP
Base class for all Service Class Providers.
Definition: SCP.h:25