Mercurial > hg > orthanc-stone
comparison Framework/Volumes/IVolumeLoader.h @ 404:ba4ace20454e
use of MessageBroker in DicomStructureSetSlicer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Sun, 11 Nov 2018 13:02:38 +0100 |
parents | e2fe9352f240 |
children | b70e9be013e4 |
comparison
equal
deleted
inserted
replaced
403:99e31898910e | 404:ba4ace20454e |
---|---|
19 **/ | 19 **/ |
20 | 20 |
21 | 21 |
22 #pragma once | 22 #pragma once |
23 | 23 |
24 #include <boost/noncopyable.hpp> | 24 #include "../Messages/IObservable.h" |
25 | 25 |
26 namespace OrthancStone | 26 namespace OrthancStone |
27 { | 27 { |
28 class IVolumeLoader : public boost::noncopyable | 28 class IVolumeLoader : public IObservable |
29 { | 29 { |
30 public: | 30 public: |
31 class IObserver : public boost::noncopyable | 31 typedef OriginMessage<MessageType_VolumeLoader_GeometryReady, IVolumeLoader> GeometryReadyMessage; |
32 { | 32 typedef OriginMessage<MessageType_VolumeLoader_GeometryError, IVolumeLoader> GeometryErrorMessage; |
33 public: | 33 typedef OriginMessage<MessageType_VolumeLoader_ContentChanged, IVolumeLoader> ContentChangedMessage; |
34 virtual ~IObserver() | 34 |
35 { | 35 IVolumeLoader(MessageBroker& broker) : |
36 } | 36 IObservable(broker) |
37 | |
38 virtual void NotifyGeometryReady(const IVolumeLoader& loader) = 0; | |
39 | |
40 virtual void NotifyGeometryError(const IVolumeLoader& loader) = 0; | |
41 | |
42 // Triggered if the content of several slices in the loader has | |
43 // changed | |
44 virtual void NotifyContentChange(const IVolumeLoader& loader) = 0; | |
45 }; | |
46 | |
47 virtual ~IVolumeLoader() | |
48 { | 37 { |
49 } | 38 } |
50 | |
51 virtual void Register(IObserver& observer) = 0; | |
52 }; | 39 }; |
53 } | 40 } |