X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=inc%2FFAppAppManager.h;h=fb862529c70f1fda81c5b080f69f97c5c5aac40c;hb=e384e080132b4e5a587116a6a6f5380a295b5018;hp=92f8ad550f6c98b7c139544f2769f390dfa7c158;hpb=0d7581a47c5dc6d4ee4dfcb87cc88d9b80090ddd;p=platform%2Fframework%2Fnative%2Fappfw.git diff --git a/inc/FAppAppManager.h b/inc/FAppAppManager.h old mode 100755 new mode 100644 index 92f8ad5..fb86252 --- 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); @@ -101,13 +100,10 @@ public: * 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 @@ -506,6 +509,8 @@ public: The specified condition is the local due time. 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 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. @@ -525,6 +530,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 +538,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 @@ -599,7 +606,6 @@ public: * @exception E_SUCCESS The method is successful. * @exception E_OBJ_ALREADY_EXIST The listener is already set. * @exception E_SYSTEM A system error has occurred. - * @see IAppCheckpointEventListener * */ result SetCheckpointEventListener(IAppCheckpointEventListener& listener); @@ -663,7 +669,6 @@ public: * @remarks Active application is the top most window with focus. * @see GetActiveApp() * @see RemoveActiveAppEventListener() - * @see IActiveAppEventListener */ result AddActiveAppEventListener(IActiveAppEventListener& listener); @@ -683,7 +688,6 @@ public: * @exception E_PRIVILEGE_DENIED The application does not have the privilege to call this method. * @see GetActiveApp() * @see AddActiveAppEventListener() - * @see IActiveAppEventListener */ result RemoveActiveAppEventListener(IActiveAppEventListener& listener); @@ -706,6 +710,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.