2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 * @file FUiClipboard.cpp
19 * @brief This is the implementation file for Clipboard class.
22 * This file contains the implementation of Header class.
24 #include <FUiClipboard.h>
25 #include <FUiClipboardItem.h>
26 #include <FBaseSysLog.h>
27 #include "FUi_ClipboardImpl.h"
28 #include "FUi_ClipboardItemImpl.h"
30 using namespace Tizen::Base::Collection;
32 namespace Tizen { namespace Ui
36 Clipboard::CopyItem(const ClipboardItem& item)
38 SysAssertf((__pClipboardImpl != null), "Clipboard wasn't initialized.");
40 const _ClipboardItemImpl* pItemImpl = _ClipboardItemImpl::GetInstance(item);
41 SysTryReturn(NID_UI, pItemImpl, E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] A specified input parameter is invalid.");
43 result r = __pClipboardImpl->CopyItem(*pItemImpl);
44 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
50 Clipboard::RetrieveItemsN(unsigned long dataTypes)
52 SysAssertf((__pClipboardImpl != null), "Clipboard wasn't initialized.");
54 IList* pList = __pClipboardImpl->RetrieveItemsN(dataTypes);
55 result r = GetLastResult();
56 SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
58 SetLastResult(E_SUCCESS);
65 pList->RemoveAll(true);
73 Clipboard::RetrieveLatestItemN(unsigned long dataTypes)
75 SysAssertf((__pClipboardImpl != null), "Clipboard wasn't initialized.");
77 _ClipboardItemImpl* pItemImpl = __pClipboardImpl->RetrieveLatestItemN(dataTypes);
78 result r = GetLastResult();
79 SysTryReturn(NID_UI, pItemImpl, null, r, "[%s] Propagating.", GetErrorMessage(r));
80 SysTryReturn(NID_UI, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
82 SetLastResult(E_SUCCESS);
84 return &(pItemImpl->GetPublic());
88 Clipboard::ShowPopup(unsigned long dataTypes, const Tizen::Ui::IClipboardPopupEventListener& listener)
90 Clipboard* pClipboard = GetInstance();
91 SysAssertf((pClipboard != null), "Clipboard wasn't initialized.");
93 _ClipboardImpl* pClipboardImpl = _ClipboardImpl::GetInstance(*pClipboard);
94 SysAssertf((pClipboardImpl != null), "Clipboard wasn't initialized.");
96 result r = pClipboardImpl->ShowPopup(dataTypes, listener);
97 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
103 Clipboard::HidePopup(void)
105 Clipboard* pClipboard = GetInstance();
106 SysAssertf((pClipboard != null), "Clipboard wasn't initialized.");
108 _ClipboardImpl* pClipboardImpl = _ClipboardImpl::GetInstance(*pClipboard);
109 SysAssertf((pClipboardImpl != null), "Clipboard wasn't initialized.");
111 result r = pClipboardImpl->HidePopup();
112 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
118 Clipboard::IsPopupVisible(void)
120 Clipboard* pClipboard = GetInstance();
121 SysAssertf((pClipboard != null), "Clipboard wasn't initialized.");
123 _ClipboardImpl* pClipboardImpl = _ClipboardImpl::GetInstance(*pClipboard);
124 SysAssertf((pClipboardImpl != null), "Clipboard wasn't initialized.");
126 return pClipboardImpl->IsPopupVisible();
130 Clipboard::GetInstance(void)
132 static Clipboard instance;
137 Clipboard::Clipboard(void)
138 : __pClipboardImpl(null)
140 __pClipboardImpl = _ClipboardImpl::CreateInstanceN();
143 Clipboard::~Clipboard(void)
145 delete __pClipboardImpl;
146 __pClipboardImpl = null;