Enable -Wnon-virtual-dtor to avoid incorrect C++ code sneaking in
[platform/core/uifw/dali-core.git] / dali / internal / update / common / scene-graph-connection-change-propagator.h
index 37c1c9c..91b1a04 100644 (file)
@@ -48,6 +48,19 @@ public:
      * changed it's uniform map in some way.
      */
     virtual void ConnectedUniformMapChanged() = 0;
+
+    /**
+     * Inform the observer of the object that the object is about to be destroyed
+     */
+    virtual void ObservedObjectDestroyed(PropertyOwner& object){}
+
+  protected:
+
+    /**
+     * Virtual destructor, no deletion through this interface
+     */
+    virtual ~Observer() {}
+
   };
 
   /**
@@ -82,6 +95,12 @@ public:
    */
   void ConnectedUniformMapChanged();
 
+  /**
+   * Inform the observers that the object is about to be destroyed
+   * @param[in] object The connection owner
+   */
+  void Destroy( PropertyOwner& object );
+
 private:
   typedef Dali::Vector<Observer*> Observers;
   typedef Observers::Iterator ObserversIterator;