#define __DALI_OBJECT_REGISTRY_H__
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2015 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.
*
*/
-// EXTERNAL INCLUDES
-#include <boost/function.hpp>
-
// INTERNAL INCLUDES
#include <dali/public-api/object/handle.h>
-#include <dali/public-api/signals/dali-signal-v2.h>
+#include <dali/public-api/signals/dali-signal.h>
-namespace Dali DALI_IMPORT_API
+namespace Dali
{
+/**
+ * @addtogroup dali_core_object
+ * @{
+ */
namespace Internal DALI_INTERNAL
{
* ObjectRegistry registry = Stage::GetObjectRegistry();
* registry.ObjectCreatedSignal().Connect( ObjectCreatedCallbackFunc );
*
+ * Signals
+ * | %Signal Name | Method |
+ * |------------------|------------------------------|
+ * | objectCreated | @ref ObjectCreatedSignal() |
+ * | objectDestroyed | @ref ObjectDestroyedSignal() |
+ * @SINCE_1_0.0
*/
-class ObjectRegistry : public BaseHandle
+class DALI_IMPORT_API ObjectRegistry : public BaseHandle
{
public:
- //Signal Names
- static const char* const SIGNAL_OBJECT_CREATED; ///< Created signal name
- static const char* const SIGNAL_OBJECT_DESTROYED; ///< Destroyed signal name
-
// Typedefs
/**
* @brief Object created signal
+ * @SINCE_1_0.0
*/
- typedef SignalV2< void (BaseHandle) > ObjectCreatedSignalV2;
+ typedef Signal< void ( BaseHandle ) > ObjectCreatedSignalType;
/**
* @brief Object destroyed signal
+ * @SINCE_1_0.0
*/
- typedef SignalV2< void (const Dali::RefObject*) > ObjectDestroyedSignalV2;
+ typedef Signal< void ( const Dali::RefObject* ) > ObjectDestroyedSignalType;
/**
* @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
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
+ * @SINCE_1_0.0
*/
~ObjectRegistry();
/**
- * @copydoc Dali::BaseHandle::operator=
+ * @brief This copy constructor is required for (smart) pointer semantics.
+ *
+ * @SINCE_1_0.0
+ * @param [in] handle A reference to the copied handle
*/
- using BaseHandle::operator=;
+ ObjectRegistry(const ObjectRegistry& handle);
+
+ /**
+ * @brief This assignment operator is required for (smart) pointer semantics.
+ *
+ * @SINCE_1_0.0
+ * @param [in] rhs A reference to the copied handle
+ * @return A reference to this
+ */
+ ObjectRegistry& operator=(const ObjectRegistry& rhs);
public: // Signals
* @code
* void YourCallbackName(BaseHandle object);
* @endcode
- * @pre The Object has been initialized.
+ * @SINCE_1_0.0
* @return The signal to connect to.
+ * @pre The Object has been initialized.
*/
- ObjectCreatedSignalV2& ObjectCreatedSignal();
+ ObjectCreatedSignalType& ObjectCreatedSignal();
/**
* @brief This signal is emitted when an object is destroyed.
* @code
* void YourCallbackName(const Dali::RefObject* objectPointer);
* @endcode
- * @pre The Object has been initialized.
+ * @SINCE_1_0.0
* @return The signal to connect to.
+ * @pre The Object has been initialized.
*/
- ObjectDestroyedSignalV2& ObjectDestroyedSignal();
+ ObjectDestroyedSignalType& ObjectDestroyedSignal();
public: // Not intended for application developers
/**
* @brief This constructor is used by Dali Get() method.
*
+ * @SINCE_1_0.0
* @param [in] objectRegistry A pointer to a Dali resource
*/
explicit DALI_INTERNAL ObjectRegistry(Internal::ObjectRegistry* objectRegistry);
};
+/**
+ * @}
+ */
} // namespace Dali
#endif // __DALI_OBJECT_REGISTRY_H__