Mercurial > hg > orthanc-stone
comparison Framework/Messages/ObserverBase.h @ 1065:9d42f89b8c3c broker
improved readability
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 15 Oct 2019 14:08:15 +0200 |
parents | af4b9cba905f |
children | 05b2e71ed145 |
comparison
equal
deleted
inserted
replaced
1064:af4b9cba905f | 1065:9d42f89b8c3c |
---|---|
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include "ICallable.h" | 24 #include "ICallable.h" |
25 #include "IObserver.h" | 25 #include "IObserver.h" |
26 #include "IObservable.h" | |
26 | 27 |
27 #include <Core/OrthancException.h> | 28 #include <Core/OrthancException.h> |
28 | 29 |
29 #include <boost/enable_shared_from_this.hpp> | 30 #include <boost/enable_shared_from_this.hpp> |
30 | 31 |
52 template <typename TMessage> | 53 template <typename TMessage> |
53 ICallable* CreateCallable(void (TObserver::* MemberMethod) (const TMessage&)) | 54 ICallable* CreateCallable(void (TObserver::* MemberMethod) (const TMessage&)) |
54 { | 55 { |
55 return new Callable<TObserver, TMessage>(GetSharedObserver(), MemberMethod); | 56 return new Callable<TObserver, TMessage>(GetSharedObserver(), MemberMethod); |
56 } | 57 } |
58 | |
59 template <typename TMessage> | |
60 void Register(IObservable& observable, | |
61 void (TObserver::* MemberMethod) (const TMessage&)) | |
62 { | |
63 observable.RegisterCallable(CreateCallable(MemberMethod)); | |
64 } | |
57 }; | 65 }; |
58 } | 66 } |