#include <askuser-notification-client.h>
#include <privacy_privilege_manager.h>
+#include <ppm_popup.h>
#define UNUSED __attribute__((unused))
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;
+}
--- /dev/null
+/*
+ * 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 <tizen.h>
+
+#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__ */
--- /dev/null
+/*
+ * 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 <tizen.h>
+#include <ppm_error.h>
+
+#include <stddef.h>
+
+#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__ */
+
#include <stdlib.h>
#include <tizen.h>
+#include <ppm_error.h>
#ifdef __cplusplus
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