Mercurial > hg > orthanc-stone
comparison Framework/Messages/MessageForwarder.h @ 1060:e146743f6cdc broker
removing file MessageBroker.h
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 11 Oct 2019 17:20:41 +0200 |
parents | a750f11892ec |
children |
comparison
equal
deleted
inserted
replaced
1059:e713f1a99861 | 1060:e146743f6cdc |
---|---|
33 | 33 |
34 class IMessageForwarder : public IObserver | 34 class IMessageForwarder : public IObserver |
35 { | 35 { |
36 IObservable& emitter_; | 36 IObservable& emitter_; |
37 public: | 37 public: |
38 IMessageForwarder(MessageBroker& broker, IObservable& emitter) | 38 IMessageForwarder(IObservable& emitter) |
39 : IObserver(broker), | 39 : emitter_(emitter) |
40 emitter_(emitter) | |
41 {} | 40 {} |
42 virtual ~IMessageForwarder() {} | 41 virtual ~IMessageForwarder() {} |
43 | 42 |
44 protected: | 43 protected: |
45 void ForwardMessageInternal(const IMessage& message); | 44 void ForwardMessageInternal(const IMessage& message); |
66 */ | 65 */ |
67 template<typename TMessage> | 66 template<typename TMessage> |
68 class MessageForwarder : public IMessageForwarder, public Callable<MessageForwarder<TMessage>, TMessage> | 67 class MessageForwarder : public IMessageForwarder, public Callable<MessageForwarder<TMessage>, TMessage> |
69 { | 68 { |
70 public: | 69 public: |
71 MessageForwarder(MessageBroker& broker, | 70 MessageForwarder(IObservable& emitter // the object that will emit the messages to forward |
72 IObservable& emitter // the object that will emit the messages to forward | |
73 ) | 71 ) |
74 : IMessageForwarder(broker, emitter), | 72 : IMessageForwarder(emitter), |
75 Callable<MessageForwarder<TMessage>, TMessage>(*this, &MessageForwarder::ForwardMessage) | 73 Callable<MessageForwarder<TMessage>, TMessage>(*this, &MessageForwarder::ForwardMessage) |
76 { | 74 { |
77 RegisterForwarderInEmitter(); | 75 RegisterForwarderInEmitter(); |
78 } | 76 } |
79 | 77 |