Mercurial > hg > orthanc
comparison Core/DicomNetworking/Internals/StoreScp.cpp @ 3786:3801435e34a1 SylvainRouquette/fix-issue169-95b752c
integration Orthanc-1.6.0->SylvainRouquette
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 19 Mar 2020 11:48:30 +0100 |
parents | 58f92b1c8061 |
children |
comparison
equal
deleted
inserted
replaced
3785:763533d6dd67 | 3786:3801435e34a1 |
---|---|
1 /** | 1 /** |
2 * Orthanc - A Lightweight, RESTful DICOM Store | 2 * Orthanc - A Lightweight, RESTful DICOM Store |
3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | 3 * Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics |
4 * Department, University Hospital of Liege, Belgium | 4 * Department, University Hospital of Liege, Belgium |
5 * Copyright (C) 2017-2019 Osimis S.A., Belgium | 5 * Copyright (C) 2017-2020 Osimis S.A., Belgium |
6 * | 6 * |
7 * This program is free software: you can redistribute it and/or | 7 * This program is free software: you can redistribute it and/or |
8 * modify it under the terms of the GNU General Public License as | 8 * modify it under the terms of the GNU General Public License as |
9 * published by the Free Software Foundation, either version 3 of the | 9 * published by the Free Software Foundation, either version 3 of the |
10 * License, or (at your option) any later version. | 10 * License, or (at your option) any later version. |
249 */ | 249 */ |
250 OFCondition Internals::storeScp(T_ASC_Association * assoc, | 250 OFCondition Internals::storeScp(T_ASC_Association * assoc, |
251 T_DIMSE_Message * msg, | 251 T_DIMSE_Message * msg, |
252 T_ASC_PresentationContextID presID, | 252 T_ASC_PresentationContextID presID, |
253 IStoreRequestHandler& handler, | 253 IStoreRequestHandler& handler, |
254 const std::string& remoteIp) | 254 const std::string& remoteIp, |
255 int timeout) | |
255 { | 256 { |
256 OFCondition cond = EC_Normal; | 257 OFCondition cond = EC_Normal; |
257 T_DIMSE_C_StoreRQ *req; | 258 T_DIMSE_C_StoreRQ *req; |
258 | 259 |
259 // assign the actual information of the C-STORE-RQ command to a local variable | 260 // assign the actual information of the C-STORE-RQ command to a local variable |
292 // define an address where the information which will be received over the network will be stored | 293 // define an address where the information which will be received over the network will be stored |
293 DcmDataset *dset = dcmff.getDataset(); | 294 DcmDataset *dset = dcmff.getDataset(); |
294 | 295 |
295 cond = DIMSE_storeProvider(assoc, presID, req, NULL, /*opt_useMetaheader*/OFFalse, &dset, | 296 cond = DIMSE_storeProvider(assoc, presID, req, NULL, /*opt_useMetaheader*/OFFalse, &dset, |
296 storeScpCallback, &data, | 297 storeScpCallback, &data, |
297 /*opt_blockMode*/ DIMSE_BLOCKING, | 298 /*opt_blockMode*/ (timeout ? DIMSE_NONBLOCKING : DIMSE_BLOCKING), |
298 /*opt_dimse_timeout*/ 0); | 299 /*opt_dimse_timeout*/ timeout); |
299 | 300 |
300 // if some error occured, dump corresponding information and remove the outfile if necessary | 301 // if some error occured, dump corresponding information and remove the outfile if necessary |
301 if (cond.bad()) | 302 if (cond.bad()) |
302 { | 303 { |
303 OFString temp_str; | 304 OFString temp_str; |