[dali_2.3.26] Merge branch 'devel/master'
[platform/core/uifw/dali-core.git] / dali / internal / event / common / property-notification-manager.h
index 77128dd..c6d0477 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_PROPERTY_NOTIFICATION_MANAGER_H
 
 /*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,9 @@
  */
 
 // INTERNAL INCLUDES
+#include <dali/integration-api/ordered-set.h>
 #include <dali/internal/event/common/property-notifier.h>
+#include <dali/internal/event/common/scene-graph-notifier-interface-mapper.h>
 #include <dali/public-api/common/dali-vector.h>
 
 namespace Dali
@@ -34,7 +36,7 @@ class PropertyNotification;
  * It also monitors the lifetime of PropertyNotification objects and will
  * only emit signals for PropertyNotification objects which are still valid.
  */
-class PropertyNotificationManager : public PropertyNotifier
+class PropertyNotificationManager : public PropertyNotifier, public SceneGraphNotifierInterfaceMapper<PropertyNotification>
 {
 public:
   /**
@@ -62,7 +64,7 @@ private: // private virtual overrides
   /**
    * @copydoc PropertyNotifier::NotifyProperty
    */
-  void NotifyProperty(SceneGraph::PropertyNotification* propertyNotification, bool validity) override;
+  void NotifyProperty(NotifierInterface::NotifyId notifyId, bool validity) override;
 
 private:
   /**
@@ -77,7 +79,7 @@ private:
   PropertyNotificationManager& operator=(const PropertyNotificationManager& rhs);
 
 private:
-  Dali::Vector<PropertyNotification*> mPropertyNotifications; ///< All existing PropertyNotifications (not owned)
+  Integration::OrderedSet<PropertyNotification, false> mPropertyNotifications; ///< All existing PropertyNotifications (not owned)
 };
 
 } // namespace Internal