odil
C++11libraryfortheDICOMstandard
FindSCU.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 _0106eb3a_4e02_4d7c_93bf_4d53dcafbb05
10 #define _0106eb3a_4e02_4d7c_93bf_4d53dcafbb05
11 
12 #include <vector>
13 
14 #include "odil/Association.h"
15 #include "odil/DataSet.h"
16 #include "odil/message/CFindRequest.h"
17 #include "odil/odil.h"
18 #include "odil/SCU.h"
19 
20 namespace odil
21 {
22 
24 class ODIL_API FindSCU: public SCU
25 {
26 public:
28  typedef std::function<void(DataSet &&)> Callback;
29 
31  FindSCU(Association & association);
32 
34  virtual ~FindSCU();
35 
37  void find(DataSet const & query, Callback callback) const;
38 
40  void find(DataSet && query, Callback callback) const;
41 
46  std::vector<DataSet> find(DataSet const & query) const;
47 
52  std::vector<DataSet> find(DataSet && query) const;
53 
54 private:
55  void _find(message::CFindRequest const & request, Callback callback) const;
56 };
57 
58 }
59 
60 #endif // _0106eb3a_4e02_4d7c_93bf_4d53dcafbb05
Base class for all Service Class Users.
Definition: SCU.h:21
SCU for C-FIND services.
Definition: FindSCU.h:24
Definition: Association.cpp:39
std::function< void(DataSet &&)> Callback
Callback called when a response is received.
Definition: FindSCU.h:28
DICOM Data set.
Definition: DataSet.h:29
Association.
Definition: Association.h:30