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;