[dali_1.3.20] Merge branch 'devel/master'
[platform/core/uifw/dali-core.git] / dali / internal / event / common / notification-manager.h
index 00be5d3..a83efb5 100644 (file)
@@ -26,7 +26,7 @@ namespace Dali
 namespace Internal
 {
 
-class PropertyNotification;
+class CompleteNotificationInterface;
 class MessageBase;
 
 /**
@@ -50,6 +50,12 @@ public:
 /// Update side interface, can only be called from Update-thread
 
   /**
+   * Queue a scene message to an interface. This method is thread-safe.
+   * @param[in] instance to be notified about completion of the Update side event.
+   */
+  void QueueCompleteNotification( CompleteNotificationInterface* instance );
+
+  /**
    * Queue a scene message. This method is thread-safe.
    * @param[in] message A newly allocated message; NotificationManager takes ownership.
    */
@@ -73,36 +79,19 @@ public:
    */
   void ProcessMessages();
 
-  /**
-   * Retrieve the notification count; this is incremented when Notify() is called.
-   */
-  unsigned int GetNotificationCount() const;
-
 private:
 
-  struct Impl;
-  Impl* mImpl;
-};
-
-/**
- * A functor for querying the notification count.
- * This is useful for skipping duplicate operations during NotificationManager::Notify()
- */
-struct NotificationCountQuery
-{
-  NotificationCountQuery(const NotificationManager& manager)
-  : mNotificationManager(manager)
-  {
-  }
+  // Undefined
+  NotificationManager( const NotificationManager& notificationManager );
 
-  unsigned int operator()() const
-  {
-    return mNotificationManager.GetNotificationCount();
-  }
+  // Undefined
+  NotificationManager& operator=( const NotificationManager& notificationManager );
 
 private:
 
-  const NotificationManager& mNotificationManager;
+  struct Impl;
+  Impl* mImpl;
+
 };
 
 } // namespace Internal