Dali 3D User Interface Engine
List of all members | Classes | Public Member Functions | Private Member Functions | Private Attributes
Dali::Internal::NotificationManager Class Reference

Provides notifications to the event-thread regarding the changes in previous update(s). More...

#include <notification-manager.h>

Collaboration diagram for Dali::Internal::NotificationManager:
Collaboration graph
[legend]

Classes

struct  Impl
 

Public Member Functions

 NotificationManager ()
 Create an NotificationManager. More...
 
virtual ~NotificationManager ()
 Virtual destructor. More...
 
void QueueCompleteNotification (CompleteNotificationInterface *instance)
 Update side interface, can only be called from Update-thread. More...
 
void QueueMessage (MessageBase *message)
 Queue a scene message. More...
 
void UpdateCompleted ()
 Signal Notification Manager that update frame is completed so it can let event thread process the notifications. More...
 
bool MessagesToProcess ()
 Event side interface, can only be called from Update-thread. More...
 
void ProcessMessages ()
 This function is called by Core when events are processed. More...
 

Private Member Functions

 NotificationManager (const NotificationManager &notificationManager)
 
NotificationManageroperator= (const NotificationManager &notificationManager)
 

Private Attributes

ImplmImpl
 

Detailed Description

Provides notifications to the event-thread regarding the changes in previous update(s).

For example after an animation finished, or after resources were loaded.

Definition at line 36 of file notification-manager.h.

Constructor & Destructor Documentation

Dali::Internal::NotificationManager::NotificationManager ( )

Create an NotificationManager.

Owned by Core in event thread side.

Definition at line 105 of file notification-manager.cpp.

References mImpl.

Dali::Internal::NotificationManager::~NotificationManager ( )
virtual

Virtual destructor.

Definition at line 110 of file notification-manager.cpp.

References mImpl.

Dali::Internal::NotificationManager::NotificationManager ( const NotificationManager notificationManager)
private

Member Function Documentation

bool Dali::Internal::NotificationManager::MessagesToProcess ( )

Event side interface, can only be called from Update-thread.

Query whether the NotificationManager has messages to process.

Returns
True if there are messages to process.

Definition at line 146 of file notification-manager.cpp.

References mImpl, Dali::Internal::NotificationManager::Impl::queueMutex, and Dali::Internal::NotificationManager::Impl::updateCompletedInterfaceQueue.

NotificationManager& Dali::Internal::NotificationManager::operator= ( const NotificationManager notificationManager)
private
void Dali::Internal::NotificationManager::ProcessMessages ( )
void Dali::Internal::NotificationManager::QueueCompleteNotification ( CompleteNotificationInterface instance)

Update side interface, can only be called from Update-thread.

Queue a scene message to an interface. This method is thread-safe.

Parameters
[in]instanceto be notified about completion of the Update side event.

Definition at line 115 of file notification-manager.cpp.

References mImpl, Dali::Internal::NotificationManager::Impl::queueMutex, and Dali::Internal::NotificationManager::Impl::updateWorkingInterfaceQueue.

Referenced by Dali::Internal::SceneGraph::UpdateManager::Animate(), and Dali::Internal::SceneGraph::UpdateManager::Update().

Here is the caller graph for this function:

void Dali::Internal::NotificationManager::QueueMessage ( MessageBase message)

Queue a scene message.

This method is thread-safe.

Parameters
[in]messageA newly allocated message; NotificationManager takes ownership.

Definition at line 123 of file notification-manager.cpp.

References DALI_ASSERT_DEBUG, mImpl, Dali::Vector< T, IsTrivialType >::PushBack(), Dali::Internal::NotificationManager::Impl::queueMutex, and Dali::Internal::NotificationManager::Impl::updateWorkingMessageQueue.

Referenced by Dali::Internal::SceneGraph::UpdateManager::ForwardCompiledShadersToEventThread(), and Dali::Internal::SceneGraph::UpdateManager::ProcessPropertyNotifications().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::NotificationManager::UpdateCompleted ( )

Member Data Documentation

Impl* Dali::Internal::NotificationManager::mImpl
private

The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali