/**
* Terminates the application while it is running. @n
- * The OnAppTerminating() method is called after the %Terminate() method is executed successfully.
+ * The %Terminate() method can be called explicitly by the application. The OnAppTerminating() method is called after this method is executed successfully.
*
* @since 2.0
*
* All the activities involved in terminating the application, including saving the application's states, must be done in the %OnAppTerminating() method.
* After this method, the application code cannot be executed. The application is destroyed subsequently. @n
*
- * An application can be terminated either by system, such as power-off and OOM, or others, such as self and other applications. @n
- * When the termination by system, called an “urgent termination”, occurs, the method, %OnAppTerminating(), cannot be executed properly.
- * For more details, while power-off, even if %OnAppTerminating() is called, it has a short time for executing. If the application is killed by OOM, %OnAppTerminating() is not called. @n
- * Because %OnAppTerminating() is not likely to be called due to urgent termination, the application should save the critical data as they can do.
- * For example, the application can set the check point or use the callback for low memory. @n
- * When the termination by self or other applications, called a “normal termination”, occurs, the method, %OnAppTerminating(), can be executed properly.
- * It provides more time for executing than urgent termination, but limits to the time to 3 or 5 seconds. @n
- * The main loop is already quitted when %OnAppTerminating() is called.
- * Thus, the application should not use a kind of asynchronous API of which the callback is triggered by the main loop.
+ * An application's termination is triggered either by the system or other applications. @n
+ * When the termination is triggered by the system because of conditions such as power-off and OOM, it is called "urgent termination" and during these terminations %OnAppTerminating(), cannot be executed properly.
+ * When an application is terminated because of a power-off, although this method is called, it should be executed in a short duration. And when an application is killed by OOM, this method is not called. @n
+ * This implies that this method is not likely to be called during an urgent termination, and hence the application should save the critical data as often as possible.
+ * For example, the application can set a check point or use the callback for low memory.
+ * When an application is terminated by self or other applications, it is called "normal termination" and during these terminations this method is executed properly because more time is provided for executing it as compared to an urgent termination (however, it does have a limit of 3-5 seconds). @n
+ * When this method is called, the main loop has already been quit.
+ * Thus, the application should not use any kind of asynchronous API that has callbacks triggered by the main loop.
*
* @since 2.0
*
/**
* Called when the battery level changes. @n
- * It is recommended that the application consuming more battery power must be terminated if the battery level is Tizen::System::BATTERY_LEVEL_CRITICAL.
+ * It is recommended that the application decides whether to terminate by itself by considering its own battery power consumption, if the battery level is Tizen::System::BATTERY_LEVEL_CRITICAL.
*
* @since 2.0
*
result SendUserEvent(RequestId requestId, const Tizen::Base::Collection::IList* pArgs);
/**
- * Called asynchronously when the user event is sent by the SendUserEvent() method. @n
- * The request ID and argument format for the user event can be defined as per the requirement.
+ * Called asynchronously when the user event is sent by the SendUserEvent() method.
*
* @since 2.0
*
*
* @final This class is not intended for extension.
*
- * The %AppSetting class lets an application to save or restore its settings.
- *
- *
- * The following example demonstrates how to use the %AppSetting class.
- *
- * @code
- * void
- * AppSettingForm::RefreshSetting(void)
- * {
- * AppSetting* pAppSetting = AppSetting::GetInstance();
- * AppAssert(pAppSetting);
- *
- * bool valueBool = false;
- * int valueInt = 0;
- * const String strLn(L"\n");
- * String valueString;
- * String settingText;
- *
- * AppAssert(pAppSetting->GetValue(L"checkbox1", valueBool) == E_SUCCESS);
- * settingText += L"checkbox1: ";
- * settingText += strFalseTrue[valueBool ? 1 : 0];
- * settingText += strLn;
- *
- * AppAssert(pAppSetting->GetValue(L"slider1", valueInt) == E_SUCCESS);
- * settingText += L"slider1: ";
- * settingText += Integer(valueInt).ToString();
- * settingText += strLn;
- *
- * AppAssert(pAppSetting->GetValue(L"editbox1", valueString) == E_SUCCESS);
- * settingText += L"editbox1: ";
- * settingText += valueString;
- * settingText += strLn;
- * // . . .
- * }
- *
- * void
- * AppSettingForm::SetSettingValueSet1(void)
- * {
- * AppSetting* pAppSetting = AppSetting::GetInstance();
- * AppAssert(pAppSetting);
- *
- * AppAssert(pAppSetting->SetValue(L"checkbox1", false) == E_SUCCESS);
- * AppAssert(pAppSetting->SetValue(L"slider1", 100) == E_SUCCESS);
- * AppAssert(pAppSetting->SetValue(L"editbox1", String(L"AppSetting working!")) == E_SUCCESS);
- * AppAssert(pAppSetting->SetValue(L"expanditem1", String(L"1 minute")) == E_SUCCESS);
- * AppAssert(pAppSetting->SetValue(L"expanditem1", false) == E_SUCCESS);
- * AppAssert(pAppSetting->SetValue(L"slider2", 0) == E_SUCCESS);
- * AppAssert(pAppSetting->SetValue(L"editbox2", String(L"AppSetting running!")) == E_SUCCESS);
- * // . . .
- * }
- * @endcode
- *
+ * The %AppSetting class is a helper class for an application to save or restore its settings.
+ * A setting entity is composed of a string-typed key and a value. The value type must be only of these three types: @c int, @c bool, and @c String.
+ * The settings are pre-defined in setting/setting.xml in the application's base directory
+ * and they can be easily set with Tizen IDE (<a href="../org.tizen.native.appprogramming/html/ide_sdk_tools/creating_running_app_setting.htm">Creating and Using Application Settings</a>, <a href="../org.tizen.native.appprogramming/html/ide_sdk_tools/application_settings_editor.htm">Application Settings Editor</a>).
+ * (The setting.xml is a symbolic link to the currently used setting file, which is related to the current version of the application.) @n
+ * The %AppSetting class is basically used for specific applications such as IME, which have no UI.
+ * Because the applications have no external way to modify their settings, users can adjust the setting values through the setting application, which is delegated to manage the settings.
+ * For supporting the consistency of setting values between two applications, the target application and the setting application, when setting a value in the setting application, the target application is notified from the setting application through OnAppSettingChanged()(see IAppSettingEventListener).
+ * For detailed example on this class, see <a href="../org.tizen.native.appprogramming/html/tutorials/app_tutorial/task_app_settings.htm?resultof=%22%41%70%70%53%65%74%74%69%6e%67%22%20%22%61%70%70%73%65%74%74%69%6e%67%22%20">Task: App Setting</a>.
+ *
*/
class _OSP_EXPORT_ AppSetting
: public Tizen::Base::Object
*
* @final This class is not intended for extension.
*
- * The %DataControlProviderManager class manages the data control provider.
+ * The %DataControlProviderManager class helps a data control provider application to handle data control requests from other applications and to send results or error message for each data control operation.
*/
class _OSP_EXPORT_ DataControlProviderManager
: public Tizen::Base::Object
public:
/**
- * Sets a SQL-type data control provider listener to the data control provider manager. @n
+ * Sets an SQL-friendly interface based data control provider listener to the data control provider manager. @n
* The listener gets notified when a data control request is received from the other applications.
* To unset the listener, pass a @c null value to the listener parameter.
*
* @since 2.0
*
* @return An error code
- * @param[in] pListener The SQL-type data control provider listener @n
+ * @param[in] pListener The SQL-friendly interface based data control provider listener @n
* The listener must implement the ISqlDataControlProviderEventListener interface.
* @exception E_SUCCESS The method is successful.
* @exception E_INVALID_STATE This instance has not been properly constructed.
result SetSqlDataControlProviderEventListener(ISqlDataControlProviderEventListener* pListener);
/**
- * Sets a MAP-type data control provider listener to the data control provider manager. @n
+ * Sets a key-value structured data control provider listener to the data control provider manager. @n
* The listener gets notified when a data control request is received from the other applications.
* To unset the listener, pass a @c null value to the listener parameter.
*
* @since 2.0
*
* @return An error code
- * @param[in] pListener The MAP-type data control provider listener @n
+ * @param[in] pListener The key-value structured data control provider listener @n
* The listener must implement the IMapDataControlProviderEventListener interface.
* @exception E_SUCCESS The method is successful.
* @exception E_INVALID_STATE This instance has not been properly constructed.
result SetMapDataControlProviderEventListener(IMapDataControlProviderEventListener* pListener);
/**
- * Sends the success result and the result set of SELECT request to the application requesting the SQL-type
+ * Sends the success result and the result set of SELECT request to the application requesting the SQL-friendly interface based
* data control. @n
* The data control provider must call the %SendSqlDataControlSelectResult() method to notify success to the requesting application.
* The application requesting the data control can get the success result and the result set
* @exception E_INVALID_ARG Either of the following conditions has occurred:
* - This method cannot send result for the specified @c reqId of INSERT, UPDATE, or DELETE requests.
* - Tizen::Io::Database or Tizen::Io::DbStatement instance associated with the specified @c pDbEnum is deleted.
- * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId did not exist.
+ * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId does not exist.
* @exception E_OBJECT_LOCKED The database instance associated to the specified @c pDbEnum is locked.
* @exception E_INVALID_FORMAT The database file associated to the specified @c pDbEnum is malformed.
* @exception E_IO Either of the following conditions has occurred:
/**
* Sends the success result of INSERT request and the last inserted row ID to the application requesting
- * the SQL-type data control. @n
+ * the SQL-friendly interface based data control. @n
* The data control provider must call the %SendSqlDataControlInsertResult() method to notify success to the requesting application.
* The application requesting the data control can get the success result and the last inserted row ID
* by implementing Tizen::App::ISqlDataControlResponseListener.
* @param[in] insertRowId The row ID of database changed by INSERT request
* @exception E_SUCCESS The method is successful.
* @exception E_INVALID_ARG This method cannot send result for the specified @c reqId of SELECT, UPDATE, or DELETE request.
- * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId did not exist.
+ * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId does not exist.
* @exception E_SYSTEM The method cannot proceed due to a severe system error.
* @see Tizen::App::DataControlProviderManager::SendSqlDataControlSelectResult()
* @see Tizen::App::DataControlProviderManager::SendSqlDataControlUpdateDeleteResult()
result SendSqlDataControlInsertResult(RequestId reqId, long long insertRowId);
/**
- * Sends the success result of UPDATE / DELETE request to the application requesting the SQL-type data control. @n
+ * Sends the success result of UPDATE / DELETE request to the application requesting the SQL-friendly interface based data control. @n
* The data control provider must call the %SendSqlDataControlUpdateDeleteResult() method to notify success to the requesting application.
* The application requesting the data control can get the success result by implementing Tizen::App::ISqlDataControlResponseListener.
*
* @param[in] reqId The request ID
* @exception E_SUCCESS The method is successful.
* @exception E_INVALID_ARG This method cannot send result for the specified @c reqId of SELECT or INSERT request.
- * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId did not exist.
+ * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId does not exist.
* @exception E_SYSTEM The method cannot proceed due to a severe system error.
* @see Tizen::App::DataControlProviderManager::SendSqlDataControlSelectResult()
* @see Tizen::App::DataControlProviderManager::SendSqlDataControlInsertResult()
result SendSqlDataControlUpdateDeleteResult(RequestId reqId);
/**
- * Sends the success result and the result list of the provider to the application requesting the MAP-type
+ * Sends the success result and the result list of the provider to the application requesting the key-value structured
* data control. @n
* The data control provider must call the %SendMapDataControlResult() method to notify success to the requesting application.
* The application requesting the data control can get the success result and the result set
* @param[in] reqId The request ID
* @param[in] errorMsg The provider-defined error message
* @exception E_SUCCESS The method is successful.
- * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId did not exist.
+ * @exception E_OBJ_NOT_FOUND The data control request specified with the @c reqId does not exist.
* @exception E_MAX_EXCEEDED The size of sending buffer has exceeded the maximum limit.
* @exception E_SYSTEM The method cannot proceed due to a severe system error.
* @remarks The recommended data size is under 16KB because severe system performance degradation may occur for large messages. @c E_MAX_EXCEEDED may be returned for messages over 16KB size.
/**
* @interface IMapDataControlProviderEventListener
- * @brief This interface defines a listener for dealing with MAP-type data control request.
+ * @brief This interface defines a listener for dealing with key-value structured data control request.
*
* @since 2.0
*
- * The %IMapDataControlProviderEventListener interface defines a listener for dealing with MAP-type data control request.
+ * The %IMapDataControlProviderEventListener interface defines a listener for dealing with key-value structured data control request.
*
* The following example demonstrates how to use the %IMapDataControlProviderEventListener interface.
* @code
virtual ~IMapDataControlProviderEventListener(void) {}
/**
- * Called when the request for getting the value list is received from MAP-type data control consumer. @n
+ * Called when the request for getting the value list is received from key-value structured data control consumer. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
const Tizen::Base::String& dataId, const Tizen::Base::String& key) = 0;
/**
- * Called when the request for adding the value is received from MAP-type data control consumer. @n
+ * Called when the request for adding the value is received from key-value structured data control consumer. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
const Tizen::Base::String& dataId, const Tizen::Base::String& key, const Tizen::Base::String& value) = 0;
/**
- * Called when the request for replacing the value is received from MAP-type data control consumer. @n
+ * Called when the request for replacing the value is received from key-value structured data control consumer. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
const Tizen::Base::String& newValue) = 0;
/**
- * Called when the request for removing the value is received from MAP-type data control consumer. @n
+ * Called when the request for removing the value is received from key-value structured data control consumer. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
/**
* @interface IMapDataControlResponseListener
-* @brief This interface defines a listener for the MAP-type data control response.
+* @brief This interface defines a listener for the key-value structured data control response.
*
* @since 2.0
*
-* The %IMapDataControlResponseListener interface defines a listener for the MAP-type data control response.
+* The %IMapDataControlResponseListener interface defines a listener for the key-value structured data control response.
*/
class _OSP_EXPORT_ IMapDataControlResponseListener
: virtual public Tizen::Base::Runtime::IEventListener
virtual ~IMapDataControlResponseListener(void) {}
/**
- * Called when the result value list is received from MAP-type data control provider. @n
+ * Called when the result value list is received from key-value structured data control provider. @n
* The application requesting the data control can get the result value list by implementing this listener. @n
* This listener must be registered by MapDataControl::SetMapDataControlResponseListener() for receiving the result value set.
* It is called after MapDataControl::GetValue().
bool providerResult, const Tizen::Base::String* pErrorMsg) = 0;
/**
- * Called when the response is received from MAP-type data control provider. @n
+ * Called when the response is received from key-value structured data control provider. @n
* The application requesting the data control can get the result by implementing this listener. @n
* This listener must be registered by MapDataControl::SetMapDataControlResponseListener() for receiving the result response.
* It is called after MapDataControl::AddValue().
const Tizen::Base::String& dataId, bool providerResult, const Tizen::Base::String* pErrorMsg) = 0;
/**
- * Called when the response is received from MAP-type data control provider. @n
+ * Called when the response is received from key-value structured data control provider. @n
* The application requesting the data control can get the result for some data controls by implementing this listener. @n
* This listener must be registered by MapDataControl::SetMapDataControlResponseListener() for receiving the result response.
* It is called after MapDataControl::SetValue().
const Tizen::Base::String& dataId, bool providerResult, const Tizen::Base::String* pErrorMsg) = 0;
/**
- * Called when the response is received from MAP-type data control provider. @n
+ * Called when the response is received from key-value structured data control provider. @n
* The application requesting the data control can get the result for some data controls by implementing this listener. @n
* This listener must be registered by MapDataControl::SetMapDataControlResponseListener() for receiving the result response.
* It is called after MapDataControl::RemoveValue().
/**
* @interface ISqlDataControlProviderEventListener
- * @brief This interface defines a listener for dealing with SQL-type data control request.
+ * @brief This interface defines a listener for dealing with SQL-friendly interface based data control request.
*
* @since 2.0
*
- * The %ISqlDataControlProviderEventListener interface defines a listener for dealing with SQL-type data control request.
+ * The %ISqlDataControlProviderEventListener interface defines a listener for dealing with SQL-friendly interface based data control request.
*
* The following example demonstrates how to use the %ISqlDataControlProviderEventListener interface.
*
virtual ~ISqlDataControlProviderEventListener(void) {}
/**
- * Called when a select request is received from an application using SQL-type data control. @n
+ * Called when a select request is received from an application using SQL-friendly interface based data control. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
const Tizen::Base::String* pWhere, const Tizen::Base::String* pOrder) = 0;
/**
- * Called when an insert request is received from an application using SQL-type data control. @n
+ * Called when an insert request is received from an application using SQL-friendly interface based data control. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
* @param[in] providerId The provider ID for identifying the data control
* @param[in] dataId A string for identifying a specific table to insert into @n
* The string consists of one or more components, separated by a slash('/').
- * @param[in] insertMap The column-value pairs to insert @n
+ * @param[in] insertMap The field values in a record to insert @n
* The type of objects contained in the specified @c insertMap is
* Tizen::Base::String class.
* @remarks For replying to the data control request, use DataControlProviderManager::SendSqlDataControlInsertResult()
const Tizen::Base::String& dataId, const Tizen::Base::Collection::IMap& insertMap) = 0;
/**
- * Called when an update request is received from an application using SQL-type data control. @n
+ * Called when an update request is received from an application using SQL-friendly interface based data control. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0
* @param[in] providerId The provider ID for identifying the data control
* @param[in] dataId A string for identifying a specific table to update @n
* The string consists of one or more components, separated by a slash('/').
- * @param[in] updateMap The column-value pairs to update @n
+ * @param[in] updateMap The field values in a record to update @n
* The type of objects contained in the specified @c updateMap is
* Tizen::Base::String class.
* @param[in] pWhere A filter to select desired rows to update @n
const Tizen::Base::String* pWhere) = 0;
/**
- * Called when a delete request is received from an application using SQL-type data control. @n
+ * Called when a delete request is received from an application using SQL-friendly interface based data control. @n
* The provider must implement this listener for providing its own data.
*
* @since 2.0