Use modern construct 'using' instead of typedef.
[platform/core/uifw/dali-core.git] / dali / internal / update / common / scene-graph-property-notification.h
index 75b2472..943e51b 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H
+#define DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
@@ -20,9 +20,9 @@
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/property-notification.h>
+#include <dali/devel-api/common/owner-container.h>
 #include <dali/internal/event/common/property-notification-impl.h>
 #include <dali/internal/update/common/property-base.h>
-#include <dali/internal/common/owner-container.h>
 
 namespace Dali
 {
@@ -30,7 +30,7 @@ namespace Dali
 namespace Internal
 {
 
-class ProxyObject;
+class Object;
 class PropertyNotification;
 
 namespace SceneGraph
@@ -38,10 +38,10 @@ namespace SceneGraph
 
 class PropertyNotification;
 
-typedef OwnerContainer< PropertyNotification* > PropertyNotificationContainer;
-typedef PropertyNotificationContainer::Iterator PropertyNotificationIter;
-typedef PropertyNotificationContainer::ConstIterator PropertyNotificationConstIter;
-typedef bool(*ConditionFunction)(const Dali::PropertyInput& value, Dali::Internal::PropertyNotification::RawArgumentContainer& args);
+using PropertyNotificationContainer = OwnerContainer<PropertyNotification*>;
+using PropertyNotificationIter      = PropertyNotificationContainer::Iterator;
+using PropertyNotificationConstIter = PropertyNotificationContainer::ConstIterator;
+using ConditionFunction             = bool ( * )( const Dali::PropertyInput&, Dali::Internal::PropertyNotification::RawArgumentContainer& );
 
 /**
  * PropertyNotifications are used to inspect properties of scene graph objects, as part of a scene
@@ -50,30 +50,31 @@ typedef bool(*ConditionFunction)(const Dali::PropertyInput& value, Dali::Interna
 class PropertyNotification
 {
 public:
-
-  typedef Dali::PropertyNotification::NotifyMode NotifyMode;
-  typedef Dali::Internal::PropertyNotification::ConditionType ConditionType;
-  typedef Dali::Internal::PropertyNotification::RawArgumentContainer RawArgumentContainer;
-  typedef const void *(*GetPropertyFunction)( const SceneGraph::PropertyBase*, int );
+  using NotifyMode           = Dali::PropertyNotification::NotifyMode;
+  using ConditionType        = Dali::Internal::PropertyNotification::ConditionType;
+  using RawArgumentContainer = Dali::Internal::PropertyNotification::RawArgumentContainer;
+  using GetPropertyFunction  = const void* (*)( const SceneGraph::PropertyBase*, int );
 
   /**
    * Construct a new PropertyNotification
-   * @param[in] proxy The proxy for a scene-graph object to inspect.
+   * @param[in] object The event-object for a scene-graph object to inspect.
    * @param[in] propertyIndex The index of a property provided by the object.
    * @param[in] propertyType The type of property we're inspecting.
    * @param[in] componentIndex Index to the component of a complex property such as a Vector
    * @param[in] condition The condition type (e.g. LessThan, GreaterThan...)
    * @param[in] arguments The arguments which accompany the condition.
    * @param[in] notifyMode The notification mode setting
+   * @param[in] compare The flag of comparing the previous and current data.
    * @return A new PropertyNotification object.
    */
-  static PropertyNotification* New(ProxyObject& proxy,
+  static PropertyNotification* New(Object& object,
                                    Property::Index propertyIndex,
                                    Property::Type propertyType,
                                    int componentIndex,
                                    ConditionType condition,
                                    RawArgumentContainer& arguments,
-                                   NotifyMode notifyMode);
+                                   NotifyMode notifyMode,
+                                   bool compare);
 
   /**
    * Virtual destructor
@@ -107,7 +108,7 @@ protected:
 
   /**
    * Construct the PropertyNotification
-   * @param[in] proxy The proxy for a scene-graph object to inspect.
+   * @param[in] object The event-object for a scene-graph object to inspect.
    * @param[in] propertyIndex The index of a property provided by the object.
    * @param[in] propertyType The type of property we're inspecting.
    * @param[in] componentIndex Index to the component of a complex property such as a Vector
@@ -115,13 +116,14 @@ protected:
    * @param[in] arguments The arguments which accompany the condition.
    * @param[in] notifyMode The notification mode setting
    */
-  PropertyNotification(ProxyObject& proxy,
+  PropertyNotification(Object& object,
                        Property::Index propertyIndex,
                        Property::Type propertyType,
                        int componentIndex,
                        ConditionType condition,
                        RawArgumentContainer& arguments,
-                       NotifyMode notifyMode);
+                       NotifyMode notifyMode,
+                       bool compare);
 
 private:
 
@@ -141,7 +143,7 @@ private:
 
 protected:
 
-  ProxyObject* mProxy;                          ///< Not owned by the property notification. Valid until ProxyDestroyed() is called.
+  Object* mObject;                              ///< Not owned by the property notification. Valid until ObjectDestroyed() is called.
   Property::Index mPropertyIndex;               ///< The index of this property.
   Property::Type mPropertyType;                 ///< The type of property this is.
   const PropertyInputImpl* mProperty;           ///< The scene graph property
@@ -159,4 +161,4 @@ protected:
 
 } // namespace Dali
 
-#endif // __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H__
+#endif // DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H