-#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/dali-vector.h>
#include <dali/public-api/signals/connection-tracker-interface.h>
+#include <dali/public-api/signals/signal-slot-observers.h>
namespace Dali
{
class CallbackBase;
class SlotObserver;
-class SlotConnection;
/**
* @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
* @brief Virtual destructor.
* @SINCE_1_0.0
*/
- virtual ~ConnectionTracker();
+ ~ConnectionTracker() override;
/**
* @brief Disconnects all signals from this object.
/**
* @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.
std::size_t GetConnectionCount() const;
private:
-
- ConnectionTracker( const ConnectionTracker& ); ///< undefined copy constructor @SINCE_1_0.0
- ConnectionTracker& operator=( const ConnectionTracker& ); ///< undefined assignment operator @SINCE_1_0.0
+ 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:
-
- Dali::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