-#ifndef __DALI_OBJECT_REGISTRY_H__
-#define __DALI_OBJECT_REGISTRY_H__
+#ifndef DALI_OBJECT_REGISTRY_H
+#define DALI_OBJECT_REGISTRY_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.
namespace Dali
{
/**
- * @addtogroup dali-core-object
+ * @addtogroup dali_core_object
* @{
*/
*
* Care should be taken to not store the handle in the Observer, as this will
* have adverse effect on the life time of the Internal Object. The Handle
- * should only be used to connect to signals
+ * should only be used to connect to signals.
*
* Usage:
* ObjectRegistry registry = Stage::GetObjectRegistry();
* Signals
* | %Signal Name | Method |
* |------------------|------------------------------|
- * | object-created | @ref ObjectCreatedSignal() |
- * | object-destroyed | @ref ObjectDestroyedSignal() |
+ * | objectCreated | @ref ObjectCreatedSignal() |
+ * | objectDestroyed | @ref ObjectDestroyedSignal() |
+ * @SINCE_1_0.0
*/
-class DALI_IMPORT_API ObjectRegistry : public BaseHandle
+class DALI_CORE_API ObjectRegistry : public BaseHandle
{
public:
// Typedefs
/**
- * @brief Object created signal
+ * @brief Object created signal.
+ * @SINCE_1_0.0
*/
- typedef Signal< void ( BaseHandle ) > ObjectCreatedSignalType;
+ using ObjectCreatedSignalType = Signal<void( BaseHandle )>;
/**
- * @brief Object destroyed signal
+ * @brief Object destroyed signal.
+ * @SINCE_1_0.0
*/
- typedef Signal< void ( const Dali::RefObject* ) > ObjectDestroyedSignalType;
+ using ObjectDestroyedSignalType = Signal<void( const Dali::RefObject* )>;
/**
* @brief Allows the creation of an empty objectRegistry handle.
*
* To retrieve the current objectRegistry,
* this handle can be set using Stage::GetCurrent().GetObjectRegistry().
+ * @SINCE_1_0.0
*/
ObjectRegistry();
/**
- * @brief Destructor
+ * @brief Destructor.
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
+ * @SINCE_1_0.0
*/
~ObjectRegistry();
/**
* @brief This copy constructor is required for (smart) pointer semantics.
*
- * @param [in] handle A reference to the copied handle
+ * @SINCE_1_0.0
+ * @param[in] handle A reference to the copied handle
*/
ObjectRegistry(const ObjectRegistry& handle);
/**
* @brief This assignment operator is required for (smart) pointer semantics.
*
- * @param [in] rhs A reference to the copied handle
+ * @SINCE_1_0.0
+ * @param[in] rhs A reference to the copied handle
* @return A reference to this
*/
ObjectRegistry& operator=(const ObjectRegistry& rhs);
+ /**
+ * @brief Move constructor.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs A reference to the moved handle
+ */
+ ObjectRegistry( ObjectRegistry&& rhs );
+
+ /**
+ * @brief Move assignment operator.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs A reference to the moved handle
+ * @return A reference to this handle
+ */
+ ObjectRegistry& operator=( ObjectRegistry&& rhs );
+
public: // Signals
/**
* @code
* void YourCallbackName(BaseHandle object);
* @endcode
+ * @SINCE_1_0.0
+ * @return The signal to connect to
* @pre The Object has been initialized.
- * @return The signal to connect to.
*/
ObjectCreatedSignalType& ObjectCreatedSignal();
* @code
* void YourCallbackName(const Dali::RefObject* objectPointer);
* @endcode
+ * @SINCE_1_0.0
+ * @return The signal to connect to
* @pre The Object has been initialized.
- * @return The signal to connect to.
*/
ObjectDestroyedSignalType& ObjectDestroyedSignal();
public: // Not intended for application developers
+ /// @cond internal
/**
* @brief This constructor is used by Dali Get() method.
*
- * @param [in] objectRegistry A pointer to a Dali resource
+ * @SINCE_1_0.0
+ * @param[in] objectRegistry A pointer to a Dali resource
*/
explicit DALI_INTERNAL ObjectRegistry(Internal::ObjectRegistry* objectRegistry);
+ /// @endcond
};
/**
*/
} // namespace Dali
-#endif // __DALI_OBJECT_REGISTRY_H__
+#endif // DALI_OBJECT_REGISTRY_H