[dali_2.3.24] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit / dali-toolkit-test-utils / toolkit-clipboard.cpp
index 15c74ae..b8e1a03 100644 (file)
@@ -19,7 +19,6 @@
 
 // EXTERNAL INCLUDES
 #include <dali/public-api/object/base-object.h>
-#include <dali/devel-api/adaptor-framework/clipboard-event-notifier.h>
 
 namespace Dali
 {
@@ -31,7 +30,7 @@ namespace Adaptor
 {
 
 /**
- * Implementation of the Clip Board
+ * Implementation of the Clipboard
  */
 
 class Clipboard :  public Dali::BaseObject
@@ -56,19 +55,34 @@ public:
   static bool IsAvailable();
 
   /**
-   * @copydoc Dali::Clipboard::SetItem()
+   * @copydoc Dali::Clipboard::DataSentSignal()
    */
-  bool SetItem(const std::string &itemData);
+  Dali::Clipboard::DataSentSignalType& DataSentSignal();
 
   /**
-   * @copydoc Dali::Clipboard::RequestItem()
+   * @copydoc Dali::Clipboard::DataReceivedSignal()
    */
-  void RequestItem();
+  Dali::Clipboard::DataReceivedSignalType& DataReceivedSignal();
+
+  /**
+   * @copydoc Dali::Clipboard::HasType()
+   */
+  bool HasType(const std::string& mimeType);
+
+  /**
+   * @copydoc Dali::Clipboard::SetData()
+   */
+  bool SetData(const Dali::Clipboard::ClipData& clipData);
+
+  /**
+   * @copydoc Dali::Clipboard::GetData()
+   */
+  uint32_t GetData(const std::string &mimeType);
 
   /**
    * @copydoc Dali::Clipboard::NumberOfClipboardItems()
    */
-  unsigned int NumberOfItems();
+  size_t NumberOfItems();
 
   /**
    * @copydoc Dali::Clipboard::ShowClipboard()
@@ -90,9 +104,15 @@ private:
   Clipboard& operator=( Clipboard& );
 
   static Dali::Clipboard mToolkitClipboard;
-  bool mVisible;
-  std::string mItem;
-  int mCount;
+
+  bool        mVisible;
+  std::string mMimeType;
+  std::string mData;
+  uint32_t    mDataId{0};
+  size_t      mCount;
+
+  Dali::Clipboard::DataSentSignalType     mDataSentSignal;
+  Dali::Clipboard::DataReceivedSignalType mDataReceivedSignal;
 }; // class clipboard
 
 
@@ -102,7 +122,7 @@ Dali::Clipboard Dali::Internal::Adaptor::Clipboard::mToolkitClipboard;
 Clipboard::Clipboard()
 {
   mVisible = false;
-  mCount = 0;
+  mCount = 0u;
 }
 
 Clipboard::~Clipboard()
@@ -111,9 +131,9 @@ Clipboard::~Clipboard()
 
 Dali::Clipboard Clipboard::Get()
 {
-  if( ! mToolkitClipboard )
+  if(!mToolkitClipboard)
   {
-    mToolkitClipboard = Dali::Clipboard( new Dali::Internal::Adaptor::Clipboard() );
+    mToolkitClipboard = Dali::Clipboard(new Dali::Internal::Adaptor::Clipboard());
   }
   return mToolkitClipboard;
 }
@@ -127,24 +147,49 @@ bool Clipboard::IsAvailable()
   return false;
 }
 
-bool Clipboard::SetItem(const std::string &itemData )
+Dali::Clipboard::DataSentSignalType& Clipboard::DataSentSignal()
+{
+  return mDataSentSignal;
+}
+
+Dali::Clipboard::DataReceivedSignalType& Clipboard::DataReceivedSignal()
+{
+  return mDataReceivedSignal;
+}
+
+bool Clipboard::HasType(const std::string& mimeType)
+{
+  return mMimeType == mimeType ? true : false;
+}
+
+bool Clipboard::SetData(const Dali::Clipboard::ClipData& clipData)
 {
-  mItem = itemData;
-  mCount = 1;
+  mMimeType = clipData.GetMimeType();
+  mData     = clipData.GetData();
+  mCount    = 1u;
+
+  if(mData.empty())
+  {
+    return false;
+  }
+
+  mDataSentSignal.Emit(mMimeType.c_str(), mData.c_str());
+
   return true;
 }
 
-void Clipboard::RequestItem()
+uint32_t Clipboard::GetData(const std::string &mimeType)
 {
-  Dali::ClipboardEventNotifier clipboardEventNotifier(Dali::ClipboardEventNotifier::Get());
-  if ( clipboardEventNotifier )
+  if(!mMimeType.compare(mimeType.c_str()))
   {
-    clipboardEventNotifier.SetContent( mItem );
-    clipboardEventNotifier.EmitContentSelectedSignal();
+    mDataId++;
+    mDataReceivedSignal.Emit(mDataId, mMimeType.c_str(), mData.c_str());
+    return mDataId;
   }
+  return 0u;
 }
 
-unsigned int Clipboard::NumberOfItems()
+size_t Clipboard::NumberOfItems()
 {
   return mCount;
 }
@@ -201,17 +246,8 @@ Clipboard Clipboard::Get()
 {
   return Internal::Adaptor::Clipboard::Get();
 }
-bool Clipboard::SetItem( const std::string &itemData)
-{
-  return GetImplementation(*this).SetItem( itemData );
-}
-
-void Clipboard::RequestItem()
-{
-  GetImplementation(*this).RequestItem();
-}
 
-unsigned int Clipboard::NumberOfItems()
+size_t Clipboard::NumberOfItems()
 {
   return GetImplementation(*this).NumberOfItems();
 }