merge with master
[framework/osp/ime.git] / inc / FUiImeInputMethodInfo.h
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.h\r
20  * @brief       This is the header file for the %InputMethodInfo class.\r
21  *\r
22  * This header file contains the declarations of the %InputMethodInfo class.\r
23  */\r
24 \r
25 #ifndef _FUI_IME_INPUT_METHOD_INFO_H_\r
26 #define _FUI_IME_INPUT_METHOD_INFO_H_\r
27 \r
28 #include <FAppTypes.h>\r
29 #include <FBaseColIList.h>\r
30 #include <FBaseObject.h>\r
31 #include <FBaseString.h>\r
32 #include <FOspConfig.h>\r
33 \r
34 namespace Tizen { namespace Ui { namespace Ime {\r
35 \r
36 class _InputMethodInfoImpl;\r
37 \r
38 /**\r
39  * @class InputMethodInfo\r
40  * @brief This class provides a standard implementation of the %InputMethodInfo.\r
41  * @since 2.1\r
42  *\r
43  * @final This class is not intended for extension.\r
44  * @remarks A user can get the general information of the input method.\r
45  *\r
46  * @privlevel platform\r
47  * @privilege http://tizen.org/privilege/imemanager\r
48  *\r
49  * The %InputMethodInfo class provides a standard implementation of the %InputMethodInfo.\r
50  *\r
51  */\r
52 class _OSP_EXPORT_ InputMethodInfo\r
53         : public Tizen::Base::Object\r
54 {\r
55 public:\r
56         /**\r
57          * This destructor overrides Tizen::Base::Object::~Object().\r
58          *\r
59          * @since 2.1\r
60          * @privlevel platform\r
61          * @privilege http://tizen.org/privilege/imemanager\r
62          */\r
63         virtual ~InputMethodInfo(void);\r
64 \r
65         /**\r
66          * Gets the application ID of an input method.\r
67          *\r
68          * @since 2.1\r
69          * @privlevel platform\r
70          * @privilege http://tizen.org/privilege/imemanager\r
71          *\r
72          * @return The application ID\r
73          * @exception E_SUCCESS The method is successful.\r
74          * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.\r
75          */\r
76         Tizen::App::AppId GetAppId(void) const;\r
77 \r
78         /**\r
79          * Gets the language list that an input method supports.\r
80          *\r
81          * @since 2.1\r
82          * @privlevel platform\r
83          * @privilege http://tizen.org/privilege/imemanager\r
84          *\r
85          * @return An instance of the language list that consists of the Locale instances\r
86          * @exception E_SUCCESS The method is successful.\r
87          * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.\r
88          * @remarks The %InputMethodInfo automatically deallocates the memory of the language list when it is destroyed. Therefore a user should not\r
89          * manually deallocate the memory of the language list.\r
90          */\r
91         const Tizen::Base::Collection::IList* GetLanguageList(void) const;\r
92 \r
93         /**\r
94          * Gets the name of an input method.\r
95          *\r
96          * @since 2.1\r
97          * @privlevel platform\r
98          * @privilege http://tizen.org/privilege/imemanager\r
99          *\r
100          * @return The name\r
101          * @exception E_SUCCESS The method is successful.\r
102          * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.\r
103          */\r
104         Tizen::Base::String GetName(void) const;\r
105 \r
106 private:\r
107         //\r
108         // This Equals() is intentionally declared as private so that only the platform can compare the object received as an input parameter with this object.\r
109         //\r
110         // @since 2.1\r
111         //\r
112         // @return @c true if the object received as an input parameter equals this object, @n\r
113         // else @c false\r
114         // @param[in]   object A reference to the %InputMethodInfo\r
115         //\r
116         virtual bool Equals(const Object& object) const;\r
117 \r
118         //\r
119         // This default constructor is intentionally declared as private so that only the platform can create an instance.\r
120         //\r
121         // @since 2.1\r
122         //\r
123         InputMethodInfo(void);\r
124 \r
125         //\r
126         // This copy constructor is intentionally declared as private so that only the platform can copy objects.\r
127         //\r
128         // @since 2.1\r
129         //\r
130         // @param[in]   info A reference to the %InputMethodInfo\r
131         //\r
132         InputMethodInfo(const InputMethodInfo& info);\r
133 \r
134         //\r
135         // This copy assignment operator is intentionally declared as private so that only the platform can copy objects.\r
136         //\r
137         // @since 2.1\r
138         //\r
139         // @param[in]   info A reference to the %InputMethodInfo\r
140         //\r
141         InputMethodInfo& operator=(const InputMethodInfo& info);\r
142 \r
143 private:\r
144         friend class _InputMethodInfoImpl;\r
145         friend class _InputMethodManagerImpl;\r
146 \r
147         _InputMethodInfoImpl* __pInputMethodInfoImpl;\r
148 };\r
149 \r
150 }}} // Tizen::Ui::Ime\r
151 \r
152 #endif // _FUI_IME_INPUT_METHOD_INFO_H_\r