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,