Mercurial > hg > orthanc
comparison Plugins/Engine/OrthancPlugins.cpp @ 1609:c74495267acf
Implementation of the "GetAllPublicIdsWithLimit" extension
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 02 Sep 2015 15:07:47 +0200 |
parents | adc6a5704cdb |
children | 96582230ddcb |
comparison
equal
deleted
inserted
replaced
1608:adc6a5704cdb | 1609:c74495267acf |
---|---|
1407 } | 1407 } |
1408 | 1408 |
1409 case _OrthancPluginService_RegisterDatabaseBackend: | 1409 case _OrthancPluginService_RegisterDatabaseBackend: |
1410 { | 1410 { |
1411 LOG(INFO) << "Plugin has registered a custom database back-end"; | 1411 LOG(INFO) << "Plugin has registered a custom database back-end"; |
1412 | |
1412 const _OrthancPluginRegisterDatabaseBackend& p = | 1413 const _OrthancPluginRegisterDatabaseBackend& p = |
1413 *reinterpret_cast<const _OrthancPluginRegisterDatabaseBackend*>(parameters); | 1414 *reinterpret_cast<const _OrthancPluginRegisterDatabaseBackend*>(parameters); |
1414 | 1415 pimpl_->database_.reset(new OrthancPluginDatabase(*p.backend, NULL, 0, p.payload)); |
1415 pimpl_->database_.reset(new OrthancPluginDatabase(*p.backend, p.payload)); | 1416 |
1417 *(p.result) = reinterpret_cast<OrthancPluginDatabaseContext*>(pimpl_->database_.get()); | |
1418 | |
1419 return true; | |
1420 } | |
1421 | |
1422 case _OrthancPluginService_RegisterDatabaseBackendV2: | |
1423 { | |
1424 LOG(INFO) << "Plugin has registered a custom database back-end"; | |
1425 | |
1426 const _OrthancPluginRegisterDatabaseBackendV2& p = | |
1427 *reinterpret_cast<const _OrthancPluginRegisterDatabaseBackendV2*>(parameters); | |
1428 pimpl_->database_.reset(new OrthancPluginDatabase(*p.backend, p.extensions, p.extensionsSize, p.payload)); | |
1429 | |
1416 *(p.result) = reinterpret_cast<OrthancPluginDatabaseContext*>(pimpl_->database_.get()); | 1430 *(p.result) = reinterpret_cast<OrthancPluginDatabaseContext*>(pimpl_->database_.get()); |
1417 | 1431 |
1418 return true; | 1432 return true; |
1419 } | 1433 } |
1420 | 1434 |
1526 } | 1540 } |
1527 | 1541 |
1528 case _OrthancPluginService_FreeImage: | 1542 case _OrthancPluginService_FreeImage: |
1529 { | 1543 { |
1530 const _OrthancPluginFreeImage& p = *reinterpret_cast<const _OrthancPluginFreeImage*>(parameters); | 1544 const _OrthancPluginFreeImage& p = *reinterpret_cast<const _OrthancPluginFreeImage*>(parameters); |
1531 delete reinterpret_cast<ImageAccessor*>(p.image); | 1545 if (p.image == NULL) |
1532 return true; | 1546 { |
1547 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
1548 } | |
1549 else | |
1550 { | |
1551 delete reinterpret_cast<ImageAccessor*>(p.image); | |
1552 return true; | |
1553 } | |
1533 } | 1554 } |
1534 | 1555 |
1535 case _OrthancPluginService_UncompressImage: | 1556 case _OrthancPluginService_UncompressImage: |
1536 UncompressImage(parameters); | 1557 UncompressImage(parameters); |
1537 return true; | 1558 return true; |