comparison Framework/Viewport/WebAssemblyViewport.h @ 1328:fd616c4a5904 broker

Added mechanism to prevent callbacks from being sent on dead WebAssemblyViewport objects
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 27 Mar 2020 12:54:27 +0100
parents cbfdba08e039
children ab81ee8fce1f
comparison
equal deleted inserted replaced
1327:4f8db2d202c8 1328:fd616c4a5904
34 #include <emscripten.h> 34 #include <emscripten.h>
35 #include <emscripten/html5.h> 35 #include <emscripten/html5.h>
36 36
37 namespace OrthancStone 37 namespace OrthancStone
38 { 38 {
39 class WebAssemblyViewport : public IViewport 39 class WebAssemblyViewport : public IViewport,
40 public boost::enable_shared_from_this<WebAssemblyViewport>
41
40 { 42 {
41 private: 43 private:
42 class WasmLock; 44 class WasmLock;
43 45
44 std::string shortCanvasId_; 46 std::string shortCanvasId_;
82 const Scene2D* scene, 84 const Scene2D* scene,
83 boost::weak_ptr<UndoStack> undoStackW); 85 boost::weak_ptr<UndoStack> undoStackW);
84 86
85 virtual ILock* Lock() ORTHANC_OVERRIDE; 87 virtual ILock* Lock() ORTHANC_OVERRIDE;
86 88
89 /**
90 This method takes ownership
91 */
87 void AcquireInteractor(IViewportInteractor* interactor); 92 void AcquireInteractor(IViewportInteractor* interactor);
88 93
89 const std::string& GetShortCanvasId() const 94 const std::string& GetShortCanvasId() const
90 { 95 {
91 return shortCanvasId_; 96 return shortCanvasId_;