2 // Open Service Platform
\r
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
\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
9 // http://www.apache.org/licenses/LICENSE-2.0
\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
19 * @file FUiImeInputMethodManager.h
\r
20 * @brief This is the header file for the %InputMethodManager class.
\r
22 * This header file contains the declarations of the %InputMethodManager class.
\r
25 #ifndef _FUI_IME_INPUT_METHOD_MANAGER_H_
\r
26 #define _FUI_IME_INPUT_METHOD_MANAGER_H_
\r
28 #include <FAppTypes.h>
\r
29 #include <FBaseColIList.h>
\r
30 #include <FBaseDataType.h>
\r
31 #include <FBaseObject.h>
\r
32 #include <FOspConfig.h>
\r
33 #include <FUiImeInputMethodInfo.h>
\r
35 namespace Tizen { namespace Ui { namespace Ime {
\r
37 class _InputMethodManagerImpl;
\r
40 * @class InputMethodManager
\r
41 * @brief This class provides a standard implementation of the %InputMethodManager class.
\r
44 * @final This class is not intended for extension.
\r
45 * @remarks A user can manage input methods installed in the system.
\r
47 * The %InputMethodManager class provides a standard implementation of the %InputMethodManager class.
\r
50 class _OSP_EXPORT_ InputMethodManager
\r
51 : public Tizen::Base::Object
\r
55 * Gets an instance of %InputMethodManager.
\r
58 * @privlevel platform
\r
59 * @privilege %http://tizen.org/privilege/imemanager
\r
61 * @return An instance of %InputMethodManager
\r
62 * @exception E_SUCCESS The method is successful.
\r
63 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
\r
65 * - The specific error code can be accessed using the GetLastResult() method.
\r
66 * - There is a high probability for an occurrence of an out-of-memory exception. @n If possible, check whether the exception is @c E_OUT_OF_MEMORY or not. For more information on how to handle the out-of-memory exception, refer <a href="../org.tizen.native.appprogramming/html/basics_tizen_programming/exception_check.htm">here</a>.
\r
68 static InputMethodManager* GetInstance(void);
\r
71 * Gets the %InputMethodInfo of the active input method.
\r
74 * @privlevel platform
\r
75 * @privilege %http://tizen.org/privilege/imemanager
\r
77 * @return An instance of the InputMethodInfo @n
\r
78 * This method returns @c null if it fails.
\r
79 * @exception E_SUCCESS The method is successful.
\r
80 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
\r
81 * @remarks The specific error code can be accessed using the GetLastResult() method.
\r
83 InputMethodInfo* GetActiveInputMethodInfoN(void) const;
\r
86 * Gets the list of InputMethodInfo for all the input methods installed in a system.
\r
89 * @privlevel platform
\r
90 * @privilege %http://tizen.org/privilege/imemanager
\r
92 * @return An instance of the list that consists of the InputMethodInfo instances
\r
93 * @exception E_SUCCESS The method is successful.
\r
94 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
\r
95 * @remarks The specific error code can be accessed using the GetLastResult() method.
\r
97 Tizen::Base::Collection::IList* GetInputMethodInfoListN(void) const;
\r
100 * Sets an input method.
\r
103 * @privlevel platform
\r
104 * @privilege %http://tizen.org/privilege/imemanager
\r
106 * @return An error code
\r
107 * @param[in] id An application ID
\r
108 * @exception E_SUCCESS The method is successful.
\r
109 * @exception E_APP_NOT_INSTALLED The specified ID does not match with any of the application IDs for the input methods installed in the system.
\r
110 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
\r
112 result SetInputMethod(const Tizen::App::AppId& id);
\r
115 * Checks whether an input method is active or not.
\r
118 * @privlevel platform
\r
119 * @privilege %http://tizen.org/privilege/imemanager
\r
121 * @return @c true if the input method is active, @n
\r
123 * @param[in] id An application ID
\r
124 * @exception E_SUCCESS The method is successful.
\r
125 * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
\r
126 * @remarks The specific error code can be accessed using the GetLastResult() method.
\r
128 bool IsActiveInputMethod(const Tizen::App::AppId& id) const;
\r
132 // This default constructor is intentionally declared as private to implement the Singleton semantic.
\r
136 InputMethodManager(void);
\r
139 // This destructor is intentionally declared as private to implement the Singleton semantic.
\r
143 virtual ~InputMethodManager(void);
\r
146 // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
\r
150 InputMethodManager(const InputMethodManager& rhs);
\r
153 // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
\r
157 InputMethodManager& operator=(const InputMethodManager& rhs);
\r
160 friend class _InputMethodManagerImpl;
\r
162 _InputMethodManagerImpl* __pInputMethodManagerImpl;
\r
165 }}} // Tizen::Ui::Ime
\r
167 #endif // _FUI_IME_INPUT_METHOD_MANAGER_H_
\r