Add ppm_popup_send_response stub API 43/225543/3
authorZofia Grzelewska <z.abramowska@samsung.com>
Thu, 20 Feb 2020 17:15:32 +0000 (18:15 +0100)
committerTomasz Swierczek <t.swierczek@samsung.com>
Mon, 9 Mar 2020 06:24:38 +0000 (07:24 +0100)
Change-Id: I232c9932fec00907409c2a11650467479d92fbb0

src/capi/impl/privacy_privilege_manager.c
src/capi/include/ppm_error.h [new file with mode: 0644]
src/capi/include/ppm_popup.h [new file with mode: 0644]
src/capi/include/privacy_privilege_manager.h

index 37d4c3262d3f91f38b6f861a14590a1a1c1cee81..0aa75fa3431514456305464dabb11e6e18305c98 100644 (file)
@@ -26,6 +26,7 @@
 #include <askuser-notification-client.h>
 
 #include <privacy_privilege_manager.h>
+#include <ppm_popup.h>
 
 #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 (file)
index 0000000..a222b51
--- /dev/null
@@ -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 <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__ */
diff --git a/src/capi/include/ppm_popup.h b/src/capi/include/ppm_popup.h
new file mode 100644 (file)
index 0000000..062c18e
--- /dev/null
@@ -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 <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__ */
+
index 6f650b59b3f4e2c7b5a798229601f66b62ded17b..c559b9fd885183642274ce63f7d1782496d27558 100644 (file)
@@ -19,6 +19,7 @@
 
 #include <stdlib.h>
 #include <tizen.h>
+#include <ppm_error.h>
 
 #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