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 }