Mercurial > hg > orthanc
comparison OrthancServer/Plugins/Engine/OrthancPlugins.cpp @ 4921:309fb4f02704
fix signature of OrthancPluginIncomingCStoreInstanceFilter
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 23 Feb 2022 11:09:43 +0100 |
parents | 676e03e69703 |
children | 47d734fa30f6 |
comparison
equal
deleted
inserted
replaced
4920:ce64d8995a41 | 4921:309fb4f02704 |
---|---|
2258 return true; | 2258 return true; |
2259 } | 2259 } |
2260 | 2260 |
2261 | 2261 |
2262 | 2262 |
2263 uint16_t OrthancPlugins::FilterIncomingCStoreInstance(const DicomInstanceToStore& instance, | 2263 bool OrthancPlugins::FilterIncomingCStoreInstance(uint16_t& dimseStatus, |
2264 const Json::Value& simplified) | 2264 const DicomInstanceToStore& instance, |
2265 const Json::Value& simplified) | |
2265 { | 2266 { |
2266 DicomInstanceFromCallback wrapped(instance); | 2267 DicomInstanceFromCallback wrapped(instance); |
2267 | 2268 |
2268 boost::recursive_mutex::scoped_lock lock(pimpl_->invokeServiceMutex_); | 2269 boost::recursive_mutex::scoped_lock lock(pimpl_->invokeServiceMutex_); |
2269 | 2270 |
2270 for (PImpl::IncomingCStoreInstanceFilters::const_iterator | 2271 for (PImpl::IncomingCStoreInstanceFilters::const_iterator |
2271 filter = pimpl_->incomingCStoreInstanceFilters_.begin(); | 2272 filter = pimpl_->incomingCStoreInstanceFilters_.begin(); |
2272 filter != pimpl_->incomingCStoreInstanceFilters_.end(); ++filter) | 2273 filter != pimpl_->incomingCStoreInstanceFilters_.end(); ++filter) |
2273 { | 2274 { |
2274 int32_t filterResult = (*filter) (reinterpret_cast<const OrthancPluginDicomInstance*>(&wrapped)); | 2275 int32_t result = (*filter) (&dimseStatus, reinterpret_cast<const OrthancPluginDicomInstance*>(&wrapped)); |
2275 | 2276 |
2276 if (filterResult >= 0 && filterResult <= 0xFFFF) | 2277 if (result == 0) |
2277 { | 2278 { |
2278 return static_cast<uint16_t>(filterResult); | 2279 // The instance must be discarded |
2280 return false; | |
2281 } | |
2282 else if (result == 1) | |
2283 { | |
2284 // The instance is accepted | |
2285 return true; | |
2279 } | 2286 } |
2280 else | 2287 else |
2281 { | 2288 { |
2282 // The callback is only allowed to answer uint16_t | 2289 // Error |
2283 throw OrthancException(ErrorCode_Plugin); | 2290 throw OrthancException(ErrorCode_Plugin); |
2284 } | 2291 } |
2285 } | 2292 } |
2286 | 2293 |
2287 return STATUS_Success; | 2294 return true; // By default, the instance is accepted |
2288 } | 2295 } |
2289 | 2296 |
2290 | 2297 |
2291 OrthancPluginReceivedInstanceAction OrthancPlugins::ApplyReceivedInstanceCallbacks( | 2298 OrthancPluginReceivedInstanceAction OrthancPlugins::ApplyReceivedInstanceCallbacks( |
2292 MallocMemoryBuffer& modified, | 2299 MallocMemoryBuffer& modified, |