comparison Core/DicomNetworking/TimeoutDicomConnectionManager.cpp @ 3850:d729d6e8b484

removing useless abstraction IDicomConnectionManager
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 20 Apr 2020 14:45:21 +0200
parents 94f4a18a79cc
children 6498739a3c3c
comparison
equal deleted inserted replaced
3849:8c96b20fb275 3850:d729d6e8b484
42 static boost::posix_time::ptime GetNow() 42 static boost::posix_time::ptime GetNow()
43 { 43 {
44 return boost::posix_time::microsec_clock::universal_time(); 44 return boost::posix_time::microsec_clock::universal_time();
45 } 45 }
46 46
47 class TimeoutDicomConnectionManager::Resource : public IDicomConnectionManager::IResource 47
48 TimeoutDicomConnectionManager::Resource::Resource(TimeoutDicomConnectionManager& that) :
49 that_(that)
48 { 50 {
49 private: 51 if (that_.connection_.get() == NULL)
50 TimeoutDicomConnectionManager& that_; 52 {
53 throw OrthancException(ErrorCode_InternalError);
54 }
55 }
51 56
52 public: 57
53 Resource(TimeoutDicomConnectionManager& that) : 58 TimeoutDicomConnectionManager::Resource::~Resource()
54 that_(that) 59 {
55 { 60 that_.Touch();
56 if (that_.connection_.get() == NULL) 61 }
57 {
58 throw OrthancException(ErrorCode_InternalError);
59 }
60 }
61 62
62 ~Resource() 63
63 { 64 DicomUserConnection& TimeoutDicomConnectionManager::Resource::GetConnection()
64 that_.Touch(); 65 {
65 } 66 assert(that_.connection_.get() != NULL);
66 67 return *that_.connection_;
67 DicomUserConnection& GetConnection() 68 }
68 {
69 assert(that_.connection_.get() != NULL);
70 return *that_.connection_;
71 }
72 };
73 69
74 70
75 void TimeoutDicomConnectionManager::Touch() 71 void TimeoutDicomConnectionManager::Touch()
76 { 72 {
77 lastUse_ = GetNow(); 73 lastUse_ = GetNow();
117 { 113 {
118 CheckTimeoutInternal(); 114 CheckTimeoutInternal();
119 } 115 }
120 116
121 117
122 IDicomConnectionManager::IResource* 118 TimeoutDicomConnectionManager::Resource*
123 TimeoutDicomConnectionManager::AcquireConnection(const std::string& localAet, 119 TimeoutDicomConnectionManager::AcquireConnection(const std::string& localAet,
124 const RemoteModalityParameters& remote) 120 const RemoteModalityParameters& remote)
125 { 121 {
126 if (connection_.get() == NULL || 122 if (connection_.get() == NULL ||
127 !connection_->IsSameAssociation(localAet, remote)) 123 !connection_->IsSameAssociation(localAet, remote))