[problem] Memory usage is too high, event-thread operations are too heavy.
[cause] Too much Dali::Handle data copied around.
[solution] Remove all virtual methods from handles, to avoid needing a C++ vptr
Change-Id: I8322c4ee56341b88c752da3931a7187c46eb9419
Signed-off-by: Adeel Kazmi <adeel.kazmi@samsung.com>
Application& operator=( const Application& applicaton );
/**
- * Virtual destructor
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~Application();
+ ~Application();
public:
/**
static ColorController Get();
/**
- * @brief Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~ColorController();
+ ~ColorController();
/**
* @brief Retrieve the RGB value by given the color code.
PhysicalKeyboard();
/**
- * Virtual destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~PhysicalKeyboard();
+ ~PhysicalKeyboard();
/**
* Gets a handle to the physical keyboard.
static TiltSensor Get();
/**
- * Virtual Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~TiltSensor();
+ ~TiltSensor();
/**
* Attempt to enable the tilt-sensor. This will fail if the underlying sensor hardware is powered-down,
static AccessibilityManager Get();
/**
- * @brief Virtual Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~AccessibilityManager();
+ ~AccessibilityManager();
/**
* @brief Returns the current position of the read action.
static ClipboardEventNotifier Get();
/**
- * @brief Virtual Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~ClipboardEventNotifier();
+ ~ClipboardEventNotifier();
/**
* @brief Returns the selected content.
Clipboard();
/**
- * @brief Virtual destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~Clipboard();
+ ~Clipboard();
/**
* @brief This constructor is used by Adaptor::GetClipboard().
DragAndDropDetector();
/**
- * @brief Virtual Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~DragAndDropDetector();
+ ~DragAndDropDetector();
/**
* @brief Returns the dropped content.
static HapticPlayer Get();
/**
- * @brief Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
~HapticPlayer();
ImfManager();
/**
- * @brief Virtual destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~ImfManager();
+ ~ImfManager();
/**
* @brief This constructor is used by ImfManager::Get().
Orientation();
/**
- * @brief Virtual Destructor
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~Orientation();
+ ~Orientation();
/**
* @copydoc Dali::BaseHandle::operator=
static SoundPlayer Get();
/**
- * @brief Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
~SoundPlayer();
static StyleMonitor Get();
/**
- * @brief Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~StyleMonitor();
+ ~StyleMonitor();
/**
* @brief Downcast an Object handle to StyleMonitor handle.
Timer& operator=( const Timer& timer );
/**
- * @brief Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~Timer();
+ ~Timer();
/**
* @brief Downcast an Object handle to Timer handle.
static TtsPlayer Get(Dali::TtsPlayer::Mode mode = Dali::TtsPlayer::DEFAULT);
/**
- * @brief Destructor.
+ * @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
~TtsPlayer();
/**
* @brief Destructor
+ *
+ * This is non-virtual since derived Handle types must not contain data or virtual methods.
*/
- virtual ~Window();
+ ~Window();
/**
* @copydoc Dali::BaseHandle::operator=