From: Zofia Grzelewska Date: Thu, 20 Feb 2020 17:15:32 +0000 (+0100) Subject: Add ppm_popup_send_response stub API X-Git-Tag: submit/tizen/20200309.073354~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ce04b87ebcf5ddd4ed69f07a461c55625cc3f10e;p=platform%2Fcore%2Fsecurity%2Faskuser.git Add ppm_popup_send_response stub API Change-Id: I232c9932fec00907409c2a11650467479d92fbb0 --- diff --git a/src/capi/impl/privacy_privilege_manager.c b/src/capi/impl/privacy_privilege_manager.c index 37d4c32..0aa75fa 100644 --- a/src/capi/impl/privacy_privilege_manager.c +++ b/src/capi/impl/privacy_privilege_manager.c @@ -26,6 +26,7 @@ #include #include +#include #define UNUSED __attribute__((unused)) @@ -494,3 +495,17 @@ int ppm_request_permissions(const char **privileges, size_t privileges_count, return PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE; } + +EXPORT_API +int ppm_popup_send_response(int popup_id, + const char **privacies, + ppm_popup_response_e *responses, + size_t privacies_count) +{ + (void) popup_id; + (void) privacies; + (void) responses; + (void) privacies_count; + + return PRIVACY_PRIVILEGE_MANAGER_ERROR_UNKNOWN; +} diff --git a/src/capi/include/ppm_error.h b/src/capi/include/ppm_error.h new file mode 100644 index 0000000..a222b51 --- /dev/null +++ b/src/capi/include/ppm_error.h @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +#ifndef __PPM_ERROR_H__ +#define __PPM_ERROR_H__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @addtogroup CAPI_PRIVACY_PRIVILEGE_MANAGER_MODULE + * @{ + */ + +/** + * @brief Enumeration for error codes of Privacy Privilege Manager. + * @since_tizen 4.0 + */ +typedef enum +{ + /** Successful */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE = TIZEN_ERROR_NONE, + /** I/O error */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, + /** Invalid parameter */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, + /** Operation already in progress */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_ALREADY_IN_PROGRESS = TIZEN_ERROR_ALREADY_IN_PROGRESS, + /** Out of memory */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, + /** Permission denied */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, + /** Unknown error */ + PRIVACY_PRIVILEGE_MANAGER_ERROR_UNKNOWN = TIZEN_ERROR_UNKNOWN, +} ppm_error_e; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif /* __PPM_ERROR_H__ */ diff --git a/src/capi/include/ppm_popup.h b/src/capi/include/ppm_popup.h new file mode 100644 index 0000000..062c18e --- /dev/null +++ b/src/capi/include/ppm_popup.h @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + */ + +#ifndef __PPM_POPUP_H__ +#define __PPM_POPUP_H__ + +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumeration for values of popup response. + * @since_tizen 6.0 + */ +typedef enum { + /** The user granted permission to use a privilege for an indefinite period of time. */ + PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_ALLOW_FOREVER, + /** The user denied granting permission to use a privilege for an indefinite period of time. */ + PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_DENY_FOREVER, + /** The user denied granting permission to use a privilege once. */ + PRIVACY_PRIVILEGE_MANAGER_POPUP_RESPONSE_DENY_ONCE, +} ppm_popup_response_e; + +/** + * @brief Checks if an application, which calls this function, has permission to use the + * given privilege. + * + * @since_tizen 6.0 + * + * @param[in] popup_id The ID of the popup assigned by askuser daemon when UI popup app + * was invoked. + * @param[in] privacies The privacies array for which user response has been acquired. + * @param[in] responses The responses array for corresponding privacies. + * @param[in] privacies_count The number of elements in the privacies and results arrays. + * + * @return 0 on success, otherwise a negative error value + * @retval #PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE Successful + * @retval #PRIVACY_PRIVILEGE_MANAGER_ERROR_IO_ERROR I/O error + * @retval #PRIVACY_PRIVILEGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #PRIVACY_PRIVILEGE_MANAGER_ERROR_OUT_OF_MEMORY Out of memory + * @retval #PRIVACY_PRIVILEGE_MANAGER_ERROR_UNKNOWN Unknown error + */ +int ppm_popup_send_response(int popup_id, + const char **privacies, + ppm_popup_response_e *responses, + size_t privacies_count); + +#ifdef __cplusplus +} +#endif + +#endif /* __PPM_POPUP_H__ */ + diff --git a/src/capi/include/privacy_privilege_manager.h b/src/capi/include/privacy_privilege_manager.h index 6f650b5..c559b9f 100644 --- a/src/capi/include/privacy_privilege_manager.h +++ b/src/capi/include/privacy_privilege_manager.h @@ -19,6 +19,7 @@ #include #include +#include #ifdef __cplusplus extern "C" { @@ -29,28 +30,6 @@ extern "C" { * @{ */ -/** - * @brief Enumeration for error codes of Privacy Privilege Manager. - * @since_tizen 4.0 - */ -typedef enum -{ - /** Successful */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE = TIZEN_ERROR_NONE, - /** I/O error */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_IO_ERROR = TIZEN_ERROR_IO_ERROR, - /** Invalid parameter */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, - /** Operation already in progress */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_ALREADY_IN_PROGRESS = TIZEN_ERROR_ALREADY_IN_PROGRESS, - /** Out of memory */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY, - /** Permission denied */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, - /** Unknown error */ - PRIVACY_PRIVILEGE_MANAGER_ERROR_UNKNOWN = TIZEN_ERROR_UNKNOWN, -} ppm_error_e; - /** * @brief Enumeration for results of a permission check. * @since_tizen 4.0