#define __DALI_CALLBACK_H__
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 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 Dali
{
/**
- * @addtogroup dali-core-signals
+ * @addtogroup dali_core_signals
* @{
*/
/**
* @brief Callback base class to hold the data for callback function and member function calls.
+ * @SINCE_1_0.0
*/
-class DALI_IMPORT_API CallbackBase
+class DALI_CORE_API CallbackBase
{
public:
/**
- * @brief Default constructor
+ * @brief Default constructor.
+ * @SINCE_1_0.0
*/
CallbackBase();
/**
- * @brief Destructor
+ * @brief Destructor.
+ * @SINCE_1_0.0
*/
~CallbackBase();
/**
* @brief Resets the object pointer so that we know not to call methods of this object any more.
+ * @SINCE_1_0.0
*/
void Reset();
/**
- * @brief Function to call the function or member function dispatcher
+ * @brief Function to call the function or member function dispatcher.
*
- * @param[in] callback The callback to call.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
*/
static void Execute( CallbackBase& callback )
{
/**
* @brief Function to call the function or member function dispatcher.
*
- * @param[in] callback The callback to call.
- * @return value from the function
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @return The value from the function
*/
template< typename R >
static R ExecuteReturn( CallbackBase& callback )
/**
* @brief Function to call the function or member function dispatcher.
*
- * This function template gets instantiated at the call site
- * @param[in] callback The callback to call.
- * @param[in] param1 The first parameter to pass into the function.
+ * This function template gets instantiated at the call site.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @param[in] param1 The first parameter to pass into the function
*/
template< typename P1 >
static void Execute( CallbackBase& callback, P1 param1 )
/**
* @brief Function to call the function or member function dispatcher.
*
- * This function template gets instantiated at the call site
- * @param[in] callback The callback to call.
- * @param[in] param1 The first parameter to pass into the function.
- * @return the value from the function
+ * This function template gets instantiated at the call site.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @param[in] param1 The first parameter to pass into the function
+ * @return The value from the function
*/
template< typename R, typename P1 >
static R ExecuteReturn( CallbackBase& callback, P1 param1 )
* @brief Function to call the function or member function dispatcher.
*
* This function template gets instantiated at the call site.
- * @param[in] callback The callback to call.
- * @param[in] param1 The first parameter to pass into the function.
- * @param[in] param2 The second parameter to pass into the function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @param[in] param1 The first parameter to pass into the function
+ * @param[in] param2 The second parameter to pass into the function
*/
template< typename P1, typename P2 >
static void Execute( CallbackBase& callback, P1 param1, P2 param2 )
/**
* @brief Function to call the function or member function dispatcher.
*
- * This function template gets instantiated at the call site
- * @param[in] callback The callback to call.
- * @param[in] param1 The first parameter to pass into the function.
- * @param[in] param2 The second parameter to pass into the function.
+ * This function template gets instantiated at the call site.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @param[in] param1 The first parameter to pass into the function
+ * @param[in] param2 The second parameter to pass into the function
* @return The return value from the function
*/
template< typename R, typename P1, typename P2 >
* @brief Function to call the function or member function dispatcher.
*
* This function template gets instantiated at the call site.
- * @param[in] callback The callback to call.
- * @param[in] param1 The first parameter to pass into the function.
- * @param[in] param2 The second parameter to pass into the function.
- * @param[in] param3 The third parameter to pass into the function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @param[in] param1 The first parameter to pass into the function
+ * @param[in] param2 The second parameter to pass into the function
+ * @param[in] param3 The third parameter to pass into the function
*/
template< typename P1, typename P2, typename P3 >
static void Execute( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
/**
* @brief Function to call the function or member function dispatcher.
*
- * This function template gets instantiated at the call site
- * @param[in] callback The callback to call.
- * @param[in] param1 The first parameter to pass into the function.
- * @param[in] param2 The second parameter to pass into the function.
- * @param[in] param3 The third parameter to pass into the function.
+ * This function template gets instantiated at the call site.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback to call
+ * @param[in] param1 The first parameter to pass into the function
+ * @param[in] param2 The second parameter to pass into the function
+ * @param[in] param3 The third parameter to pass into the function
* @return The return value from the function
*/
template< typename R, typename P1, typename P2, typename P3 >
protected: // Constructors for deriving classes
/**
- * @brief Function with static linkage
+ * @brief Function with static linkage.
+ * @SINCE_1_0.0
*/
typedef void(*Function)(void);
/**
- * @brief Member function
+ * @brief Member function.
+ * @SINCE_1_0.0
*/
typedef void (CallbackBase::*MemberFunction)( void );
/**
- * @brief Used to call the correct member function
+ * @brief Used to call the correct member function.
+ * @SINCE_1_0.0
*/
typedef void (*Dispatcher)( CallbackBase& base );
/**
- * @brief Used to destroy mObjectPointer (NULL if not mObjectPointer is not owned)
+ * @brief Used to destroy mObjectPointer (NULL if not mObjectPointer is not owned).
+ * @SINCE_1_0.0
*/
typedef void(*Destructor)(void* object);
/**
* @brief Copy constructor operator not declared.
+ * @SINCE_1_0.0
+ * @param[in] rhs Handle to an object
*/
CallbackBase( const CallbackBase& rhs );
+
/**
- * @brief assignment operator not declared.
+ * @brief Assignment operator not declared.
+ * @SINCE_1_0.0
+ * @param[in] rhs Handle to an object
+ * @return A reference to this
*/
- const CallbackBase& operator=( const CallbackBase& rhs );
+ CallbackBase& operator=( const CallbackBase& rhs );
/**
* @brief Constructor for function with static linkage.
*
- * @param[in] function The function to call.
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
*/
CallbackBase( Function function );
/**
* @brief Constructor for member function.
*
- * @param[in] object The object to call (not owned).
- * @param[in] function The member function of the object.
- * @param[in] dispatcher Used to call the actual object.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call (not owned)
+ * @param[in] function The member function of the object
+ * @param[in] dispatcher Used to call the actual object
*/
CallbackBase( void* object, MemberFunction function, Dispatcher dispatcher );
/**
* @brief Constructor for member function.
*
- * @param[in] object The object to call (owned).
- * @param[in] function The member function of the object.
- * @param dispatcher Used to call the actual object.
- * @param destructor Used to delete the owned object.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call (owned)
+ * @param[in] function The member function of the object
+ * @param dispatcher Used to call the actual object
+ * @param destructor Used to delete the owned object
*/
CallbackBase( void* object, MemberFunction function, Dispatcher dispatcher, Destructor destructor );
public: // Data for deriving classes & Dispatchers
/**
- * @brief struct to hold the extra data needed for member functions.
+ * @brief Struct to hold the extra data needed for member functions.
+ * @SINCE_1_0.0
*/
struct Impl
{
- Impl(); ///< Default constructor
+ Impl(); ///< Default constructor @SINCE_1_0.0
void* mObjectPointer; ///< Object whose member function will be called. Not owned if mDestructorDispatcher is NULL.
Dispatcher mMemberFunctionDispatcher; ///< Dispatcher for member functions
};
/**
- * @brief Non-member equality operator
+ * @brief Non-member equality operator.
+ * @SINCE_1_0.0
+ * @param[in] lhs A reference to compare
+ * @param[in] rhs A reference to compare to
+ * @return True if lhs is same as rhs
*/
bool operator==( const CallbackBase& lhs, const CallbackBase& rhs );
/**
* @brief Dispatcher to delete an object.
+ * @SINCE_1_0.0
*/
template< class T >
struct Destroyer
{
/**
* @brief Dispatcher to delete an object.
+ * @SINCE_1_0.0
+ * @param[in] object An object to delete
*/
static void Delete( void* object )
{
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T >
struct Dispatcher0
{
/**
- * @brief Call an actual member function.
+ * @brief Calls an actual member function.
*
- * @param[in] callback The callback information.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
*/
static void Dispatch( CallbackBase& callback )
{
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename P1 >
struct Dispatcher1
{
/**
- * @brief Call an actual member function.
+ * @brief Calls an actual member function.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1 )
{
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2 >
struct Dispatcher2
/**
* @brief Call an actual member function.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1, P2 param2 )
{
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2, typename P3 >
struct Dispatcher3
/**
* @brief Call an actual member function.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
- * @param[in] param3 The third parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
+ * @param[in] param3 The third parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
{
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename R >
struct DispatcherReturn0
{
/**
- * @brief Call an actual member function.
+ * @brief Calls an actual member function.
*
- * @param[in] callback The callback information.
- * @return the value.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @return The value
*/
static R Dispatch( CallbackBase& callback )
{
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1 >
struct DispatcherReturn1
{
/**
- * @brief Call an actual member function.
+ * @brief Calls an actual member function.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1 )
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1, typename P2 >
struct DispatcherReturn2
{
/**
- * @brief Call an actual member function.
+ * @brief Calls an actual member function.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1, P2 param2 )
/**
* @brief Dispatcher to call the actual member function.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1, typename P2, typename P3 >
struct DispatcherReturn3
{
/**
- * @brief Call an actual member function.
+ * @brief Calls an actual member function.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
- * @param[in] param3 The third parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
+ * @param[in] param3 The third parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T >
struct FunctorDispatcher0
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
*/
static void Dispatch( CallbackBase& callback )
{
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename P1 >
struct FunctorDispatcher1
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
* @param[in] param1 The first parameter to pass to the real member function.
*/
static void Dispatch( CallbackBase& callback, P1 param1 )
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2 >
struct FunctorDispatcher2
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1, P2 param2 )
{
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2, typename P3 >
struct FunctorDispatcher3
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
- * @param[in] param3 The third parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
+ * @param[in] param3 The third parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
{
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename R >
struct FunctorDispatcherReturn0
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @return the value.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @return The value
*/
static R Dispatch( CallbackBase& callback )
{
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1 >
struct FunctorDispatcherReturn1
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1 )
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1, typename P2 >
struct FunctorDispatcherReturn2
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1, P2 param2 )
/**
* @brief Dispatcher to call a functor.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1, typename P2, typename P3 >
struct FunctorDispatcherReturn3
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
- * @param[in] param3 The third parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
+ * @param[in] param3 The third parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
/**
* @brief Dispatcher to call a functor.
+ *
* This variant calls a specific void() member function.
+ * @SINCE_1_0.0
*/
template< class T >
struct VoidFunctorDispatcher0
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
*/
static void Dispatch( CallbackBase& callback )
{
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, ignoring any signal parameters
+ * This variant calls a void() member, ignoring any signal parameters.
+ * @SINCE_1_0.0
*/
template< class T, typename P1 >
struct VoidFunctorDispatcher1
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1 )
{
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, ignoring any signal parameters
+ * This variant calls a void() member, ignoring any signal parameters.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2 >
struct VoidFunctorDispatcher2
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1, P2 param2 )
{
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, ignoring any signal parameters
+ * This variant calls a void() member, ignoring any signal parameters.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2, typename P3 >
struct VoidFunctorDispatcher3
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
- * @param[in] param3 The third parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
+ * @param[in] param3 The third parameter to pass to the real member function
*/
static void Dispatch( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
{
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, and returns a default-constructed value
+ * This variant calls a void() member, and returns a default-constructed value.
+ * @SINCE_1_0.0
*/
template< class T, typename R >
struct VoidFunctorDispatcherReturn0
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @return the value.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @return The value
*/
static R Dispatch( CallbackBase& callback )
{
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, and returns a default-constructed value
+ * This variant calls a void() member, and returns a default-constructed value.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1 >
struct VoidFunctorDispatcherReturn1
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1 )
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, and returns a default-constructed value
+ * This variant calls a void() member, and returns a default-constructed value.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1, typename P2 >
struct VoidFunctorDispatcherReturn2
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1, P2 param2 )
/**
* @brief Dispatcher to call a functor.
*
- * This variant calls a void() member, and returns a default-constructed value
+ * This variant calls a void() member, and returns a default-constructed value.
+ * @SINCE_1_0.0
*/
template< class T, typename R, typename P1, typename P2, typename P3 >
struct VoidFunctorDispatcherReturn3
{
/**
- * @brief Call a function object.
+ * @brief Calls a function object.
*
- * @param[in] callback The callback information.
- * @param[in] param1 The first parameter to pass to the real member function.
- * @param[in] param2 The second parameter to pass to the real member function.
- * @param[in] param3 The third parameter to pass to the real member function.
+ * @SINCE_1_0.0
+ * @param[in] callback The callback information
+ * @param[in] param1 The first parameter to pass to the real member function
+ * @param[in] param2 The second parameter to pass to the real member function
+ * @param[in] param3 The third parameter to pass to the real member function
* @return The return value from the function
*/
static R Dispatch( CallbackBase& callback, P1 param1, P2 param2, P3 param3 )
/**
* @brief Thin template to provide type safety for member function callbacks.
*
- * version with two parameters and return value
+ * Version with two parameters and return value.
+ * @SINCE_1_0.0
*/
template< class T >
class Callback : public CallbackBase
/**
* @brief Default constructor.
*
+ * @SINCE_1_0.0
*/
Callback()
: CallbackBase()
* @brief Constructor for member function.
*
* Copies the function object.
- * @param[in] object The object to call.
- * @param[in] memberFunction The member function of the object.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] memberFunction The member function of the object
*/
Callback( T* object, void(T::*memberFunction)(void) )
: CallbackBase( object,
/**
* @brief Specializations for static function callbacks.
+ * @SINCE_1_0.0
*/
class CallbackFunction : public CallbackBase
{
/**
* @brief Default constructor.
+ * @SINCE_1_0.0
*/
CallbackFunction()
: CallbackBase()
/**
* @brief Constructors for functions with static linkage.
*
- * @param[in] function The function to call.
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
*/
CallbackFunction( void(*function)() )
: CallbackBase( reinterpret_cast< CallbackBase::Function >( function ) )
/**
* @brief Specializations for function object callbacks.
+ * @SINCE_1_0.0
*/
template< class T >
class CallbackFunctor0 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctor0( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
class CallbackFunctorDelegate0 : public CallbackBase
{
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object A newly allocated object (ownership is transferred).
+ * @SINCE_1_0.0
+ * @param[in] object A newly allocated object (ownership is transferred)
*/
CallbackFunctorDelegate0( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
/**
* @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename P1 >
class CallbackFunctor1 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctor1( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
/**
* @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename P1 >
class CallbackFunctorDelegate1 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegate1( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
};
/**
- * @brief Function object callback for matching callbacks to signal signature
+ * @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2 >
class CallbackFunctor2 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctor2( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename P1, typename P2 >
class CallbackFunctorDelegate2 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegate2( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
};
/**
- * @brief Function object callback for matching callbacks to signal signature
+ * @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2, typename P3 >
class CallbackFunctor3 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctor3( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename P1, typename P2, typename P3 >
class CallbackFunctorDelegate3 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegate3( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
};
/**
- * @brief Function object callback for matching callbacks to signal signature
+ * @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename R >
class CallbackFunctorReturn0 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorReturn0( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename R >
class CallbackFunctorDelegateReturn0 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegateReturn0( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
};
/**
- * @brief Function object callback for matching callbacks to signal signature
+ * @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename R >
class CallbackFunctorReturn1 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorReturn1( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename P1, typename R >
class CallbackFunctorDelegateReturn1 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegateReturn1( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
};
/**
- * @brief Function object callback for matching callbacks to signal signature
+ * @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2, typename R >
class CallbackFunctorReturn2 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorReturn2( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename P1, typename P2, typename R >
class CallbackFunctorDelegateReturn2 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegateReturn2( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
};
/**
- * @brief Function object callback for matching callbacks to signal signature
+ * @brief Function object callback for matching callbacks to signal signature.
+ * @SINCE_1_0.0
*/
template< class T, typename P1, typename P2, typename P3, typename R >
class CallbackFunctorReturn3 : public CallbackBase
/**
* @brief Constructor which copies a function object.
*
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorReturn3( const T& object )
: CallbackBase( reinterpret_cast< void* >( new T( object ) ), // copy the object
};
/**
- * @brief Function object callback for connecting void() methods
+ * @brief Function object callback for connecting void() methods.
+ * @SINCE_1_0.0
*/
template< typename P1, typename P2, typename P3, typename R >
class CallbackFunctorDelegateReturn3 : public CallbackBase
* @brief Constructor which copies a function object.
*
* This variant calls a void() member, ignoring any signal parameters.
- * @param[in] object The object to copy.
+ * @SINCE_1_0.0
+ * @param[in] object The object to copy
*/
CallbackFunctorDelegateReturn3( FunctorDelegate* object )
: CallbackBase( reinterpret_cast< void* >( object ), // transfer ownership
/**
* @brief Creates a callback from a C function or static member function with no parameters.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
inline CallbackBase* MakeCallback( void(*function)(void) )
{
/**
* @brief Creates a callback from a C function or static member function with one parameter.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename P1 >
inline CallbackBase* MakeCallback( void(*function)(P1) )
/**
* @brief Creates a callback from a C function or static member function with no parameters and a return type.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename R >
inline CallbackBase* MakeCallback( R(*function)(void) )
/**
* @brief Creates a callback from a C function or static member function with one parameter and a return type.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename R, typename P1 >
inline CallbackBase* MakeCallback( R(*function)(P1) )
/**
* @brief Creates a callback from a C function or static member function with two parameters.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename P1, typename P2 >
inline CallbackBase* MakeCallback( void(*function)(P1,P2) )
/**
* @brief Creates a callback from a C function or static member function with two parameters and a return type.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename R, typename P1, typename P2 >
inline CallbackBase* MakeCallback( R(*function)(P1,P2) )
/**
* @brief Creates a callback from a C function or static member function with three parameters.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename P1, typename P2, typename P3 >
inline CallbackBase* MakeCallback( void(*function)(P1,P2,P3) )
/**
* @brief Creates a callback from a C function or static member function with three parameters and a return type.
*
- * @param[in] function The function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * @SINCE_1_0.0
+ * @param[in] function The function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< typename R, typename P1, typename P2, typename P3 >
inline CallbackBase* MakeCallback( R(*function)(P1,P2,P3) )
/**
* @brief Creates a callback from a class member function with no parameters.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T >
inline CallbackBase* MakeCallback( T* object, void(T::*function)(void) )
/**
* @brief Creates a callback from a class member function with one parameter.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename P1 >
inline CallbackBase* MakeCallback( T* object, void(T::*function)(P1) )
/**
* @brief Creates a callback from a class member function with two parameters.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename P1, typename P2 >
inline CallbackBase* MakeCallback( T* object, void(T::*function)(P1,P2) )
/**
* @brief Creates a callback from a class member function with three parameters.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename P1, typename P2, typename P3 >
inline CallbackBase* MakeCallback( T* object, void(T::*function)(P1,P2,P3) )
/**
* @brief Creates a callback from a class member function with no parameters and a return type.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename R >
inline CallbackBase* MakeCallback( T* object, R(T::*function)() )
/**
* @brief Creates a callback from a class member function with one parameter and a return type.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename P1, typename R >
inline CallbackBase* MakeCallback( T* object, R(T::*function)(P1) )
/**
* @brief Creates a callback from a class member function with two parameters and a return type.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename P1, typename P2, typename R >
inline CallbackBase* MakeCallback( T* object, R(T::*function)(P1,P2) )
/**
* @brief Creates a callback from a class member function with three parameters and a return type.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, typename P1, typename P2, typename P3, typename R >
inline CallbackBase* MakeCallback( T* object, R(T::*function)(P1,P2,P3) )
/**
* @brief Creates a callback from a class's parent member function with no parameters.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, class Base >
inline CallbackBase* MakeCallback( T* object, void(Base::*function)(void) )
/**
* @brief Creates a callback from a class's parent member function with no parameters.
*
- * requires the function to be member of the same class
- * @param[in] object The object to call.
- * @param[in] function The member function to call.
- * @return a newly allocated Callback object, ownership transferred to caller
+ * Requires the function to be member of the same class.
+ * @SINCE_1_0.0
+ * @param[in] object The object to call
+ * @param[in] function The member function to call
+ * @return A newly allocated Callback object, ownership transferred to caller
*/
template< class T, class Base >
inline CallbackBase* MakeCallback( T& object, void(Base::*function)(void) )