-#ifndef __DALI_CONNECTION_TRACKER_H__
-#define __DALI_CONNECTION_TRACKER_H__
+#ifndef DALI_CONNECTION_TRACKER_H
+#define DALI_CONNECTION_TRACKER_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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 <cstddef> // for std::size_t
+
// INTERNAL INCLUDES
#include <dali/public-api/common/dali-common.h>
-#include <dali/public-api/common/vector-wrapper.h>
#include <dali/public-api/signals/connection-tracker-interface.h>
+#include <dali/public-api/signals/signal-slot-observers.h>
namespace Dali
{
+/**
+ * @addtogroup dali_core_signals
+ * @{
+ */
class CallbackBase;
class SlotObserver;
-class SlotConnection;
/**
- * @brief Connection tracker concrete implementation
+ * @brief Connection tracker concrete implementation.
+ * @SINCE_1_0.0
*/
-class DALI_IMPORT_API ConnectionTracker : public ConnectionTrackerInterface
+class DALI_CORE_API ConnectionTracker : public ConnectionTrackerInterface
{
public:
-
/**
* @brief Constructor.
+ * @SINCE_1_0.0
*/
ConnectionTracker();
/**
* @brief Virtual destructor.
+ * @SINCE_1_0.0
*/
- virtual ~ConnectionTracker();
+ ~ConnectionTracker() override;
/**
- * @brief Disconnect all signals from this object.
+ * @brief Disconnects all signals from this object.
+ * @SINCE_1_0.0
*/
void DisconnectAll();
/**
* @copydoc ConnectionTrackerInterface::SignalConnected
*/
- virtual void SignalConnected( SlotObserver* slotObserver, CallbackBase* callback );
+ void SignalConnected(SlotObserver* slotObserver, CallbackBase* callback) override;
/**
* @copydoc ConnectionTrackerInterface::SignalDisconnected
*/
- virtual void SignalDisconnected( SlotObserver* slotObserver, CallbackBase* callback );
+ void SignalDisconnected(SlotObserver* slotObserver, CallbackBase* callback) override;
/**
- * @brief returns the connection count
- * @return the connection count
+ * @brief Returns the connection count.
+ * @SINCE_1_0.0
+ * @return The connection count
*/
std::size_t GetConnectionCount() const;
private:
-
- ConnectionTracker( const ConnectionTracker& ); ///< undefined copy constructor
- ConnectionTracker& operator=( const ConnectionTracker& ); ///< undefined assignment operator
+ ConnectionTracker(const ConnectionTracker&) = delete; ///< Deleted copy constructor. @SINCE_1_0.0
+ ConnectionTracker(ConnectionTracker&&) = delete; ///< Deleted move constructor. @SINCE_1_9.25
+ ConnectionTracker& operator=(const ConnectionTracker&) = delete; ///< Deleted copy assignment operator. @SINCE_1_0.0
+ ConnectionTracker& operator=(ConnectionTracker&&) = delete; ///< Deleted move assignment operator. @SINCE_1_9.25
private:
-
- std::vector< SlotConnection* > mConnections; ///< Vector of connection pointers
+ struct DALI_INTERNAL Impl;
+ Impl* mCacheImpl; ///< Private internal extra data.
};
+/**
+ * @}
+ */
} // namespace Dali
-#endif // __DALI_CONNECTION_TRACKER_H__
+#endif // DALI_CONNECTION_TRACKER_H