Merge branch 'devel/master' into tizen
authorWonsik Jung <sidein@samsung.com>
Mon, 10 Aug 2020 05:38:44 +0000 (14:38 +0900)
committerWonsik Jung <sidein@samsung.com>
Mon, 10 Aug 2020 05:38:44 +0000 (14:38 +0900)
32 files changed:
automated-tests/src/dali-adaptor/utc-Dali-Application.cpp
automated-tests/src/dali-adaptor/utc-Dali-Timer.cpp
dali/internal/adaptor/common/adaptor-impl.cpp
dali/internal/adaptor/tizen-wayland/tizen-wearable/watch-application.cpp
dali/internal/imaging/common/gif-loading.cpp
dali/internal/imaging/common/loader-astc.cpp
dali/internal/imaging/common/loader-jpeg-turbo.cpp
dali/internal/imaging/common/loader-ktx.cpp
dali/internal/input/tizen-wayland/input-method-context-impl-ecore-wl.cpp
dali/internal/input/ubuntu-x11/input-method-context-impl-x.cpp
dali/internal/input/windows/input-method-context-impl-win.cpp
dali/internal/legacy/common/tizen-platform-abstraction.cpp
dali/internal/legacy/common/tizen-platform-abstraction.h
dali/internal/window-system/tizen-wayland/ecore-wl/window-base-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/ecore-wl2/window-base-ecore-wl2.cpp
dali/public-api/adaptor-framework/application.cpp
dali/public-api/adaptor-framework/application.h
dali/public-api/adaptor-framework/timer.cpp
dali/public-api/adaptor-framework/timer.h
dali/public-api/adaptor-framework/tts-player.cpp
dali/public-api/adaptor-framework/tts-player.h
dali/public-api/adaptor-framework/widget-application.cpp
dali/public-api/adaptor-framework/widget-application.h
dali/public-api/adaptor-framework/widget.cpp
dali/public-api/adaptor-framework/widget.h
dali/public-api/adaptor-framework/window.cpp
dali/public-api/adaptor-framework/window.h
dali/public-api/capture/capture.cpp
dali/public-api/capture/capture.h
dali/public-api/dali-adaptor-version.cpp
dali/public-api/watch/watch-application.h
packaging/dali-adaptor.spec

index b37574b..8b97ae5 100644 (file)
@@ -145,6 +145,35 @@ int UtcDaliApplicationCopyAndAssignment(void)
   END_TEST;
 }
 
+int UtcDaliApplicationMoveConstructor(void)
+{
+  Application application = Application::New();
+  DALI_TEST_CHECK( application );
+  DALI_TEST_EQUALS( 1, application.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+
+  Application moved = std::move( application );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( !application );
+
+  END_TEST;
+}
+
+int UtcDaliApplicationMoveAssignment(void)
+{
+  Application application = Application::New();
+  DALI_TEST_CHECK( application );
+  DALI_TEST_EQUALS( 1, application.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+
+  Application moved;
+  moved = std::move( application );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( !application );
+
+  END_TEST;
+}
+
 int UtcDaliApplicationMainLoop01N(void)
 {
   Application application;
index 93e7e44..ecd4831 100644 (file)
@@ -350,6 +350,43 @@ int UtcDaliTimerAssignmentOperator(void)
   END_TEST;
 }
 
+int UtcDaliTimerMoveConstructor(void)
+{
+  AdaptorTestApplication application;
+
+  Timer timer = Timer::New( 40 );
+  DALI_TEST_CHECK( timer );
+  DALI_TEST_EQUALS( 1, timer.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( timer.GetInterval() == 40) ;
+
+  Timer moved = std::move( timer );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetInterval() == 40 );
+  DALI_TEST_CHECK( !timer );
+
+  END_TEST;
+}
+
+int UtcDaliTimerMoveAssignmentr(void)
+{
+  AdaptorTestApplication application;
+
+  Timer timer = Timer::New( 40 );
+  DALI_TEST_CHECK( timer );
+  DALI_TEST_EQUALS( 1, timer.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( timer.GetInterval() == 40) ;
+
+  Timer moved;
+  moved = std::move( timer );
+  DALI_TEST_CHECK( moved );
+  DALI_TEST_EQUALS( 1, moved.GetBaseObject().ReferenceCount(), TEST_LOCATION );
+  DALI_TEST_CHECK( moved.GetInterval() == 40 );
+  DALI_TEST_CHECK( !timer );
+
+  END_TEST;
+}
+
 int UtcDaliTimerIsRunning(void)
 {
   AdaptorTestApplication application;
index e111bdb..b94f90d 100644 (file)
@@ -409,7 +409,10 @@ void Adaptor::Start()
     (*iter)->OnStart();
   }
 
-  mAddOnManager->Start();
+  if (mAddOnManager)
+  {
+    mAddOnManager->Start();
+  }
 }
 
 // Dali::Internal::Adaptor::Adaptor::Pause
@@ -425,7 +428,10 @@ void Adaptor::Pause()
     }
 
     // Extensions
-    mAddOnManager->Pause();
+    if (mAddOnManager)
+    {
+      mAddOnManager->Pause();
+    }
 
     // Pause all windows event handlers when adaptor paused
     for( auto window : mWindows )
@@ -462,7 +468,10 @@ void Adaptor::Resume()
     }
 
     // Resume AddOnManager
