Mercurial > hg > orthanc
diff Core/DicomNetworking/DicomUserConnection.cpp @ 3117:c8b75e207a82
working on dcmtk 3.6.4 compatibility
author | jodogne |
---|---|
date | Sun, 13 Jan 2019 17:49:19 +0100 |
parents | 4e43e67f8ecf |
children | c4e1977e5ed7 |
line wrap: on
line diff
--- a/Core/DicomNetworking/DicomUserConnection.cpp Fri Jan 11 11:34:58 2019 +0100 +++ b/Core/DicomNetworking/DicomUserConnection.cpp Sun Jan 13 17:49:19 2019 +0100 @@ -82,6 +82,10 @@ #include "../PrecompiledHeaders.h" #include "DicomUserConnection.h" +#if !defined(DCMTK_VERSION_NUMBER) +# error The macro DCMTK_VERSION_NUMBER must be defined +#endif + #include "../DicomFormat/DicomArray.h" #include "../Logging.h" #include "../OrthancException.h" @@ -330,7 +334,12 @@ // Figure out which SOP class and SOP instance is encapsulated in the file DIC_UI sopClass; DIC_UI sopInstance; + +#if DCMTK_VERSION_NUMBER >= 364 + if (!DU_findSOPClassAndInstanceInDataSet(dcmff.getDataset(), sopClass, sizeof(sopClass), sopInstance, sizeof(sopInstance))) +#else if (!DU_findSOPClassAndInstanceInDataSet(dcmff.getDataset(), sopClass, sopInstance)) +#endif { throw OrthancException(ErrorCode_NoSopClassOrInstance); } @@ -572,7 +581,15 @@ T_DIMSE_C_FindRSP response; DcmDataset* statusDetail = NULL; + +#if DCMTK_VERSION_NUMBER >= 364 + int responseCount; +#endif + OFCondition cond = DIMSE_findUser(association, presID, &request, dataset, +#if DCMTK_VERSION_NUMBER >= 364 + responseCount, +#endif FindCallback, &payload, /*opt_blockMode*/ DIMSE_BLOCKING, /*opt_dimse_timeout*/ dimseTimeout,