]> Creatis software - clitk.git/blob - vv/vvDicomServerQueryFactory.h
put queries in Factory
[clitk.git] / vv / vvDicomServerQueryFactory.h
1 #ifndef __vvDicomServerQueryFactory_h_INCLUDED__
2 #define __vvDicomServerQueryFactory_h_INCLUDED__
3
4 #include "gdcmCompositeNetworkFunctions.h"
5
6
7 struct vvQuery{
8         gdcm::ERootType theRoot;
9         gdcm::EQueryLevel theLevel;
10         std::vector< std::pair<gdcm::Tag, std::string> > keys;
11 };
12
13 class vvDicomServerQueryFactory {
14
15 public:
16
17         vvDicomServerQueryFactory(){}
18         ~vvDicomServerQueryFactory(){}
19
20         gdcm::SmartPointer<gdcm::BaseRootQuery> composeQuerySeries(     std::vector< std::pair<gdcm::Tag, std::string> > keys);
21         gdcm::SmartPointer<gdcm::BaseRootQuery> composeQueryStudy(      std::string m_patient);
22
23         vvQuery getQueryforImages(const std::string patient_id, const std::string study_id, const std::string series_id,bool bdisplay);
24          vvQuery getQueryforSeries(const std::string patient_id, const std::string study_id, bool bdisplay);
25         vvQuery getQueryforStudy(const std::string patient_id, bool bdisplay);
26          vvQuery getQueryPatient(const std::string i_patname, const std::string i_patid);
27
28
29
30    std::vector< std::pair<gdcm::Tag, std::string> > getQueryKeysforStudy(const std::string patient_id, bool bdisplay);
31         std::vector< std::pair<gdcm::Tag, std::string> > getPatientKeys(const std::string , const std::string );
32         std::vector< std::pair<gdcm::Tag, std::string> > getSeriesKeys(const std::string patient_id, const std::string study_id, bool bdisplay);
33         std::vector< std::pair<gdcm::Tag, std::string> > getQueryKeysforImages(const std::string patient_id, const std::string study_id, const std::string series_id,bool bdisplay);
34
35         vvQuery getMoveQuery() { return m_query;}
36
37 private:
38
39         vvQuery m_query;
40
41
42 };
43 #endif // __vvDicomServerQueryFactory_h_INCLUDED__