+ if(mProcessorRegistered)
+ {
+ Adaptor::Get().UnregisterProcessor(*this, true);
+ }
+
+ for(auto observer : mLifecycleObservers)
+ {
+ observer->VectorAnimationManagerDestroyed();
+ }
+}
+
+void VectorAnimationManager::AddObserver(VectorAnimationManager::LifecycleObserver& observer)
+{
+ DALI_ASSERT_DEBUG(mLifecycleObservers.end() == std::find(mLifecycleObservers.begin(), mLifecycleObservers.end(), &observer));
+ mLifecycleObservers.push_back(&observer);
+}
+
+void VectorAnimationManager::RemoveObserver(VectorAnimationManager::LifecycleObserver& observer)
+{
+ auto iterator = std::find(mLifecycleObservers.begin(), mLifecycleObservers.end(), &observer);
+ if(iterator != mLifecycleObservers.end())