modify license, permission and remove ^M char
[platform/framework/native/uifw.git] / src / ui / FUiClipboard.cpp
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0/
10 //
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.
16 //
17
18 /**
19  * @file                FUiClipboard.cpp
20  * @brief               This is the implementation file for Clipboard class.
21  * @version             1.0
22  *
23  * This file contains the implementation of Header class.
24  */
25
26 #include <FUiClipboard.h>
27 #include <FUiClipboardItem.h>
28 #include <FBaseSysLog.h>
29 #include "FUi_ClipboardImpl.h"
30 #include "FUi_ClipboardItemImpl.h"
31
32 using namespace Tizen::Base::Collection;
33
34 namespace Tizen { namespace Ui
35 {
36
37 result
38 Clipboard::CopyItem(const ClipboardItem& item)
39 {
40         SysAssertf((__pClipboardImpl != null), "Clipboard wasn't initialized.");
41
42         const _ClipboardItemImpl* pItemImpl = _ClipboardItemImpl::GetInstance(item);
43         SysTryReturn(NID_UI, pItemImpl, E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] A specified input parameter is invalid.");
44
45         result r = __pClipboardImpl->CopyItem(*pItemImpl);
46         SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
47
48         return r;
49 }
50
51 IList*
52 Clipboard::RetrieveItemsN(unsigned long dataTypes)
53 {
54         SysAssertf((__pClipboardImpl != null), "Clipboard wasn't initialized.");
55
56         IList* pList = __pClipboardImpl->RetrieveItemsN(dataTypes);
57         result r = GetLastResult();
58         SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
59
60         SetLastResult(E_SUCCESS);
61
62         return pList;
63
64 CATCH:
65         if (pList)
66         {
67                 pList->RemoveAll(true);
68                 delete pList;
69         }
70
71         return null;
72 }
73
74 ClipboardItem*
75 Clipboard::RetrieveLatestItemN(unsigned long dataTypes)
76 {
77         SysAssertf((__pClipboardImpl != null), "Clipboard wasn't initialized.");
78
79         _ClipboardItemImpl* pItemImpl = __pClipboardImpl->RetrieveLatestItemN(dataTypes);
80         result r = GetLastResult();
81         SysTryReturn(NID_UI, pItemImpl, null, r, "[%s] Propagating.", GetErrorMessage(r));
82         SysTryReturn(NID_UI, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
83
84         SetLastResult(E_SUCCESS);
85
86         return &(pItemImpl->GetPublic());
87 }
88
89 result
90 Clipboard::ShowPopup(unsigned long dataTypes, const Tizen::Ui::IClipboardPopupEventListener& listener)
91 {
92         Clipboard* pClipboard = GetInstance();
93         SysAssertf((pClipboard != null), "Clipboard wasn't initialized.");
94
95         _ClipboardImpl* pClipboardImpl = _ClipboardImpl::GetInstance(*pClipboard);
96         SysAssertf((pClipboardImpl != null), "Clipboard wasn't initialized.");
97
98         result r = pClipboardImpl->ShowPopup(dataTypes, listener);
99         SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
100
101         return r;
102 }
103
104 result
105 Clipboard::HidePopup(void)
106 {
107         Clipboard* pClipboard = GetInstance();
108         SysAssertf((pClipboard != null), "Clipboard wasn't initialized.");
109
110         _ClipboardImpl* pClipboardImpl = _ClipboardImpl::GetInstance(*pClipboard);
111         SysAssertf((pClipboardImpl != null), "Clipboard wasn't initialized.");
112
113         result r = pClipboardImpl->HidePopup();
114         SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
115
116         return r;
117 }
118
119 bool
120 Clipboard::IsPopupVisible(void)
121 {
122         Clipboard* pClipboard = GetInstance();
123         SysAssertf((pClipboard != null), "Clipboard wasn't initialized.");
124
125         _ClipboardImpl* pClipboardImpl = _ClipboardImpl::GetInstance(*pClipboard);
126         SysAssertf((pClipboardImpl != null), "Clipboard wasn't initialized.");
127
128         return pClipboardImpl->IsPopupVisible();
129 }
130
131 Clipboard*
132 Clipboard::GetInstance(void)
133 {
134         static Clipboard instance;
135
136         return (&instance);
137 }
138
139 Clipboard::Clipboard(void)
140         : __pClipboardImpl(null)
141 {
142         __pClipboardImpl = _ClipboardImpl::CreateInstanceN();
143 }
144
145 Clipboard::~Clipboard(void)
146 {
147         delete __pClipboardImpl;
148         __pClipboardImpl = null;
149 }
150
151 }} //Tizen::Ui