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