Mercurial > hg > orthanc
comparison Plugins/Engine/OrthancPluginDatabase.cpp @ 3082:847a0ed92654 db-changes
new extension for database plugin SDK: createInstance
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 04 Jan 2019 13:52:34 +0100 |
parents | 1a75595d8e44 |
children | 195ba4cbac3f |
comparison
equal
deleted
inserted
replaced
3081:2e5970ddcfeb | 3082:847a0ed92654 |
---|---|
1193 IDatabaseWrapper::CreateInstanceResult& result, | 1193 IDatabaseWrapper::CreateInstanceResult& result, |
1194 int64_t& instanceId, | 1194 int64_t& instanceId, |
1195 const std::string& patient, | 1195 const std::string& patient, |
1196 const std::string& study, | 1196 const std::string& study, |
1197 const std::string& series, | 1197 const std::string& series, |
1198 const std::string& instance, | 1198 const std::string& instance) |
1199 bool overwrite) | 1199 { |
1200 { | 1200 if (extensions_.createInstance == NULL) |
1201 // TODO optimized version | 1201 { |
1202 | 1202 // Fallback to compatibility mode |
1203 return CompatibilityDatabaseWrapper::CreateInstance( | 1203 return CompatibilityDatabaseWrapper::CreateInstance |
1204 result, instanceId, patient, study, series, instance, overwrite); | 1204 (result, instanceId, patient, study, series, instance); |
1205 } | |
1206 else | |
1207 { | |
1208 OrthancPluginCreateInstanceResult output; | |
1209 memset(&output, 0, sizeof(output)); | |
1210 | |
1211 CheckSuccess(extensions_.createInstance(&output, payload_, patient.c_str(), | |
1212 study.c_str(), series.c_str(), instance.c_str())); | |
1213 | |
1214 instanceId = output.instanceId; | |
1215 | |
1216 if (output.isNewInstance) | |
1217 { | |
1218 result.isNewPatient_ = output.isNewPatient; | |
1219 result.isNewStudy_ = output.isNewStudy; | |
1220 result.isNewSeries_ = output.isNewSeries; | |
1221 result.patientId_ = output.patientId; | |
1222 result.studyId_ = output.studyId; | |
1223 result.seriesId_ = output.seriesId; | |
1224 return true; | |
1225 } | |
1226 else | |
1227 { | |
1228 return false; | |
1229 } | |
1230 } | |
1205 } | 1231 } |
1206 | 1232 |
1207 | 1233 |
1208 void OrthancPluginDatabase::LookupIdentifier(std::list<int64_t>& result, | 1234 void OrthancPluginDatabase::LookupIdentifier(std::list<int64_t>& result, |
1209 ResourceType level, | 1235 ResourceType level, |