1 #ifndef __DALI_INTERNAL_CLIPBOARD_H__
2 #define __DALI_INTERNAL_CLIPBOARD_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/public-api/object/base-object.h>
25 #include <clipboard.h>
37 * Implementation of the Clip Board
40 class Clipboard : public Dali::BaseObject
44 // Hide the specific windowing system
48 * @copydoc Dali::ClipboardEventNotifier::Get()
50 static Dali::Clipboard Get();
54 * @param[in] impl Some data from a specific windowing system.
56 Clipboard(Impl* impl);
64 * @copydoc Dali::Clipboard::SetItem()
66 bool SetItem(const std::string &itemData);
69 * @copydoc Dali::Clipboard::RequestItem()
74 * @copydoc Dali::Clipboard::NumberOfClipboardItems()
76 unsigned int NumberOfItems();
79 * @copydoc Dali::Clipboard::ShowClipboard()
84 * @copydoc Dali::Clipboard::HideClipboard()
86 void HideClipboard(bool skipFirstHide);
89 * @copydoc Dali::Clipboard::IsVisible()
91 bool IsVisible() const;
94 * @brief exchange either sending or receiving buffered data
96 * @param[in] type true for send buffered data, false for receive data to buffer
97 * @param[in] event information pointer
98 * @return The buffer pointer for send or receive data
100 char* ExcuteBuffered( bool type, void *event );
105 Clipboard( const Clipboard& );
106 Clipboard& operator=( Clipboard& );
114 }; // class clipboard
116 } // namespace Adaptor
118 } // namespace Internal
120 inline static Internal::Adaptor::Clipboard& GetImplementation(Dali::Clipboard& clipboard)
122 DALI_ASSERT_ALWAYS( clipboard && "Clipboard handle is empty" );
123 BaseObject& handle = clipboard.GetBaseObject();
124 return static_cast<Internal::Adaptor::Clipboard&>(handle);
127 inline static const Internal::Adaptor::Clipboard& GetImplementation(const Dali::Clipboard& clipboard)
129 DALI_ASSERT_ALWAYS( clipboard && "Clipboard handle is empty" );
130 const BaseObject& handle = clipboard.GetBaseObject();
131 return static_cast<const Internal::Adaptor::Clipboard&>(handle);
136 #endif // __DALI_INTERNAL_CLIPBOARD_H__