-    mAddOnManager->Resume();
+    if (mAddOnManager)
+    {
+      mAddOnManager->Resume();
+    }
 
     // Inform observers that we have resumed.
     for( ObserverContainer::iterator iter = mObservers.begin(), endIter = mObservers.end(); iter != endIter; ++iter )
@@ -495,7 +504,10 @@ void Adaptor::Stop()
       (*iter)->OnStop();
     }
 
-    mAddOnManager->Stop();
+    if (mAddOnManager)
+    {
+      mAddOnManager->Stop();
+    }
 
     mThreadController->Stop();
 
@@ -1212,6 +1224,12 @@ bool Adaptor::AddIdleEnterer( CallbackBase* callback, bool forceAdd )
     idleAdded = mCallbackManager->AddIdleEntererCallback( callback );
   }
 
+  if( !idleAdded )
+  {
+    // Delete callback
+    delete callback;
+  }
+
   return idleAdded;
 }
 
index fd5e8a0..b449c67 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -52,19 +52,13 @@ WatchApplication::WatchApplication()
 {
 }
 
-WatchApplication::WatchApplication(const WatchApplication& implementation)
-: Application(implementation)
-{
-}
+WatchApplication::WatchApplication( const WatchApplication& copy ) = default;
 
-WatchApplication& WatchApplication::operator=(const WatchApplication& application)
-{
-  if( *this != application )
-  {
-    BaseHandle::operator=( application );
-  }
-  return *this;
-}
+WatchApplication& WatchApplication::operator=( const WatchApplication& rhs ) = default;
+
+WatchApplication::WatchApplication( WatchApplication&& rhs ) = default;
+
+WatchApplication& WatchApplication::operator=( WatchApplication&& rhs ) = default;
 
 WatchApplication::WatchTimeSignal& WatchApplication::TimeTickSignal()
 {
index a6793f2..16057f7 100644 (file)
@@ -494,10 +494,6 @@ bool DecodeImage( GifFileType *gif, uint32_t *data, int rowpix, int xin, int yin
   // what we need is image size.
   SavedImage *sp;
   sp = &gif->SavedImages[ gif->ImageCount - 1 ];
-  if( !sp )
-  {
-    goto on_error;
-  }
 
   gifW = sp->ImageDesc.Width;
   gifH = sp->ImageDesc.Height;
index 1371a65..e63d846 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -20,7 +20,6 @@
 
 // EXTERNAL INCLUDES
 #include <cstring>
-#include <dali/public-api/common/compile-time-assert.h>
 #include <dali/integration-api/debug.h>
 #include <dali/public-api/images/pixel.h>
 #include <dali/devel-api/adaptor-framework/pixel-buffer.h>
index 2566d26..1848a1c 100755 (executable)
@@ -229,22 +229,22 @@ void AddExifFieldPropertyMap( Dali::Property::Map& out, const ExifEntry& entry,
     }
     case EXIF_FORMAT_SHORT:
     {
-      out.Insert( shortName, ConvertExifNumeric<int, unsigned short>(entry) );
+      out.Insert( shortName, ConvertExifNumeric<int, uint16_t>(entry) );
       break;
     }
     case EXIF_FORMAT_LONG:
     {
-      out.Insert( shortName, ConvertExifNumeric<int, unsigned long>(entry) );
+      out.Insert( shortName, ConvertExifNumeric<int, uint32_t>(entry) );
       break;
     }
     case EXIF_FORMAT_SSHORT:
     {
-      out.Insert( shortName, ConvertExifNumeric<int, short>(entry) );
+      out.Insert( shortName, ConvertExifNumeric<int, int16_t>(entry) );
       break;
     }
     case EXIF_FORMAT_SLONG:
     {
-      out.Insert( shortName, ConvertExifNumeric<int, long>(entry) );
+      out.Insert( shortName, ConvertExifNumeric<int, int32_t>(entry) );
       break;
     }
     case EXIF_FORMAT_FLOAT:
index e431239..09116b6 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -20,7 +20,6 @@
 
 // EXTERNAL INCLUDES
 #include <cstring>
-#include <dali/public-api/common/compile-time-assert.h>
 #include <dali/integration-api/debug.h>
 #include <dali/devel-api/adaptor-framework/pixel-buffer.h>
 #include <dali/internal/imaging/common/pixel-buffer-impl.h>
@@ -209,7 +208,7 @@ bool CheckFileIdentifier(const Byte * const signature)
 {
   const unsigned signatureSize = BYTES_IN_SIGNATURE;
   const unsigned identifierSize = sizeof(FileIdentifier);
-  DALI_COMPILE_TIME_ASSERT(signatureSize == identifierSize);
+  static_assert(signatureSize == identifierSize);
   const bool signatureGood = 0 == memcmp( signature, FileIdentifier, std::min( signatureSize, identifierSize ) );
   return signatureGood;
 }
@@ -535,8 +534,8 @@ bool LoadKtxHeader( const Dali::ImageLoader::Input& input, unsigned int& width,
 // File loading API entry-point:
 bool LoadBitmapFromKtx( const Dali::ImageLoader::Input& input, Dali::Devel::PixelBuffer& bitmap )
 {
-  DALI_COMPILE_TIME_ASSERT( sizeof(Byte) == 1);
-  DALI_COMPILE_TIME_ASSERT( sizeof(uint32_t) == 4);
+  static_assert(sizeof(Byte) == 1);
+  static_assert(sizeof(uint32_t) == 4);
 
   FILE* const fp = input.file;
   if( fp == NULL )
index fc21584..88b63a6 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -334,7 +334,7 @@ InputMethodContextEcoreWl::InputMethodContextEcoreWl( Dali::Actor actor )
 {
   ecore_imf_init();
 
-  actor.OnStageSignal().Connect( this, &InputMethodContextEcoreWl::OnStaged );
+  actor.OnSceneSignal().Connect( this, &InputMethodContextEcoreWl::OnStaged );
 }
 
 InputMethodContextEcoreWl::~InputMethodContextEcoreWl()
index f9fe6ae..83e0c22 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -161,7 +161,7 @@ InputMethodContextX::InputMethodContextX( Dali::Actor actor )
 {
   ecore_imf_init();
 
-  actor.OnStageSignal().Connect( this, &InputMethodContextX::OnStaged );
+  actor.OnSceneSignal().Connect( this, &InputMethodContextX::OnStaged );
 }
 
 InputMethodContextX::~InputMethodContextX()
index 3437f02..f3deb99 100755 (executable)
@@ -1,5 +1,5 @@
 /*\r
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.\r
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd.\r
  *\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
@@ -72,7 +72,7 @@ InputMethodContextWin::InputMethodContextWin( Dali::Actor actor )
   mIdleCallbackConnected( false )\r
 {\r
 \r
-  actor.OnStageSignal().Connect( this, &InputMethodContextWin::OnStaged );\r
+  actor.OnSceneSignal().Connect( this, &InputMethodContextWin::OnStaged );\r
 }\r
 \r
 InputMethodContextWin::~InputMethodContextWin()\r
index 4d60fee..104c07b 100644 (file)
@@ -43,7 +43,7 @@ struct TizenPlatformAbstraction::TimerCallback : ConnectionTracker
 {
   Dali::Timer mTimer;
   TizenPlatformAbstraction* mOwner;
-  CallbackBase* mCallback;
+  std::unique_ptr< CallbackBase > mCallback;
   const uint32_t mIdNumber;
 
   static uint32_t sNextTimerId;
@@ -51,12 +51,15 @@ struct TizenPlatformAbstraction::TimerCallback : ConnectionTracker
   TimerCallback(TizenPlatformAbstraction* owner, CallbackBase* callback, uint32_t ms)
   : mTimer(Dali::Timer::New(ms)),
     mOwner(owner),
-    mCallback(callback),
-    mIdNumber(sNextTimerId++)
+    mCallback( std::unique_ptr< CallbackBase >( callback ) ),
+    mIdNumber(++sNextTimerId)
   {
     mTimer.TickSignal().Connect( this, &TimerCallback::Tick );
     mTimer.Start();
   }
+  ~TimerCallback()
+  {
+  }
 
   bool Tick()
   {
@@ -194,7 +197,7 @@ uint32_t TizenPlatformAbstraction::StartTimer( uint32_t milliseconds, CallbackBa
   TimerCallback* timerCallbackPtr = new TimerCallback(this, callback, milliseconds);
 
   // Stick it in the list
-  mTimerPairsWaiting.push_back(timerCallbackPtr);
+  mTimerPairsWaiting.push_back( std::unique_ptr< TimerCallback >( timerCallbackPtr ) );
 
   return timerCallbackPtr->mIdNumber;
 }
@@ -203,7 +206,7 @@ void TizenPlatformAbstraction::CancelTimer ( uint32_t timerId )
 {
   auto iter = std::remove_if(
     mTimerPairsWaiting.begin(), mTimerPairsWaiting.end(),
-    [&timerId]( TimerCallback* timerCallbackPtr )
+    [&timerId]( std::unique_ptr< TimerCallback >& timerCallbackPtr )
     {
       if( timerCallbackPtr->mIdNumber == timerId )
       {
@@ -224,7 +227,9 @@ void TizenPlatformAbstraction::RunTimerFunction(TimerCallback& timerPtr)
 {
   CallbackBase::Execute( *timerPtr.mCallback );
 
-  std::vector<TimerCallback*>::iterator timerIter = std::find( mTimerPairsWaiting.begin(), mTimerPairsWaiting.end(), &timerPtr );
+  std::vector< std::unique_ptr< TimerCallback > >::iterator timerIter = std::find_if( mTimerPairsWaiting.begin(), mTimerPairsWaiting.end(),
+                                                                                      [&]( std::unique_ptr< TimerCallback >& p )
+                                                                                      { return p.get() == &timerPtr;} );
 
   if( timerIter == std::end(mTimerPairsWaiting) )
   {
index c288cd1..fe4b018 100644 (file)
@@ -26,6 +26,7 @@
 // EXTERNAL INCLUDES
 #include <cstdint>
 #include <string>
+#include <memory>
 #include <dali/integration-api/platform-abstraction.h>
 
 namespace Dali
@@ -130,8 +131,8 @@ private:
 
   std::string mDataStoragePath;
 
-  std::vector<TimerCallback*> mTimerPairsWaiting;
-  std::vector<TimerCallback*> mTimerPairsSpent;
+  std::vector< std::unique_ptr< TimerCallback > > mTimerPairsWaiting;
+  std::vector< std::unique_ptr< TimerCallback > > mTimerPairsSpent;
 };
 
 /**
index ac6879d..e4b610d 100644 (file)
@@ -1026,6 +1026,15 @@ void WindowBaseEcoreWl::OnKeyUp( void* data, int type, void* event )
   {
     DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyUp\n" );
 
+#if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR) && (ECORE_VERSION_MINOR >= 23)
+    // Cancel processing flag is sent because this key event will combine with the previous key. So, the event should not actually perform anything.
+    if( keyEvent->event_flags & ECORE_EVENT_FLAG_CANCEL )
+    {
+      DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyUp: This event flag indicates the event is canceled. \n" );
+      return;
+    }
+#endif // Since ecore 1.23 version
+
     std::string keyName( keyEvent->keyname );
     std::string logicalKey( "" );
     std::string keyString( "" );
index ca4e051..a258f6c 100755 (executable)
@@ -1198,6 +1198,15 @@ void WindowBaseEcoreWl2::OnKeyUp( void* data, int type, void* event )
   {
     DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl::OnKeyUp\n" );
 
+#if defined(ECORE_VERSION_MAJOR) && (ECORE_VERSION_MAJOR >= 1) && defined(ECORE_VERSION_MINOR) && (ECORE_VERSION_MINOR >= 23)
+    // Cancel processing flag is sent because this key event will combine with the previous key. So, the event should not actually perform anything.
+    if( keyEvent->event_flags & ECORE_EVENT_FLAG_CANCEL )
+    {
+      DALI_LOG_INFO( gWindowBaseLogFilter, Debug::General, "WindowBaseEcoreWl2::OnKeyUp: This event flag indicates the event is canceled. \n" );
+      return;
+    }
+#endif // Since ecore 1.23 version
+
     std::string keyName( keyEvent->keyname );
     std::string logicalKey( "" );
     std::string keyString( "" );
index b0f7b2a..b7ed5f9 100644 (file)
@@ -137,19 +137,13 @@ Application::Application()
 {
 }
 
-Application::Application(const Application& application)
-: BaseHandle(application)
-{
-}
+Application::Application( const Application& copy ) = default;
 
-Application& Application::operator=(const Application& application)
-{
-  if( *this != application )
-  {
-    BaseHandle::operator=( application );
-  }
-  return *this;
-}
+Application& Application::operator=( const Application& rhs ) = default;
+
+Application::Application( Application&& rhs ) = default;
+
+Application& Application::operator=( Application&& rhs ) = default;
 
 void Application::MainLoop()
 {
index c264e46..d7fb50c 100644 (file)
@@ -213,6 +213,23 @@ public:
   Application& operator=( const Application& application );
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  Application( Application&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  Application& operator=( Application&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index ba98792..6f18b2d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -35,20 +35,13 @@ Timer Timer::New( unsigned int milliSec )
   return Timer(internal.Get());
 }
 
-Timer::Timer( const Timer& timer )
-: BaseHandle(timer)
-{
-}
+Timer::Timer( const Timer& copy ) = default;
 
-Timer& Timer::operator=( const Timer& timer )
-{
-  // check self assignment
-  if( *this != timer )
-  {
-    BaseHandle::operator=(timer);
-  }
-  return *this;
-}
+Timer& Timer::operator=( const Timer& rhs ) = default;
+
+Timer::Timer( Timer&& rhs ) = default;
+
+Timer& Timer::operator=( Timer&& rhs ) = default;
 
 Timer::~Timer()
 {
index edaf556..60134ff 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TIMER_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -98,6 +98,23 @@ public: // API
   Timer& operator=( const Timer& timer );
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  Timer( Timer&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  Timer& operator=( Timer&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index db222bc..6ee0445 100644 (file)
@@ -45,16 +45,13 @@ TtsPlayer::~TtsPlayer()
 {
 }
 
-TtsPlayer::TtsPlayer(const TtsPlayer& handle)
-: BaseHandle(handle)
-{
-}
+TtsPlayer::TtsPlayer( const TtsPlayer& copy ) = default;
 
-TtsPlayer& TtsPlayer::operator=(const TtsPlayer& rhs)
-{
-  BaseHandle::operator=(rhs);
-  return *this;
-}
+TtsPlayer& TtsPlayer::operator=( const TtsPlayer& rhs ) = default;
+
+TtsPlayer::TtsPlayer( TtsPlayer&& rhs ) = default;
+
+TtsPlayer& TtsPlayer::operator=( TtsPlayer&& rhs ) = default;
 
 void TtsPlayer::Play(const std::string& text)
 {
index 55cef69..3979363 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_TTS_PLAYER_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -125,6 +125,23 @@ public: // API
   TtsPlayer& operator=(const TtsPlayer& rhs);
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  TtsPlayer( TtsPlayer&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  TtsPlayer& operator=( TtsPlayer&& rhs );
+
+  /**
    * @brief Starts playing the audio data synthesized from the specified text.
    *
    * @SINCE_1_0.0
index 430912d..960ec30 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -38,19 +38,13 @@ WidgetApplication::WidgetApplication()
 {
 }
 
-WidgetApplication::WidgetApplication(const WidgetApplication& widgetApplication)
-: Application(widgetApplication)
-{
-}
+WidgetApplication::WidgetApplication( const WidgetApplication& copy ) = default;
 
-WidgetApplication& WidgetApplication::operator=(const WidgetApplication& widgetApplication)
-{
-  if( *this != widgetApplication )
-  {
-    BaseHandle::operator=( widgetApplication );
-  }
-  return *this;
-}
+WidgetApplication& WidgetApplication::operator=( const WidgetApplication& rhs ) = default;
+
+WidgetApplication::WidgetApplication( WidgetApplication&& rhs ) = default;
+
+WidgetApplication& WidgetApplication::operator=( WidgetApplication&& rhs ) = default;
 
 void WidgetApplication::RegisterWidgetCreatingFunction( const std::string& widgetName, CreateWidgetFunction createFunction )
 {
index cf71d05..6acfe75 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_WIDGET_APPLICATION_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -147,6 +147,23 @@ public:
    */
   WidgetApplication& operator=( const WidgetApplication& widgetApplication );
 
+  /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  WidgetApplication( WidgetApplication&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  WidgetApplication& operator=( WidgetApplication&& rhs );
+
  /**
    * @brief Destructor
    * @SINCE_1_3_5
index bc8d070..7398747 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -38,19 +38,13 @@ Widget::Widget()
 {
 }
 
-Widget::Widget(const Widget& widget)
-: BaseHandle(widget)
-{
-}
+Widget::Widget( const Widget& copy ) = default;
 
-Widget& Widget::operator=(const Widget& widget)
-{
-  if( *this != widget )
-  {
-    BaseHandle::operator=( widget );
-  }
-  return *this;
-}
+Widget& Widget::operator=( const Widget& rhs ) = default;
+
+Widget::Widget( Widget&& rhs ) = default;
+
+Widget& Widget::operator=( Widget&& rhs ) = default;
 
 Widget::Widget(Internal::Adaptor::Widget* widget)
 : BaseHandle(widget)
index 9332298..c00a914 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_WIDGET_H
 
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -95,6 +95,23 @@ public:
   Widget& operator=( const Widget& widget );
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  Widget( Widget&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  Widget& operator=( Widget&& rhs );
+
+  /**
    * @brief Destructor
    * @SINCE_1_3_5
    */
index c073254..8a15192 100644 (file)
@@ -76,16 +76,13 @@ Window::~Window()
 {
 }
 
-Window::Window(const Window& handle)
-: BaseHandle(handle)
-{
-}
+Window::Window( const Window& copy ) = default;
 
-Window& Window::operator=(const Window& rhs)
-{
-  BaseHandle::operator=(rhs);
-  return *this;
-}
+Window& Window::operator=( const Window& rhs ) = default;
+
+Window::Window( Window&& rhs ) = default;
+
+Window& Window::operator=( Window&& rhs ) = default;
 
 void Window::Add( Dali::Actor actor )
 {
index 05a86de..8105e5d 100644 (file)
@@ -210,6 +210,23 @@ public:
   Window& operator=(const Window& rhs);
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  Window( Window&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  Window& operator=( Window&& rhs );
+
+  /**
    * @brief Adds a child Actor to the Window.
    *
    * The child will be referenced.
index ca7c098..9d288e8 100644 (file)
@@ -51,16 +51,13 @@ Capture::~Capture()
 {
 }
 
-Capture::Capture( const Capture& copy )
-: BaseHandle(copy)
-{
-}
+Capture::Capture( const Capture& copy ) = default;
 
-Capture& Capture::operator=( const Capture& rhs )
-{
-  BaseHandle::operator=( rhs );
-  return *this;
-}
+Capture& Capture::operator=( const Capture& rhs ) = default;
+
+Capture::Capture( Capture&& rhs ) = default;
+
+Capture& Capture::operator=( Capture&& rhs ) = default;
 
 void Capture::Start( Actor source, const Vector2& size, const std::string &path, const Vector4& clearColor, const uint32_t quality )
 {
index 73afb16..7113eee 100755 (executable)
@@ -169,6 +169,23 @@ public:
   Capture& operator=( const Capture& rhs );
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  Capture( Capture&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  Capture& operator=( Capture&& rhs );
+
+  /**
    * @brief Start capture and save the image as a file.
    *
    * @SINCE_1_9.12
index b0fb3aa..3f2af2b 100644 (file)
@@ -28,7 +28,7 @@ namespace Dali
 
 const unsigned int ADAPTOR_MAJOR_VERSION = 1;
 const unsigned int ADAPTOR_MINOR_VERSION = 9;
-const unsigned int ADAPTOR_MICRO_VERSION = 22;
+const unsigned int ADAPTOR_MICRO_VERSION = 24;
 const char * const ADAPTOR_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index df59ef5..1900593 100755 (executable)
@@ -2,7 +2,7 @@
 #define DALI_WATCH_APPLICATION_H
 
 /*
- * Copyright (c) 2019 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -152,6 +152,23 @@ public:
   WatchApplication& operator=( const WatchApplication& application );
 
   /**
+   * @brief Move constructor.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   */
+  WatchApplication( WatchApplication&& rhs );
+
+  /**
+   * @brief Move assignment operator.
+   *
+   * @SINCE_1_9.24
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this handle
+   */
+  WatchApplication& operator=( WatchApplication&& rhs );
+
+  /**
    * @brief Destructor
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
index da1e28e..316208d 100644 (file)
@@ -17,7 +17,7 @@
 
 Name:       dali2-adaptor
 Summary:    The DALi Tizen Adaptor
-Version:    1.9.22
+Version:    1.9.24
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0 and BSD-3-Clause and MIT