Merge "Ensure BaseHandle class move noexcept (core public-api)" into devel/master
[platform/core/uifw/dali-core.git] / dali / public-api / actors / custom-actor.h
index e8b2876..329840e 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_CUSTOM_ACTOR_H__
-#define __DALI_CUSTOM_ACTOR_H__
+#ifndef DALI_CUSTOM_ACTOR_H
+#define DALI_CUSTOM_ACTOR_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -40,10 +40,9 @@ class CustomActor;
  * The implementation of the control must be supplied; see CustomActorImpl for more details.
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API CustomActor : public Actor
+class DALI_CORE_API CustomActor : public Actor
 {
 public:
-
   /**
    * @brief Creates an uninitialized CustomActor handle.
    *
@@ -63,7 +62,7 @@ public:
    * @param[in] handle Handle to an object
    * @return Handle to a CustomActor or an uninitialized handle
    */
-  static CustomActor DownCast( BaseHandle handle );
+  static CustomActor DownCast(BaseHandle handle);
 
   /**
    * @brief Destructor.
@@ -94,7 +93,6 @@ public:
    *
    * @SINCE_1_0.0
    * @param[in] implementation The implementation for this custom actor
-   * @return A handle to a newly allocated Dali resource
    */
   CustomActor(CustomActorImpl& implementation);
 
@@ -115,9 +113,25 @@ public:
    */
   CustomActor& operator=(const CustomActor& rhs);
 
-public: // Not intended for application developers
+  /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs The actor to move
+   */
+  CustomActor(CustomActor&& rhs) noexcept;
 
   /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.22
+   * @param[in] rhs The actor to move
+   * @return A reference to this
+   */
+  CustomActor& operator=(CustomActor&& rhs) noexcept;
+
+public: // Not intended for application developers
+  /**
    * @brief This constructor is used internally to create additional CustomActor handles.
    *
    * @SINCE_1_0.0
@@ -131,4 +145,4 @@ public: // Not intended for application developers
  */
 } // namespace Dali
 
-#endif // __DALI_CUSTOM_ACTOR_H__
+#endif // DALI_CUSTOM_ACTOR_H