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.