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 }