Revert "[3.0] Implement wayland clipboard"
[platform/core/uifw/dali-adaptor.git] / adaptors / ecore / wayland / clipboard-impl-ecore-wl.cpp
index cea687c..a55508a 100644 (file)
 #include <dali/public-api/object/any.h>
 #include <dali/public-api/object/type-registry.h>
 #include <dali/integration-api/debug.h>
+#include <bundle.h>
 
 // INTERNAL INCLUDES
 #include <singleton-service-impl.h>
 
-namespace //unnamed namespace
-{
-const char* const CBHM_WINDOW = "CBHM_XWIN";
-const char* const CBHM_MSG = "CBHM_MSG";
-const char* const CBHM_ITEM = "CBHM_ITEM";
-const char* const CBHM_cCOUNT = "CBHM_cCOUNT";
-const char* const CBHM_ERROR = "CBHM_ERROR";
-const char* const SET_ITEM = "SET_ITEM";
-const char* const SHOW = "show0";
-const char* const HIDE = "cbhm_hide";
-}
+#define CLIPBOARD_STR  "CLIPBOARD_STR"
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
 // Clipboard
@@ -55,7 +46,39 @@ namespace Adaptor
 
 struct Clipboard::Impl
 {
-  // Put implementation here.
+  Impl()
+  {
+    mBundle = bundle_create();
+  }
+
+  void SetItem(const char *data)
+  {
+    char *temp = NULL;
+
+    if (bundle_get_str(mBundle, CLIPBOARD_STR, &temp) == BUNDLE_ERROR_NONE)
+    {
+      bundle_del(mBundle, CLIPBOARD_STR);
+    }
+    bundle_add_str(mBundle, CLIPBOARD_STR, data);
+  }
+
+  char *GetItem()
+  {
+    char *data = NULL;
+
+    if ( bundle_get_count(mBundle) )
+    {
+      bundle_get_str(mBundle, CLIPBOARD_STR, &data);
+    }
+    return data;
+  }
+
+  int GetCount()
+  {
+    return bundle_get_count(mBundle);
+  }
+
+  bundle *mBundle;
 };
 
 Clipboard::Clipboard(Impl* impl)
@@ -94,6 +117,7 @@ Dali::Clipboard Clipboard::Get()
 
 bool Clipboard::SetItem(const std::string &itemData )
 {
+  mImpl->SetItem( const_cast<char*>( itemData.c_str()) );
   return true;
 }
 
@@ -102,16 +126,8 @@ bool Clipboard::SetItem(const std::string &itemData )
  */
 std::string Clipboard::GetItem( unsigned int index )  // change string to a Dali::Text object.
 {
-  if ( index >= NumberOfItems() )
-  {
-    return "";
-  }
-
-  std::string emptyString( "" );
-  char sendBuf[20];
-
-  snprintf( sendBuf, 20,  "%s%d", CBHM_ITEM, index );
-  return emptyString;
+  std::string clipboardString(mImpl->GetItem());
+  return clipboardString;
 }
 
 /*
@@ -119,9 +135,7 @@ std::string Clipboard::GetItem( unsigned int index )  // change string to a Dali
  */
 unsigned int Clipboard::NumberOfItems()
 {
-  int count = -1;
-
-  return count;
+  return mImpl->GetCount();
 }
 
 /**