-#ifndef __DALI_INTERNAL_NOTIFICATION_MANAGER_H__
-#define __DALI_INTERNAL_NOTIFICATION_MANAGER_H__
+#ifndef DALI_INTERNAL_NOTIFICATION_MANAGER_H
+#define DALI_INTERNAL_NOTIFICATION_MANAGER_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.
namespace Internal
{
-class PropertyNotification;
+class CompleteNotificationInterface;
class MessageBase;
/**
/// 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.
*/
*/
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
} // namespace Dali
-#endif // __DALI_INTERNAL_NOTIFICATION_MANAGER_H__
+#endif // DALI_INTERNAL_NOTIFICATION_MANAGER_H