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