Mercurial > hg > orthanc
comparison OrthancServer/Search/DatabaseConstraint.cpp @ 3077:aae1d6d31fef db-changes
compatibility with orthanc-databases
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 03 Jan 2019 10:06:42 +0100 |
parents | 495c5edce708 |
children | 147497152ce3 |
comparison
equal
deleted
inserted
replaced
3076:8bc2cb1335f4 | 3077:aae1d6d31fef |
---|---|
34 #include "../PrecompiledHeadersServer.h" | 34 #include "../PrecompiledHeadersServer.h" |
35 #include "DatabaseConstraint.h" | 35 #include "DatabaseConstraint.h" |
36 | 36 |
37 #include "../../Core/OrthancException.h" | 37 #include "../../Core/OrthancException.h" |
38 | 38 |
39 #if ORTHANC_ENABLE_PLUGINS == 1 | |
40 # include "../../Plugins/Engine/PluginsEnumerations.h" | |
41 #endif | |
42 | |
43 | 39 |
44 namespace Orthanc | 40 namespace Orthanc |
45 { | 41 { |
42 namespace Plugins | |
43 { | |
44 #if ORTHANC_ENABLE_PLUGINS == 1 | |
45 OrthancPluginResourceType Convert(ResourceType type) | |
46 { | |
47 switch (type) | |
48 { | |
49 case ResourceType_Patient: | |
50 return OrthancPluginResourceType_Patient; | |
51 | |
52 case ResourceType_Study: | |
53 return OrthancPluginResourceType_Study; | |
54 | |
55 case ResourceType_Series: | |
56 return OrthancPluginResourceType_Series; | |
57 | |
58 case ResourceType_Instance: | |
59 return OrthancPluginResourceType_Instance; | |
60 | |
61 default: | |
62 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
63 } | |
64 } | |
65 #endif | |
66 | |
67 | |
68 #if ORTHANC_ENABLE_PLUGINS == 1 | |
69 ResourceType Convert(OrthancPluginResourceType type) | |
70 { | |
71 switch (type) | |
72 { | |
73 case OrthancPluginResourceType_Patient: | |
74 return ResourceType_Patient; | |
75 | |
76 case OrthancPluginResourceType_Study: | |
77 return ResourceType_Study; | |
78 | |
79 case OrthancPluginResourceType_Series: | |
80 return ResourceType_Series; | |
81 | |
82 case OrthancPluginResourceType_Instance: | |
83 return ResourceType_Instance; | |
84 | |
85 default: | |
86 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
87 } | |
88 } | |
89 #endif | |
90 | |
91 | |
92 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 | |
93 OrthancPluginConstraintType Convert(ConstraintType constraint) | |
94 { | |
95 switch (constraint) | |
96 { | |
97 case ConstraintType_Equal: | |
98 return OrthancPluginConstraintType_Equal; | |
99 | |
100 case ConstraintType_GreaterOrEqual: | |
101 return OrthancPluginConstraintType_GreaterOrEqual; | |
102 | |
103 case ConstraintType_SmallerOrEqual: | |
104 return OrthancPluginConstraintType_SmallerOrEqual; | |
105 | |
106 case ConstraintType_Wildcard: | |
107 return OrthancPluginConstraintType_Wildcard; | |
108 | |
109 case ConstraintType_List: | |
110 return OrthancPluginConstraintType_List; | |
111 | |
112 default: | |
113 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
114 } | |
115 } | |
116 #endif | |
117 | |
118 | |
119 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 | |
120 ConstraintType Convert(OrthancPluginConstraintType constraint) | |
121 { | |
122 switch (constraint) | |
123 { | |
124 case OrthancPluginConstraintType_Equal: | |
125 return ConstraintType_Equal; | |
126 | |
127 case OrthancPluginConstraintType_GreaterOrEqual: | |
128 return ConstraintType_GreaterOrEqual; | |
129 | |
130 case OrthancPluginConstraintType_SmallerOrEqual: | |
131 return ConstraintType_SmallerOrEqual; | |
132 | |
133 case OrthancPluginConstraintType_Wildcard: | |
134 return ConstraintType_Wildcard; | |
135 | |
136 case OrthancPluginConstraintType_List: | |
137 return ConstraintType_List; | |
138 | |
139 default: | |
140 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
141 } | |
142 } | |
143 #endif | |
144 } | |
145 | |
46 DatabaseConstraint::DatabaseConstraint(ResourceType level, | 146 DatabaseConstraint::DatabaseConstraint(ResourceType level, |
47 const DicomTag& tag, | 147 const DicomTag& tag, |
48 bool isIdentifier, | 148 bool isIdentifier, |
49 ConstraintType type, | 149 ConstraintType type, |
50 const std::vector<std::string>& values, | 150 const std::vector<std::string>& values, |
64 throw OrthancException(ErrorCode_ParameterOutOfRange); | 164 throw OrthancException(ErrorCode_ParameterOutOfRange); |
65 } | 165 } |
66 } | 166 } |
67 | 167 |
68 | 168 |
69 #if ORTHANC_ENABLE_PLUGINS == 1 | 169 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 |
70 DatabaseConstraint::DatabaseConstraint(const OrthancPluginDatabaseConstraint& constraint) : | 170 DatabaseConstraint::DatabaseConstraint(const OrthancPluginDatabaseConstraint& constraint) : |
71 level_(Plugins::Convert(constraint.level)), | 171 level_(Plugins::Convert(constraint.level)), |
72 tag_(constraint.tagGroup, constraint.tagElement), | 172 tag_(constraint.tagGroup, constraint.tagElement), |
73 isIdentifier_(constraint.isIdentifierTag), | 173 isIdentifier_(constraint.isIdentifierTag), |
74 constraintType_(Plugins::Convert(constraint.type)), | 174 constraintType_(Plugins::Convert(constraint.type)), |
115 return values_[0]; | 215 return values_[0]; |
116 } | 216 } |
117 } | 217 } |
118 | 218 |
119 | 219 |
120 #if ORTHANC_ENABLE_PLUGINS == 1 | 220 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 |
121 void DatabaseConstraint::EncodeForPlugins(OrthancPluginDatabaseConstraint& constraint, | 221 void DatabaseConstraint::EncodeForPlugins(OrthancPluginDatabaseConstraint& constraint, |
122 std::vector<const char*>& tmpValues) const | 222 std::vector<const char*>& tmpValues) const |
123 { | 223 { |
124 memset(&constraint, 0, sizeof(constraint)); | 224 memset(&constraint, 0, sizeof(constraint)); |
125 | 225 |