Mercurial > hg > orthanc
comparison OrthancServer/Internals/CommandDispatcher.cpp @ 665:41b3e5ccb291
fix for medInria
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 07 Nov 2013 16:25:28 +0100 |
parents | d233b5090105 |
children | aa2ab67d913d |
comparison
equal
deleted
inserted
replaced
664:855adbdd75a6 | 665:41b3e5ccb291 |
---|---|
236 | 236 |
237 // For C-MOVE | 237 // For C-MOVE |
238 if (server.HasMoveRequestHandlerFactory()) | 238 if (server.HasMoveRequestHandlerFactory()) |
239 { | 239 { |
240 knownAbstractSyntaxes.push_back(UID_MOVEStudyRootQueryRetrieveInformationModel); | 240 knownAbstractSyntaxes.push_back(UID_MOVEStudyRootQueryRetrieveInformationModel); |
241 knownAbstractSyntaxes.push_back(UID_MOVEPatientRootQueryRetrieveInformationModel); | |
241 } | 242 } |
242 | 243 |
243 cond = ASC_receiveAssociation(net, &assoc, | 244 cond = ASC_receiveAssociation(net, &assoc, |
244 /*opt_maxPDU*/ ASC_DEFAULTMAXPDU, | 245 /*opt_maxPDU*/ ASC_DEFAULTMAXPDU, |
245 NULL, NULL, | 246 NULL, NULL, |
264 | 265 |
265 LOG(INFO) << "Association Received"; | 266 LOG(INFO) << "Association Received"; |
266 | 267 |
267 std::vector<const char*> transferSyntaxes; | 268 std::vector<const char*> transferSyntaxes; |
268 | 269 |
269 #if 0 | |
270 // This is the list of the transfer syntaxes that were supported up to Orthanc 0.7.1 | 270 // This is the list of the transfer syntaxes that were supported up to Orthanc 0.7.1 |
271 transferSyntaxes.push_back(UID_LittleEndianExplicitTransferSyntax); | 271 transferSyntaxes.push_back(UID_LittleEndianExplicitTransferSyntax); |
272 transferSyntaxes.push_back(UID_BigEndianExplicitTransferSyntax); | 272 transferSyntaxes.push_back(UID_BigEndianExplicitTransferSyntax); |
273 transferSyntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); | 273 transferSyntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); |
274 #else | 274 |
275 transferSyntaxes.push_back(UID_LittleEndianImplicitTransferSyntax); | 275 // New transfer syntaxes supported since Orthanc 0.7.2 |
276 transferSyntaxes.push_back(UID_DeflatedExplicitVRLittleEndianTransferSyntax); | 276 transferSyntaxes.push_back(UID_DeflatedExplicitVRLittleEndianTransferSyntax); |
277 transferSyntaxes.push_back(UID_JPEGProcess1TransferSyntax); | 277 transferSyntaxes.push_back(UID_JPEGProcess1TransferSyntax); |
278 transferSyntaxes.push_back(UID_JPEGProcess2_4TransferSyntax); | 278 transferSyntaxes.push_back(UID_JPEGProcess2_4TransferSyntax); |
279 transferSyntaxes.push_back(UID_JPEGProcess3_5TransferSyntax); | 279 transferSyntaxes.push_back(UID_JPEGProcess3_5TransferSyntax); |
280 transferSyntaxes.push_back(UID_JPEGProcess6_8TransferSyntax); | 280 transferSyntaxes.push_back(UID_JPEGProcess6_8TransferSyntax); |
301 transferSyntaxes.push_back(UID_JPIPReferencedTransferSyntax); | 301 transferSyntaxes.push_back(UID_JPIPReferencedTransferSyntax); |
302 transferSyntaxes.push_back(UID_JPIPReferencedDeflateTransferSyntax); | 302 transferSyntaxes.push_back(UID_JPIPReferencedDeflateTransferSyntax); |
303 transferSyntaxes.push_back(UID_MPEG2MainProfileAtMainLevelTransferSyntax); | 303 transferSyntaxes.push_back(UID_MPEG2MainProfileAtMainLevelTransferSyntax); |
304 transferSyntaxes.push_back(UID_MPEG2MainProfileAtHighLevelTransferSyntax); | 304 transferSyntaxes.push_back(UID_MPEG2MainProfileAtHighLevelTransferSyntax); |
305 transferSyntaxes.push_back(UID_RLELosslessTransferSyntax); | 305 transferSyntaxes.push_back(UID_RLELosslessTransferSyntax); |
306 #endif | |
307 | 306 |
308 /* accept the Verification SOP Class if presented */ | 307 /* accept the Verification SOP Class if presented */ |
309 cond = ASC_acceptContextsWithPreferredTransferSyntaxes( assoc->params, &knownAbstractSyntaxes[0], knownAbstractSyntaxes.size(), &transferSyntaxes[0], transferSyntaxes.size()); | 308 cond = ASC_acceptContextsWithPreferredTransferSyntaxes( assoc->params, &knownAbstractSyntaxes[0], knownAbstractSyntaxes.size(), &transferSyntaxes[0], transferSyntaxes.size()); |
310 if (cond.bad()) | 309 if (cond.bad()) |
311 { | 310 { |
578 case DicomRequestType_Find: | 577 case DicomRequestType_Find: |
579 if (server_.HasFindRequestHandlerFactory()) // Should always be true | 578 if (server_.HasFindRequestHandlerFactory()) // Should always be true |
580 { | 579 { |
581 std::auto_ptr<IFindRequestHandler> handler | 580 std::auto_ptr<IFindRequestHandler> handler |
582 (server_.GetFindRequestHandlerFactory().ConstructFindRequestHandler()); | 581 (server_.GetFindRequestHandlerFactory().ConstructFindRequestHandler()); |
583 cond = Internals::findScp(assoc_, &msg, presID, *handler); | 582 cond = Internals::findScp(assoc_, &msg, presID, *handler, callingAETitle_); |
584 } | 583 } |
585 break; | 584 break; |
586 | 585 |
587 default: | 586 default: |
588 // Should never happen | 587 // Should never happen |
593 else | 592 else |
594 { | 593 { |
595 // Bad status, which indicates the closing of the connection by | 594 // Bad status, which indicates the closing of the connection by |
596 // the peer or a network error | 595 // the peer or a network error |
597 finished = true; | 596 finished = true; |
597 | |
598 LOG(ERROR) << cond.text(); | |
598 } | 599 } |
599 | 600 |
600 if (finished) | 601 if (finished) |
601 { | 602 { |
602 if (cond == DUL_PEERREQUESTEDRELEASE) | 603 if (cond == DUL_PEERREQUESTEDRELEASE) |