Mercurial > hg > orthanc
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); |