Tizen 2.1 base
[platform/framework/native/ime.git] / src / FUiImeInputMethodInfo.cpp
1 //\r
2 // Open Service Platform\r
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.\r
4 //\r
5 // Licensed under the Apache License, Version 2.0 (the License);\r
6 // you may not use this file except in compliance with the License.\r
7 // You may obtain a copy of the License at\r
8 //\r
9 //     http://www.apache.org/licenses/LICENSE-2.0\r
10 //\r
11 // Unless required by applicable law or agreed to in writing, software\r
12 // distributed under the License is distributed on an "AS IS" BASIS,\r
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14 // See the License for the specific language governing permissions and\r
15 // limitations under the License.\r
16 //\r
17 \r
18 /**\r
19  * @file        FUiImeInputMethodInfo.cpp\r
20  * @brief       This is the implementation file for the %InputMethodInfo class.\r
21  *\r
22  * This implementation file contains definition of the %InputMethodInfo class.\r
23  */\r
24 \r
25 #include <FBaseSysLog.h>\r
26 #include <FUiImeInputMethodInfo.h>\r
27 \r
28 #include <FSec_AccessController.h>\r
29 #include "FUiIme_InputMethodInfoImpl.h"\r
30 \r
31 using namespace Tizen::Security;\r
32 \r
33 namespace Tizen { namespace Ui { namespace Ime {\r
34 \r
35 InputMethodInfo::InputMethodInfo(void)\r
36 {\r
37         result r = E_SUCCESS;\r
38 \r
39         __pInputMethodInfoImpl = _InputMethodInfoImpl::CreateInputMethodInfoImplN();\r
40         r = GetLastResult();\r
41         SysTryReturnVoidResult(NID_UI_IME, __pInputMethodInfoImpl, r, "[%s] Propagating.", GetErrorMessage(r));\r
42 \r
43         return;\r
44 }\r
45 \r
46 InputMethodInfo::~InputMethodInfo(void)\r
47 {\r
48         delete  __pInputMethodInfoImpl;\r
49         __pInputMethodInfoImpl = null;\r
50 }\r
51 \r
52 InputMethodInfo::InputMethodInfo(const InputMethodInfo& info)\r
53 {\r
54         result r = E_SUCCESS;\r
55 \r
56         __pInputMethodInfoImpl = _InputMethodInfoImpl::CreateInputMethodInfoImplN(*(info.__pInputMethodInfoImpl));\r
57         r = GetLastResult();\r
58         SysTryReturnVoidResult(NID_UI_IME, __pInputMethodInfoImpl, r, "[%s] Propagating.", GetErrorMessage(r));\r
59 \r
60         return;\r
61 }\r
62 \r
63 InputMethodInfo&\r
64 InputMethodInfo::operator=(const InputMethodInfo& info)\r
65 {\r
66         *__pInputMethodInfoImpl = *(info.__pInputMethodInfoImpl);\r
67 \r
68         return *this;\r
69 }\r
70 \r
71 bool\r
72 InputMethodInfo::Equals(const Object& object) const\r
73 {\r
74         const InputMethodInfo* pInputMethodInfo = static_cast<const InputMethodInfo*>(&object);\r
75         SysTryReturn(NID_UI_IME, pInputMethodInfo, false, E_INVALID_ARG, "Invalid argument(s) is used. The object is not the InputMethodInfo.");\r
76 \r
77         return __pInputMethodInfoImpl->Equals(*(pInputMethodInfo->__pInputMethodInfoImpl));\r
78 }\r
79 \r
80 Tizen::App::AppId\r
81 InputMethodInfo::GetAppId(void) const\r
82 {\r
83         result r = E_SUCCESS;\r
84 \r
85         r = _AccessController::CheckUserPrivilege(_PRV_IMEMANAGER);\r
86         SysTryReturn(NID_UI_IME, r == E_SUCCESS, "", E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method.");\r
87 \r
88         return __pInputMethodInfoImpl->GetAppId();\r
89 }\r
90 \r
91 const Tizen::Base::Collection::IList*\r
92 InputMethodInfo::GetLanguageList(void) const\r
93 {\r
94         result r = E_SUCCESS;\r
95 \r
96         r = _AccessController::CheckUserPrivilege(_PRV_IMEMANAGER);\r
97         SysTryReturn(NID_UI_IME, r == E_SUCCESS, null, E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method.");\r
98 \r
99         return __pInputMethodInfoImpl->GetLanguageList();\r
100 }\r
101 \r
102 Tizen::Base::String\r
103 InputMethodInfo::GetName(void) const\r
104 {\r
105         result r = E_SUCCESS;\r
106 \r
107         r = _AccessController::CheckUserPrivilege(_PRV_IMEMANAGER);\r
108         SysTryReturn(NID_UI_IME, r == E_SUCCESS, "", E_PRIVILEGE_DENIED, "[E_PRIVILEGE_DENIED] The application does not have the privilege to call this method.");\r
109 \r
110         return __pInputMethodInfoImpl->GetName();\r
111 }\r
112 \r
113 }}} // Tizen::Ui::Ime\r