#define __DALI_FUNCTOR_DELEGATE_H__
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2015 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.
// INTERNAL INCLUDES
#include <dali/public-api/common/dali-common.h>
-namespace Dali DALI_IMPORT_API
+namespace Dali
{
+/**
+ * @addtogroup dali_core_signals
+ * @{
+ */
/**
- * @brief Dispatcher to call a functor
+ * @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< typename T >
struct FunctorDispatcher
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] functorPtr The functor to call.
+ * @SINCE_1_0.0
+ * @param[in] functorPtr The functor to call
*/
static void Dispatch( void* functorPtr )
{
};
/**
- * @brief Dispatcher to delete a functor object
+ * @brief Dispatcher to delete a functor object.
+ * @SINCE_1_0.0
*/
template< typename T >
struct FunctorDestroyer
{
/**
- * @brief Dispatcher to delete an object
+ * @brief Dispatcher to delete an object.
+ * @SINCE_1_0.0
+ * @param[in] functorPtr A functor object to delete
*/
static void Delete( void* functorPtr )
{
};
/**
- * @brief Used to connect a void() functor to a signal via BaseObject::SignalConnect()
+ * @brief Used to connect a void() functor to a signal via BaseObject::SignalConnect().
+ * @SINCE_1_0.0
*/
-class FunctorDelegate
+class DALI_IMPORT_API FunctorDelegate
{
public:
/**
* @brief Constructor which copies a function object.
*
+ * @SINCE_1_0.0
* @param[in] functor The functor object to copy, either a class with operator() or a C function
* @return A pointer to the new function object
*/
/**
* @brief Non-virtual destructor; not intended as a base class.
+ * @SINCE_1_0.0
*/
~FunctorDelegate();
/**
- * @brief Function to call the function or member function dispatcher
+ * @brief Function to call the function or member function dispatcher.
+ * @SINCE_1_0.0
*/
void Execute();
/**
* @brief Used to call the correct function.
+ * @SINCE_1_0.0
*/
typedef void (*Dispatcher)( void* objectPtr );
/**
* @brief Used to destroy mObjectPointer.
+ * @SINCE_1_0.0
*/
typedef void(*Destructor)( void* objectPtr );
/**
- * @brief Not defined
+ * @brief Not defined.
+ * @SINCE_1_0.0
*/
FunctorDelegate( const FunctorDelegate& rhs );
/**
- * @brief Not defined
+ * @brief Not defined.
+ * @SINCE_1_0.0
*/
const FunctorDelegate& operator=( const FunctorDelegate& rhs );
/**
* @brief Private constructor.
*
+ * @SINCE_1_0.0
* @param[in] functorPtr A newly allocated functor object (takes ownership)
- * @param dispatcher Used to call the actual function.
- * @param destructor Used to delete the owned functor object.
+ * @param dispatcher Used to call the actual function
+ * @param destructor Used to delete the owned functor object
*/
FunctorDelegate( void* functorPtr, Dispatcher dispatcher, Destructor destructor );
Destructor mDestructorDispatcher; ///< Destructor for owned objects
};
+/**
+ * @}
+ */
} // namespace DALI
#endif // __DALI_FUNCTOR_DELEGATE_H__