comparison OrthancServer/DicomProtocol/DicomServer.h @ 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 96b3ec054b69
children
comparison
equal deleted inserted replaced
2380:96b3ec054b69 2381:b8969010b534
40 #include "IFindRequestHandlerFactory.h" 40 #include "IFindRequestHandlerFactory.h"
41 #include "IMoveRequestHandlerFactory.h" 41 #include "IMoveRequestHandlerFactory.h"
42 #include "IStoreRequestHandlerFactory.h" 42 #include "IStoreRequestHandlerFactory.h"
43 #include "IWorklistRequestHandlerFactory.h" 43 #include "IWorklistRequestHandlerFactory.h"
44 #include "IApplicationEntityFilter.h" 44 #include "IApplicationEntityFilter.h"
45 #include "RemoteModalityParameters.h"
45 46
46 #include <boost/shared_ptr.hpp> 47 #include <boost/shared_ptr.hpp>
47 #include <boost/noncopyable.hpp> 48 #include <boost/noncopyable.hpp>
48 49
49 50
50 namespace Orthanc 51 namespace Orthanc
51 { 52 {
52 class DicomServer : public boost::noncopyable 53 class DicomServer : public boost::noncopyable
53 { 54 {
55 public:
56 // WARNING: The methods of this class must be thread-safe
57 class IRemoteModalities : public boost::noncopyable
58 {
59 public:
60 virtual ~IRemoteModalities()
61 {
62 }
63
64 virtual bool IsSameAETitle(const std::string& aet1,
65 const std::string& aet2) = 0;
66
67 virtual bool LookupAETitle(RemoteModalityParameters& modality,
68 const std::string& aet) = 0;
69 };
70
54 private: 71 private:
55 struct PImpl; 72 struct PImpl;
56 boost::shared_ptr<PImpl> pimpl_; 73 boost::shared_ptr<PImpl> pimpl_;
57 74
58 bool checkCalledAet_; 75 bool checkCalledAet_;
59 std::string aet_; 76 std::string aet_;
60 uint16_t port_; 77 uint16_t port_;
61 bool continue_; 78 bool continue_;
62 uint32_t associationTimeout_; 79 uint32_t associationTimeout_;
80 IRemoteModalities* modalities_;
63 IFindRequestHandlerFactory* findRequestHandlerFactory_; 81 IFindRequestHandlerFactory* findRequestHandlerFactory_;
64 IMoveRequestHandlerFactory* moveRequestHandlerFactory_; 82 IMoveRequestHandlerFactory* moveRequestHandlerFactory_;
65 IStoreRequestHandlerFactory* storeRequestHandlerFactory_; 83 IStoreRequestHandlerFactory* storeRequestHandlerFactory_;
66 IWorklistRequestHandlerFactory* worklistRequestHandlerFactory_; 84 IWorklistRequestHandlerFactory* worklistRequestHandlerFactory_;
67 IApplicationEntityFilter* applicationEntityFilter_; 85 IApplicationEntityFilter* applicationEntityFilter_;
83 bool HasCalledApplicationEntityTitleCheck() const; 101 bool HasCalledApplicationEntityTitleCheck() const;
84 102
85 void SetApplicationEntityTitle(const std::string& aet); 103 void SetApplicationEntityTitle(const std::string& aet);
86 const std::string& GetApplicationEntityTitle() const; 104 const std::string& GetApplicationEntityTitle() const;
87 105
106 void SetRemoteModalities(IRemoteModalities& modalities);
107 IRemoteModalities& GetRemoteModalities() const;
108
88 void SetFindRequestHandlerFactory(IFindRequestHandlerFactory& handler); 109 void SetFindRequestHandlerFactory(IFindRequestHandlerFactory& handler);
89 bool HasFindRequestHandlerFactory() const; 110 bool HasFindRequestHandlerFactory() const;
90 IFindRequestHandlerFactory& GetFindRequestHandlerFactory() const; 111 IFindRequestHandlerFactory& GetFindRequestHandlerFactory() const;
91 112
92 void SetMoveRequestHandlerFactory(IMoveRequestHandlerFactory& handler); 113 void SetMoveRequestHandlerFactory(IMoveRequestHandlerFactory& handler);