Mercurial > hg > orthanc-stone
comparison Framework/Messages/LockingEmitter.h @ 1059:e713f1a99861 broker
replacing MessageBroker by weak_ptr
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 11 Oct 2019 17:08:34 +0200 |
parents | 6d15261f9c99 |
children | 229ea1389845 |
comparison
equal
deleted
inserted
replaced
1058:a36c47487a70 | 1059:e713f1a99861 |
---|---|
37 * application-wide mutex. | 37 * application-wide mutex. |
38 */ | 38 */ |
39 class LockingEmitter : public IMessageEmitter | 39 class LockingEmitter : public IMessageEmitter |
40 { | 40 { |
41 private: | 41 private: |
42 boost::shared_mutex mutex_; | 42 boost::shared_mutex mutex_; |
43 MessageBroker broker_; | |
44 IObservable oracleObservable_; | 43 IObservable oracleObservable_; |
45 | 44 |
46 public: | 45 public: |
47 LockingEmitter() : | |
48 oracleObservable_(broker_) | |
49 { | |
50 } | |
51 | |
52 MessageBroker& GetBroker() | |
53 { | |
54 return broker_; | |
55 } | |
56 | |
57 virtual void EmitMessage(const IObserver& observer, | 46 virtual void EmitMessage(const IObserver& observer, |
58 const IMessage& message) ORTHANC_OVERRIDE | 47 const IMessage& message) ORTHANC_OVERRIDE |
59 { | 48 { |
60 try | 49 try |
61 { | 50 { |
95 that_(that), | 84 that_(that), |
96 lock_(that.mutex_) | 85 lock_(that.mutex_) |
97 { | 86 { |
98 } | 87 } |
99 | 88 |
100 MessageBroker& GetBroker() | |
101 { | |
102 return that_.broker_; | |
103 } | |
104 | |
105 IObservable& GetOracleObservable() | 89 IObservable& GetOracleObservable() |
106 { | 90 { |
107 return that_.oracleObservable_; | 91 return that_.oracleObservable_; |
108 } | 92 } |
109 }; | 93 }; |