#define __DALI_REF_OBJECT_H__
/*
- * Copyright (c) 2014 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_object
+ * @{
+ */
class Value;
/**
* @brief Base class for reference counted objects.
*
- * Typically this should be used with an instrusive pointer,
+ * Typically this should be used with an intrusive pointer,
* instead of calling Reference() and Unreference() methods directly.
+ * @SINCE_1_0.0
*/
-class DALI_IMPORT_API RefObject
+class DALI_CORE_API RefObject
{
public:
/**
- * @brief Increment the object's reference count.
+ * @brief Increments the object's reference count.
+ * @SINCE_1_0.0
*/
void Reference();
/**
- * @brief Decrement the object's reference count.
+ * @brief Decrements the object's reference count.
*
* When the reference count drops to zero, the object will self-destruct.
+ * @SINCE_1_0.0
*/
void Unreference();
/**
- * @brief Retrieve the object's reference count.
+ * @brief Retrieves the object's reference count.
*
+ * @SINCE_1_0.0
* @return The reference count
*/
int ReferenceCount();
/**
* @brief Default constructor.
+ * @SINCE_1_0.0
*/
RefObject();
* @brief RefObject is intended as a base class.
*
* A RefObject may only be deleted when its reference count is zero.
+ * @SINCE_1_0.0
*/
virtual ~RefObject();
* @brief Copy constructor.
*
* The newly copied object will have a reference count of zero.
+ * @SINCE_1_0.0
* @param[in] rhs The object to copy
*/
RefObject(const RefObject& rhs);
* @brief Assignment operator.
*
* The newly copied object will have a reference count of zero.
+ * @SINCE_1_0.0
* @param[in] rhs The object to copy
- * @return a reference to this
+ * @return A reference to this
*/
RefObject& operator=(const RefObject& rhs);
volatile int mCount; ///< Reference count
};
+/**
+ * @}
+ */
} // namespace Dali
#endif // __DALI_REF_OBJECT_H__