X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-vector-image%2Fvector-animation-manager.h;h=7fbc3ca1af8ee8498c17c839deef2d54ffe7e6ad;hp=510c07e6cc891b7ec3a67954ea0fa948896ea6c9;hb=446d6a921c670c4c56aeaa4fec6415f6e6262b0a;hpb=5cefe49bcc101e10e8a10acb546d8ea2587cad31 diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.h b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.h index 510c07e..7fbc3ca 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-manager.h @@ -43,6 +43,10 @@ class VectorAnimationThread; class VectorAnimationManager: public Integration::Processor { public: + struct LifecycleObserver + { + virtual void VectorAnimationManagerDestroyed() = 0; + }; /** * @brief Constructor. @@ -55,6 +59,18 @@ public: ~VectorAnimationManager() override; /** + * Add a lifecycle observer + * @param[in] observer The object watching this one + */ + void AddObserver( LifecycleObserver& observer ); + + /** + * Remove a lifecycle observer + * @param[in] observer The object watching this one + */ + void RemoveObserver( LifecycleObserver& observer ); + + /** * Get the vector animation thread. * @return A raw pointer pointing to the vector animation thread. */ @@ -93,6 +109,7 @@ private: private: std::vector< CallbackBase* > mEventCallbacks; + std::vector mLifecycleObservers; std::unique_ptr< VectorAnimationThread > mVectorAnimationThread; bool mProcessorRegistered; };