X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=inc%2FFAppAppManager.h;h=6e3dd3634f8fe7064a941791effeda2bff759762;hb=5f7bd02fdec9f922962725aafd8fdb4fa7955cd2;hp=95432f54b909c1349ce37794261d6c335e563b27;hpb=f15db508cc1b1acc7231b1238f6b26c199f7bd20;p=platform%2Fframework%2Fnative%2Fappfw.git
diff --git a/inc/FAppAppManager.h b/inc/FAppAppManager.h
index 95432f5..6e3dd36 100755
--- a/inc/FAppAppManager.h
+++ b/inc/FAppAppManager.h
@@ -1,5 +1,4 @@
//
-// Open Service Platform
// Copyright (c) 2012 Samsung Electronics Co., Ltd.
//
// Licensed under the Apache License, Version 2.0 (the License);
@@ -96,18 +95,15 @@ public:
* @remarks The specific error code can be accessed using the GetLastResult() method.
* @remarks %Tizen platform defines platform-defined alias for application ID and this aliased application ID
* can be used to find the AppControl. For more information, see
- * here.
+ * here.
*
* The following example demonstrates how to use the %FindAppControlN() method to find the application control.
*
* @code
- * ArrayList dataList(SingleObjectDeleter);
- * dataList.Construct();
- * dataList.Add(new String(L"tel:1234567900"));
- * dataList.Add(new String(L"type:voice"));
+ * String telUri = L"tel:12345678900";
*
- * AppControl* pAc = AppManager::FindAppControlN(L"tizen.phone", L"http://tizen.org/appcontrol/operation/call");
- * pAc->Start(&dataList, null);
+ * AppControl* pAc = AppManager::FindAppControlN(L"tizen.phone", L"http://tizen.org/appcontrol/operation/dial");
+ * pAc->Start(&telUri, null, null, null);
* @endcode
*/
static AppControl* FindAppControlN(const AppId& appId, const Tizen::Base::String& operationId);
@@ -134,7 +130,6 @@ public:
* @exception E_SYSTEM A system error has occurred. @n
* Either the file operation or the DB operation has failed.
* @remarks The specific error code can be accessed using the GetLastResult() method.
- * @remarks For the delivered launch arguments, see App::GetAppArgumentListN().
*/
static Tizen::Base::Collection::IList* FindAppControlsN(const Tizen::Base::String* pOperationId, const Tizen::Base::String* pCategory, const Tizen::Base::String* pDataType, const Tizen::Base::String* pUriPattern);
@@ -263,7 +258,9 @@ public:
* @exception E_SUCCESS The method is successful.
* @exception E_APP_NOT_INSTALLED The expected shared directory cannot be found
* because the application specified with @c appId cannot be installed.
- * @remarks The specific error code can be accessed using the GetLastResult() method.
+ * @remarks
+ * - The returned path can be invalid when the application with specified with @c appId is uninstalled.
+ * - The specific error code can be accessed using the GetLastResult() method.
*/
static Tizen::Base::String GetAppSharedPath(const AppId& appId);
@@ -329,7 +326,8 @@ public:
*
* @since 2.0
* @privlevel partner
- * @privilege %http://tizen.org/privilege/application.kill
+ * @privilege %http://tizen.org/privilege/appmanager.kill @n
+ * (%http://tizen.org/privilege/application.kill is deprecated.)
*
* @return An error code
* @param[in] appId The application's ID to execute
@@ -373,6 +371,7 @@ public:
* @since 2.0
* @privlevel public
* @privilege %http://tizen.org/privilege/application.launch
+ * @feature %http://tizen.org/feature/network.nfc for L"NFC='command'" or %http://tizen.org/feature/usb.accessory for "Serial='command'" in the value of @c condition
*
* @return An error code
* @param[in] condition The launch condition for the application @n
@@ -384,7 +383,7 @@ public:
L"DueTime='mm/dd/yyyy hh:mm:ss' LaunchPeriod='mm'" |
The specific condition is the time period after due time. |
L"WeeklyTime='EEE HH:mm:ss'" |
- The specified condition is a day of week with specific time to launch an application for every week. For multiple description, "," delimiter can be used like following example. i"Mon 09:00:00, Tue 09:00:00, Wed 09:00:00, Thu 09:00:00, Fir 09:00:00" The format of a day of week is support following string only. Mon: Monday Tue: Tuesday Wed: Wednesday Thu: Thursday Fri: Friday Sat: Saturday Sun: Sunday |
+ The specified condition is a day of a week with a specific time at which the application is launched on a weekly basis. For multiple descriptions, "," delimiter can be used as shown in the following example: i"Mon 09:00:00, Tue 09:00:00, Wed 09:00:00, Thu 09:00:00, Fri 09:00:00" To specify the day of the week, it must be in one of the following supported string format: Mon: Monday Tue: Tuesday Wed: Wednesday Thu: Thursday Fri: Friday Sat: Saturday Sun: Sunday |
L"Serial='command'" | The specified condition is a serial
communication input command. |
L"NFC='command'" | The specified condition is a Near Field Communication (NFC) tag that has the NFC Data Exchange Format (NDEF) data.
@@ -404,6 +403,7 @@ public:
* @exception E_MAX_EXCEEDED The size of @c pArguments has exceeded the maximum limit.
* @exception E_SYSTEM A system error has occurred.
* @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
+ * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. For more information, see Application Filtering. @b Since: @b 2.1
*
* @remarks When the registered application is about to be launched, the registered launch condition and arguments are given as parameters to IAppLaunchConditionEventListener::OnAppLaunchConditionMetN().
* @remarks The newly introduced launch condition does not work on the previous SDK version and the E_INVALID_CONDITION exception is returned.
@@ -411,9 +411,10 @@ public:
* @remarks The launch period requires more consideration because an inappropriate short period value may lead
* to an adverse effect on the device battery.
* @remarks For the NFC launch condition, the detected NDEF message can be acquired using the @c pExtraData parameter of the %IAppLaunchConditionEventListener::OnAppLaunchConditionMetN() method.
+ * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
* @see UnregisterAppLaunch()
* @see IsAppLaunchRegistered()
- * @see LaunchApplication()
+ * @see LaunchApplication(const AppId&, LaunchOption);
* @see Tizen::Base::DateTime::ToString()
* @see Tizen::Io::SerialPort
*
@@ -443,10 +444,11 @@ public:
* @privilege %http://tizen.org/privilege/application.launch
*
* @return An error code
- * @exception E_SUCCESS The method is successful.
+ * @exception E_SUCCESS Either of the following conditions has occurred:
+ * - The method is successful.
+ * - There is no registered launch condition.
* @exception E_SYSTEM A system error has occurred.
* @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
- * @remarks E_SUCCESS An error occurs when there is no registered launch condition.
* @see RegisterAppLaunch()
* @see IsAppLaunchRegistered()
*/
@@ -495,6 +497,7 @@ public:
* @since 2.0
* @privlevel partner
* @privilege %http://tizen.org/privilege/appmanager.launch
+ * @feature %http://tizen.org/feature/network.nfc for L"NFC='command'" or %http://tizen.org/feature/usb.accessory for L"Serial='command'" in the value of @c condition
*
* @return An error code
* @param[in] appId The ID of the application registered for launch
@@ -525,6 +528,7 @@ public:
* @exception E_MAX_EXCEEDED The size of @c pArguments has exceeded the maximum limit.
* @exception E_SYSTEM A system error has occurred.
* @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
+ * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature. For more information, see Application Filtering. @b Since: @b 2.1
*
* @remarks When the registered application is about to be launched, the registered launch condition and arguments are given as parameters to IAppLaunchConditionEventListener::OnAppLaunchConditionMetN().
* @remarks The newly introduced launch condition does not work on the previous SDK version and the @c E_INVALID_CONDITION exception is returned.
@@ -532,9 +536,10 @@ public:
* @remarks The launch period requires more consideration because an inappropriate short period value may lead
* to an adverse effect on the device battery.
* @remarks For the NFC launch condition, the detected NDEF message can be acquired using the @c pExtraData parameter of the %IAppLaunchConditionEventListener::OnAppLaunchConditionMetN() method.
+ * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
* @see UnregisterAppLaunch()
* @see IsAppLaunchRegistered()
- * @see LaunchApplication()
+ * @see LaunchApplication(const AppId&, LaunchOption);
* @see IAppLaunchConditionEventListener::OnAppLaunchConditionMetN()
* @see Tizen::Base::DateTime::ToString()
* @see Tizen::Io::SerialPort
@@ -706,6 +711,42 @@ public:
*/
result GetActiveApp(AppId& appId);
+ /**
+ * Checks whether the specified application is declared as preferred application for any AppControl resolution
+ *
+ * @since 2.2
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/appmanager.setting
+ *
+ * @return @c true if the application is running, @n
+ * else @c false
+ * @param[in] appId Application ID
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM The method cannot proceed due to a severe system error.
+ * @exception E_APP_NOT_INSTALLED The specified application is not installed.
+ * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
+ * @remarks The specific error code can be accessed using the GetLastResult() method.
+ * @remarks For more information on AppControl resolution, see Application Controls.
+ */
+ bool IsUserPreferredAppForAppControlResolution(const AppId& appId) const;
+
+ /**
+ * Clear user preference for all AppControl resolutions on the specified application.
+ *
+ * @since 2.2
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/appmanager.setting
+ *
+ * @return An error code
+ * @param[in] appId The preferred application's ID
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_SYSTEM The method cannot proceed due to a severe system error.
+ * @exception E_APP_NOT_INSTALLED The specified application is not installed.
+ * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method.
+ * @remarks For more information on AppControl resolution, see Application Controls.
+ */
+ result ClearUserPreferenceForAppControlResolution(const AppId& appId);
+
private:
/**
* This default constructor is intentionally declared as private to implement the %Singleton semantic.
|