DSWindow: make registerCallbackWindowDestroyed method 14/242014/1
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 21 Aug 2020 05:22:34 +0000 (14:22 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Fri, 21 Aug 2020 10:10:29 +0000 (19:10 +0900)
Change-Id: I5c2ef80a43b83956808bc9142221dfb949ffa992

src/DSWindow/DSWindow.cpp
src/DSWindow/DSWindow.h

index 8c10913..2b31ec1 100644 (file)
@@ -211,7 +211,7 @@ DSWindow::DSWindow(std::shared_ptr<DSWaylandSurface> waylandSurface)
 
 DSWindow::~DSWindow()
 {
-
+       this->__windowDestroySignal.emit(nullptr);
 }
 
 bool DSWindow::create(std::shared_ptr<DSWaylandSurface> waylandSurface)
@@ -397,4 +397,9 @@ void DSWindow::registerCallbackBufferChanged(DSObject *slot, std::function<void(
        __bufferChangedSignal.connect(slot, func);
 }
 
+void DSWindow::registerCallbackWindowDestroyed(DSObject *slot, std::function<void(void *)> func)
+{
+       __windowDestroySignal.connect(slot, func);
+}
+
 } //  namespace display_server
index 10fb3b8..eeb4a04 100644 (file)
@@ -80,6 +80,7 @@ public:
 
        void registerCallbackSizeChanged(DSObject *slot, std::function<void(std::shared_ptr<stSize>)> func);
        void registerCallbackBufferChanged(DSObject *slot, std::function<void(std::shared_ptr<IDSBuffer>)> func);
+       void registerCallbackWindowDestroyed(DSObject *slot, std::function<void(void *)> func);
 
 protected:
        //virtual bool _onFocus(void);
@@ -89,6 +90,7 @@ private:
        // signals
        DSSignal<std::shared_ptr<stSize>> __sizeChangedSignal;
        DSSignal<std::shared_ptr<IDSBuffer>> __bufferChangedSignal;
+       DSSignal<void *> __windowDestroySignal;
 };
 
 }