Mercurial > hg > orthanc-stone
comparison Framework/Messages/IObserver.h @ 393:e7a494bdd956
removed Messages/MessageType.h
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 09 Nov 2018 18:30:30 +0100 |
parents | b4abaeb783b1 |
children | b70e9be013e4 |
comparison
equal
deleted
inserted
replaced
392:d87fe075d31b | 393:e7a494bdd956 |
---|---|
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include "MessageBroker.h" | 24 #include "MessageBroker.h" |
25 #include "IMessage.h" | 25 #include "IMessage.h" |
26 #include <set> | |
27 #include <assert.h> | |
28 | 26 |
29 namespace OrthancStone { | 27 namespace OrthancStone |
30 | 28 { |
31 class IObservable; | |
32 | |
33 class IObserver : public boost::noncopyable | 29 class IObserver : public boost::noncopyable |
34 { | 30 { |
35 protected: | 31 private: |
36 MessageBroker& broker_; | 32 MessageBroker& broker_; |
37 | 33 |
38 public: | 34 public: |
39 IObserver(MessageBroker& broker) | 35 IObserver(MessageBroker& broker) : |
40 : broker_(broker) | 36 broker_(broker) |
41 { | 37 { |
42 broker_.Register(*this); | 38 broker_.Register(*this); |
43 } | 39 } |
44 | 40 |
45 virtual ~IObserver() | 41 virtual ~IObserver() |
46 { | 42 { |
47 broker_.Unregister(*this); | 43 broker_.Unregister(*this); |
48 } | 44 } |
45 | |
46 MessageBroker& GetBroker() const | |
47 { | |
48 return broker_; | |
49 } | |
49 }; | 50 }; |
50 | |
51 } | 51 } |