Use modern construct 'using' instead of typedef.
[platform/core/uifw/dali-core.git] / dali / public-api / signals / functor-delegate.h
index d243a02..7832173 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_FUNCTOR_DELEGATE_H__
-#define __DALI_FUNCTOR_DELEGATE_H__
+#ifndef DALI_FUNCTOR_DELEGATE_H
+#define DALI_FUNCTOR_DELEGATE_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 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 )
   {
@@ -44,13 +50,16 @@ struct FunctorDispatcher
 };
 
 /**
- * @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 )
   {
@@ -61,15 +70,17 @@ struct FunctorDestroyer
 };
 
 /**
- * @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 DALI_IMPORT_API FunctorDelegate
+class DALI_CORE_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
    */
@@ -83,11 +94,13 @@ public:
 
   /**
    * @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();
 
@@ -95,30 +108,35 @@ private:
 
   /**
    * @brief Used to call the correct function.
+   * @SINCE_1_0.0
    */
-  typedef void (*Dispatcher)( void* objectPtr );
+  using Dispatcher = void ( * )( void* );
 
   /**
    * @brief Used to destroy mObjectPointer.
+   * @SINCE_1_0.0
    */
-  typedef void(*Destructor)( void* objectPtr );
+  using Destructor = void ( * )( void* );
 
   /**
-   * @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 );
 
@@ -129,6 +147,9 @@ public: // Data for deriving classes & Dispatchers
   Destructor mDestructorDispatcher;     ///< Destructor for owned objects
 };
 
+/**
+ * @}
+ */
 } // namespace DALI
 
-#endif // __DALI_FUNCTOR_DELEGATE_H__
+#endif // DALI_FUNCTOR_DELEGATE_H