Mercurial > hg > orthanc
comparison OrthancServer/main.cpp @ 618:5ab377df6d8b find-move-scp
filtering on aet
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 25 Oct 2013 11:50:17 +0200 |
parents | f27923072afd |
children | 70d0f27e5bd3 |
comparison
equal
deleted
inserted
replaced
617:a24b0161b171 | 618:5ab377df6d8b |
---|---|
255 { | 255 { |
256 } | 256 } |
257 }; | 257 }; |
258 | 258 |
259 | 259 |
260 class OrthancApplicationEntityFilter : public IApplicationEntityFilter | |
261 { | |
262 public: | |
263 virtual bool IsAllowed(const std::string& /*callingIp*/, | |
264 const std::string& callingAet) | |
265 { | |
266 if (!IsKnownAETitle(callingAet)) | |
267 { | |
268 LOG(ERROR) << "Unkwnown remote DICOM modality AET: \"" << callingAet << "\""; | |
269 return false; | |
270 } | |
271 else | |
272 { | |
273 return true; | |
274 } | |
275 } | |
276 }; | |
277 | |
278 | |
260 class MyIncomingHttpRequestFilter : public IIncomingHttpRequestFilter | 279 class MyIncomingHttpRequestFilter : public IIncomingHttpRequestFilter |
261 { | 280 { |
262 private: | 281 private: |
263 ServerContext& context_; | 282 ServerContext& context_; |
264 | 283 |
479 MyDicomServerFactory serverFactory(context); | 498 MyDicomServerFactory serverFactory(context); |
480 | 499 |
481 { | 500 { |
482 // DICOM server | 501 // DICOM server |
483 DicomServer dicomServer; | 502 DicomServer dicomServer; |
503 OrthancApplicationEntityFilter dicomFilter; | |
484 dicomServer.SetCalledApplicationEntityTitleCheck(GetGlobalBoolParameter("DicomCheckCalledAet", false)); | 504 dicomServer.SetCalledApplicationEntityTitleCheck(GetGlobalBoolParameter("DicomCheckCalledAet", false)); |
485 dicomServer.SetStoreRequestHandlerFactory(serverFactory); | 505 dicomServer.SetStoreRequestHandlerFactory(serverFactory); |
486 dicomServer.SetMoveRequestHandlerFactory(serverFactory); | 506 dicomServer.SetMoveRequestHandlerFactory(serverFactory); |
487 dicomServer.SetFindRequestHandlerFactory(serverFactory); | 507 dicomServer.SetFindRequestHandlerFactory(serverFactory); |
488 dicomServer.SetPortNumber(GetGlobalIntegerParameter("DicomPort", 4242)); | 508 dicomServer.SetPortNumber(GetGlobalIntegerParameter("DicomPort", 4242)); |
489 dicomServer.SetApplicationEntityTitle(GetGlobalStringParameter("DicomAet", "ORTHANC")); | 509 dicomServer.SetApplicationEntityTitle(GetGlobalStringParameter("DicomAet", "ORTHANC")); |
510 dicomServer.SetApplicationEntityFilter(dicomFilter); | |
490 | 511 |
491 // HTTP server | 512 // HTTP server |
492 MyIncomingHttpRequestFilter httpFilter(context); | 513 MyIncomingHttpRequestFilter httpFilter(context); |
493 MongooseServer httpServer; | 514 MongooseServer httpServer; |
494 httpServer.SetPortNumber(GetGlobalIntegerParameter("HttpPort", 8042)); | 515 httpServer.SetPortNumber(GetGlobalIntegerParameter("HttpPort", 8042)); |