From: Hwankyu Jhun Date: Fri, 1 Apr 2022 08:21:29 +0000 (+0900) Subject: Add a new internal function X-Git-Tag: submit/tizen/20220404.004203~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=324c347dfea55bebc93e390b853573c997b9858e;p=platform%2Fcore%2Fapi%2Fapp-control.git Add a new internal function To support setting auto-restart,the function is added. This function is only available for platform level signed applications. Adds: - app_control_set_auto_restart() Change-Id: Ie63b76c2e219cacb93229523c61793d1ab6ede19 Signed-off-by: Hwankyu Jhun --- diff --git a/include/app_control_internal.h b/include/app_control_internal.h index 646574b..55cc00e 100644 --- a/include/app_control_internal.h +++ b/include/app_control_internal.h @@ -325,6 +325,26 @@ int app_control_send_resume_request(app_control_h app_control, app_control_resul */ int app_control_prepare_app_defined_loader(app_control_h app_control, const char *loader_id); +/** + * @brief Sets the auto restart. + * @details The functionality of this function only applies to the caller application. + * The auto restart cannot be applied to other applications. + * The application ID set in the app_control handle is ignored. + * + * @since_tizen 7.0 + * @param[in] app_control The app_control handle + * @return @c 0 on success, + * otherwise a negative error value + * @retval #APP_CONTROL_ERROR_NONE Successful + * @retval #APP_CONTROL_ERROR_PERMISSION_DENIED Permission denied + * @retval #APP_CONTROL_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #APP_CONTROL_ERROR_OUT_OF_MEMORY Out of memory + * @retval #APP_CONTROL_ERROR_IO_ERROR I/O error + * + * @remarks This function is only available for platform level signed applications. + */ +int app_control_set_auto_restart(app_control_h app_control); + /** * @} */ diff --git a/src/app-control/stub.cc b/src/app-control/stub.cc index d7b3ecf..f80157f 100644 --- a/src/app-control/stub.cc +++ b/src/app-control/stub.cc @@ -1220,3 +1220,33 @@ EXPORT int app_control_request_transient_app(app_control_h app_control, return APP_CONTROL_ERROR_NONE; } +EXPORT int app_control_set_auto_restart(app_control_h app_control) { + if (app_control == nullptr) { + _E("Invalid parameter"); + return APP_CONTROL_ERROR_INVALID_PARAMETER; + } + + auto* handle = reinterpret_cast(app_control); + int ret = aul_set_auto_restart(handle->ToBundle()); + if (ret != AUL_R_OK) { + _E("aul_set_auto_restart() is failed. error(%d)", ret); + switch (ret) { + case AUL_R_ENOMEM: + ret = APP_CONTROL_ERROR_OUT_OF_MEMORY; + break; + case AUL_R_EILLACC: + ret = APP_CONTROL_ERROR_PERMISSION_DENIED; + break; + case AUL_R_EINVAL: + ret = APP_CONTROL_ERROR_INVALID_PARAMETER; + break; + default: + ret = APP_CONTROL_ERROR_IO_ERROR; + break; + } + + return ret; + } + + return APP_CONTROL_ERROR_NONE; +}