Merge "Ensure BaseHandle class move noexcept (core public-api)" into devel/master
[platform/core/uifw/dali-core.git] / dali / public-api / object / property-notification.h
index a340049..7772336 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_PROPERTY_NOTIFICATION_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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,8 +20,8 @@
 
 // INTERNAL INCLUDES
 #include <dali/public-api/object/base-handle.h>
-#include <dali/public-api/object/property-notification-declarations.h>
 #include <dali/public-api/object/property-conditions.h>
+#include <dali/public-api/object/property-notification-declarations.h>
 #include <dali/public-api/object/property.h>
 
 namespace Dali
@@ -52,14 +52,13 @@ public:
    */
   enum NotifyMode
   {
-    Disabled,                             ///< Don't notify, regardless of result of Condition @SINCE_1_0.0
-    NotifyOnTrue,                         ///< Notify whenever condition changes from false to true. @SINCE_1_0.0
-    NotifyOnFalse,                        ///< Notify whenever condition changes from true to false. @SINCE_1_0.0
-    NotifyOnChanged                       ///< Notify whenever condition changes (false to true, and true to false) @SINCE_1_0.0
+    DISABLED,         ///< Don't notify, regardless of result of Condition @SINCE_1_9.28
+    NOTIFY_ON_TRUE,   ///< Notify whenever condition changes from false to true. @SINCE_1_9.28
+    NOTIFY_ON_FALSE,  ///< Notify whenever condition changes from true to false. @SINCE_1_9.28
+    NOTIFY_ON_CHANGED ///< Notify whenever condition changes (false to true, and true to false) @SINCE_1_9.28
   };
 
 public:
-
   /**
    * @brief Creates an uninitialized PropertyNotification; this can be initialized with PropertyNotification::New().
    *
@@ -79,7 +78,7 @@ public:
    * @param[in] handle to An object
    * @return handle to a PropertyNotification object or an uninitialized handle
    */
-  static PropertyNotification DownCast( BaseHandle handle );
+  static PropertyNotification DownCast(BaseHandle handle);
 
   /**
    * @brief Destructor.
@@ -107,6 +106,23 @@ public:
   PropertyNotification& operator=(const PropertyNotification& rhs);
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs A reference to the moved handle
+   */
+  PropertyNotification(PropertyNotification&& rhs) noexcept;
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  PropertyNotification& operator=(PropertyNotification&& rhs) noexcept;
+
+  /**
    * @brief Gets the condition of this notification.
    *
    * @SINCE_1_0.0
@@ -145,9 +161,9 @@ public:
    * notification should respond to the result of a condition.
    *
    * @SINCE_1_0.0
-   * @param[in] mode Notification mode (Default is PropertyNotification::NotifyOnTrue)
+   * @param[in] mode Notification mode (Default is PropertyNotification::NOTIFY_ON_TRUE)
    */
-  void SetNotifyMode( NotifyMode mode );
+  void SetNotifyMode(NotifyMode mode);
 
   /**
    * @brief Retrieves the current Notification mode.
@@ -159,7 +175,7 @@ public:
 
   /**
    * @brief Gets the result of the last condition check that caused a signal emit,
-   * useful when using NotifyOnChanged mode and need to know what it changed to.
+   * useful when using NOTIFY_ON_CHANGED mode and need to know what it changed to.
    *
    * @SINCE_1_0.0
    * @return whether condition result that triggered last emit was true or false
@@ -175,7 +191,6 @@ public:
   PropertyNotifySignalType& NotifySignal();
 
 public: // Not intended for use by Application developers
-
   /// @cond internal
   /**
    * @brief This constructor is used by Dali New() methods.