Mercurial > hg > orthanc
comparison OrthancServer/DicomProtocol/DicomUserConnection.h @ 763:b5e6d2823115
dynamic negotiation of storage sop classes
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 29 Apr 2014 17:15:59 +0200 |
parents | 2d0a347e8cfc |
children | 31cc399c7762 |
comparison
equal
deleted
inserted
replaced
760:b2a62f22fbe8 | 763:b5e6d2823115 |
---|---|
36 #include "../ServerEnumerations.h" | 36 #include "../ServerEnumerations.h" |
37 | 37 |
38 #include <stdint.h> | 38 #include <stdint.h> |
39 #include <boost/shared_ptr.hpp> | 39 #include <boost/shared_ptr.hpp> |
40 #include <boost/noncopyable.hpp> | 40 #include <boost/noncopyable.hpp> |
41 #include <list> | |
41 | 42 |
42 namespace Orthanc | 43 namespace Orthanc |
43 { | 44 { |
44 class DicomUserConnection : public boost::noncopyable | 45 class DicomUserConnection : public boost::noncopyable |
45 { | 46 { |
60 std::string localAet_; | 61 std::string localAet_; |
61 std::string distantAet_; | 62 std::string distantAet_; |
62 std::string distantHost_; | 63 std::string distantHost_; |
63 uint16_t distantPort_; | 64 uint16_t distantPort_; |
64 ModalityManufacturer manufacturer_; | 65 ModalityManufacturer manufacturer_; |
66 std::set<std::string> storageSOPClasses_; | |
67 std::list<std::string> reservedStorageSOPClasses_; | |
68 std::set<std::string> defaultStorageSOPClasses_; | |
65 | 69 |
66 void CheckIsOpen() const; | 70 void CheckIsOpen() const; |
67 | 71 |
68 void SetupPresentationContexts(const std::string& preferredTransferSyntax); | 72 void SetupPresentationContexts(const std::string& preferredTransferSyntax); |
69 | 73 |
72 const DicomMap& fields); | 76 const DicomMap& fields); |
73 | 77 |
74 void Move(const std::string& targetAet, | 78 void Move(const std::string& targetAet, |
75 const DicomMap& fields); | 79 const DicomMap& fields); |
76 | 80 |
81 void ResetStorageSOPClasses(); | |
82 | |
83 void CheckStorageSOPClassesInvariant() const; | |
84 | |
77 public: | 85 public: |
78 DicomUserConnection(); | 86 DicomUserConnection(); |
79 | 87 |
80 ~DicomUserConnection(); | 88 ~DicomUserConnection(); |
81 | |
82 void CopyParameters(const DicomUserConnection& other); | |
83 | 89 |
84 void SetLocalApplicationEntityTitle(const std::string& aet); | 90 void SetLocalApplicationEntityTitle(const std::string& aet); |
85 | 91 |
86 const std::string& GetLocalApplicationEntityTitle() const | 92 const std::string& GetLocalApplicationEntityTitle() const |
87 { | 93 { |
123 const std::string& GetPreferredTransferSyntax() const | 129 const std::string& GetPreferredTransferSyntax() const |
124 { | 130 { |
125 return preferredTransferSyntax_; | 131 return preferredTransferSyntax_; |
126 } | 132 } |
127 | 133 |
134 void AddStorageSOPClass(const char* sop); | |
135 | |
128 void Open(); | 136 void Open(); |
129 | 137 |
130 void Close(); | 138 void Close(); |
131 | 139 |
132 bool IsOpen() const; | 140 bool IsOpen() const; |