GDCM  2.4.5
gdcmQueryBase.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef GDCMQUERYBASE_H
19 #define GDCMQUERYBASE_H
20 
21 #include "gdcmTag.h"
22 #include "gdcmDataElement.h"
23 
24 #include <vector>
25 
26 namespace gdcm
27 {
28  enum ERootType
29  {
32  };
33 
61 {
62  public:
63  virtual ~QueryBase() {}
64 
65  virtual std::vector<Tag> GetRequiredTags(const ERootType& inRootType) const = 0;
66  virtual std::vector<Tag> GetUniqueTags(const ERootType& inRootType) const = 0;
67  virtual std::vector<Tag> GetOptionalTags(const ERootType& inRootType) const = 0;
68  // C.4.1.2.1 Baseline Behavior of SCU
69  // All C-FIND SCUs shall be capable of generating query requests which
70  // meet the requirements of the Hierarchical Search.
71  // The Identifier contained in a C-FIND request shall contain a single
72  // value in the Unique Key Attribute for each level above the
73  // Query/Retrieve level. No Required or Optional Keys shall be
74  // specified which are associated with levels above the Query/Retrieve
75  // level.
77  virtual std::vector<Tag> GetHierachicalSearchTags(const ERootType& inRootType) const = 0;
78 
81  std::vector<Tag> GetAllTags(const ERootType& inRootType) const;
82 
85  std::vector<Tag> GetAllRequiredTags(const ERootType& inRootType) const;
86 
87  virtual const char * GetName() const = 0;
88  virtual DataElement GetQueryLevel() const = 0;
89  };
90 }
91 
92 #endif //GDCMQUERYBASE_H
#define GDCM_EXPORT
Definition: gdcmWin32.h:34
Class to represent a Data Element either Implicit or Explicit.
Definition: gdcmDataElement.h:58
virtual ~QueryBase()
Definition: gdcmQueryBase.h:63
QueryBase contains: the base class for constructing a query dataset for a C-FIND and a C-MOVE...
Definition: gdcmQueryBase.h:60
Definition: gdcmQueryBase.h:30
ERootType
Definition: gdcmQueryBase.h:28
Definition: gdcmASN1.h:20
Definition: gdcmQueryBase.h:31

Generated on Fri Sep 25 2015 17:58:24 for GDCM by doxygen 1.8.9.1
SourceForge.net Logo