Dali 3D User Interface Engine
List of all members | Public Types | Public Member Functions | Private Attributes
Dali::Internal::MessageDoubleBuffered1< T, P > Class Template Reference

Templated message which calls a member function of an object. More...

#include <message.h>

Inheritance diagram for Dali::Internal::MessageDoubleBuffered1< T, P >:
Inheritance graph
[legend]
Collaboration diagram for Dali::Internal::MessageDoubleBuffered1< T, P >:
Collaboration graph
[legend]

Public Types

typedef void(T::* MemberFunction )(BufferIndex, typename ParameterType< P >::PassingType)
 

Public Member Functions

 MessageDoubleBuffered1 (const T *obj, MemberFunction member, typename ParameterType< P >::PassingType p)
 Create a message. More...
 
virtual ~MessageDoubleBuffered1 ()
 Virtual destructor. More...
 
virtual void Process (BufferIndex bufferIndex)
 Called to process the message. More...
 
- Public Member Functions inherited from Dali::Internal::MessageBase
 MessageBase ()
 Construct the message base. More...
 
virtual ~MessageBase ()
 Virtual destructor. More...
 

Private Attributes

T * object
 
MemberFunction memberFunction
 
ParameterType< P >::HolderType param
 

Detailed Description

template<typename T, typename P>
class Dali::Internal::MessageDoubleBuffered1< T, P >

Templated message which calls a member function of an object.

This overload passes a value-type to set a double-buffered property. Template parameters need to match the MemberFunction! The message will contain copy of the value (in case of & or const&)

Definition at line 602 of file message.h.

Member Typedef Documentation

template<typename T , typename P >
typedef void(T::* Dali::Internal::MessageDoubleBuffered1< T, P >::MemberFunction)(BufferIndex, typename ParameterType< P >::PassingType)

Definition at line 606 of file message.h.

Constructor & Destructor Documentation

template<typename T , typename P >
Dali::Internal::MessageDoubleBuffered1< T, P >::MessageDoubleBuffered1 ( const T *  obj,
MemberFunction  member,
typename ParameterType< P >::PassingType  p 
)
inline

Create a message.

Note
The object is expected to be const in the thread which sends this message. However it can be modified when Process() is called in a different thread.
Parameters
[in]objThe object.
[in]memberThe member function of the object.
[in]pThe second parameter to pass.

Definition at line 618 of file message.h.

template<typename T , typename P >
virtual Dali::Internal::MessageDoubleBuffered1< T, P >::~MessageDoubleBuffered1 ( )
inlinevirtual

Virtual destructor.

Definition at line 631 of file message.h.

Member Function Documentation

template<typename T , typename P >
virtual void Dali::Internal::MessageDoubleBuffered1< T, P >::Process ( BufferIndex  bufferIndex)
inlinevirtual

Called to process the message.

Parameters
[in]bufferIndexThe current update/render buffer index (depending on which thread processes the message).

Implements Dali::Internal::MessageBase.

Definition at line 638 of file message.h.

References DALI_ASSERT_DEBUG, Dali::Internal::MessageDoubleBuffered1< T, P >::memberFunction, and Dali::Internal::MessageDoubleBuffered1< T, P >::param.

Member Data Documentation

template<typename T , typename P >
MemberFunction Dali::Internal::MessageDoubleBuffered1< T, P >::memberFunction
private

Definition at line 649 of file message.h.

Referenced by Dali::Internal::MessageDoubleBuffered1< T, P >::Process().

template<typename T , typename P >
T* Dali::Internal::MessageDoubleBuffered1< T, P >::object
private

Definition at line 648 of file message.h.

template<typename T , typename P >
ParameterType< P >::HolderType Dali::Internal::MessageDoubleBuffered1< T, P >::param
private

Definition at line 650 of file message.h.

Referenced by Dali::Internal::MessageDoubleBuffered1< T, P >::Process().


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