comparison Framework/Volumes/ISliceableVolume.h @ 53:c2dc924f1a63 wasm

removing threading out of the framework
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 27 Apr 2017 16:57:49 +0200
parents 28956ed68280
children 81f73efd81a1
comparison
equal deleted inserted replaced
52:37e504582af6 53:c2dc924f1a63
19 **/ 19 **/
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "../Toolbox/IThreadSafety.h" 24 #include <boost/noncopyable.hpp>
25 25
26 namespace OrthancStone 26 namespace OrthancStone
27 { 27 {
28 class ISliceableVolume : public IThreadSafe 28 class ISliceableVolume : public boost::noncopyable
29 { 29 {
30 public: 30 public:
31 // Must be thread-safe
32 class IChangeObserver : public boost::noncopyable 31 class IChangeObserver : public boost::noncopyable
33 { 32 {
34 public: 33 public:
35 virtual ~IChangeObserver() 34 virtual ~IChangeObserver()
36 { 35 {
37 } 36 }
38 37
39 virtual void NotifyChange(const ISliceableVolume& volume) = 0; 38 virtual void NotifyChange(const ISliceableVolume& volume) = 0;
40 }; 39 };
41 40
41 virtual ~ISliceableVolume()
42 {
43 }
44
42 virtual void Register(IChangeObserver& observer) = 0; 45 virtual void Register(IChangeObserver& observer) = 0;
43 46
44 virtual void Unregister(IChangeObserver& observer) = 0; 47 virtual void Unregister(IChangeObserver& observer) = 0;
45 48
46 virtual void Start() = 0; 49 virtual void Start() = 0;