diff OrthancServer/main.cpp @ 2381:b8969010b534

uncoupling DCMTK primitives from Orthanc::Configuration
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 29 Aug 2017 19:59:01 +0200
parents 3ec85ff48374
children 7284093111b0
line wrap: on
line diff
--- a/OrthancServer/main.cpp	Tue Aug 29 16:49:44 2017 +0200
+++ b/OrthancServer/main.cpp	Tue Aug 29 19:59:01 2017 +0200
@@ -89,6 +89,23 @@
 
 
 
+class ModalitiesFromConfiguration : public Orthanc::DicomServer::IRemoteModalities
+{
+public:
+  virtual bool IsSameAETitle(const std::string& aet1,
+                             const std::string& aet2) 
+  {
+    return Orthanc::Configuration::IsSameAETitle(aet1, aet2);
+  }
+
+  virtual bool LookupAETitle(RemoteModalityParameters& modality,
+                             const std::string& aet) 
+  {
+    return Orthanc::Configuration::LookupDicomModalityUsingAETitle(modality, aet);
+  }
+};
+
+
 class MyDicomServerFactory : 
   public IStoreRequestHandlerFactory,
   public IFindRequestHandlerFactory, 
@@ -797,10 +814,12 @@
   }
 
   MyDicomServerFactory serverFactory(context);
-
-  // DICOM server
+  OrthancApplicationEntityFilter dicomFilter(context);
+  ModalitiesFromConfiguration modalities;
+  
+  // Setup the DICOM server  
   DicomServer dicomServer;
-  OrthancApplicationEntityFilter dicomFilter(context);
+  dicomServer.SetRemoteModalities(modalities);
   dicomServer.SetCalledApplicationEntityTitleCheck(Configuration::GetGlobalBoolParameter("DicomCheckCalledAet", false));
   dicomServer.SetStoreRequestHandlerFactory(serverFactory);
   dicomServer.SetMoveRequestHandlerFactory(serverFactory);