The Privacy Privilege Manager API provides functions for retrieving and determining application's permissions for privacy privileges. 
Required Header
#include <privacy_privilege_manager.h>
Overview
This library allows an application to check if it has permission to use a given privilege. Furthermore, it allows an application to determine permission by displaying a UI dialogue box (pop-up) and requesting a user response. 
Functions | 
| int  | ppm_check_permission (const char *privilege, ppm_check_result_e *result) | 
|   | Checks if an application, which calls this function, has permission to use the given privilege.  
  | 
| int  | ppm_check_app_permission (const char *app_id, const char *privilege, ppm_check_result_e *result) | 
|   | Checks if an application, with given app_id, has permission to use the given privilege.  
  | 
| int  | ppm_check_permissions (const char **privileges, size_t privileges_count, ppm_check_result_e *results) | 
|   | Checks if an application, which calls this function, has permission to use the given privileges.  
  | 
| int  | ppm_check_app_permissions (const char *app_id, const char **privileges, size_t privileges_count, ppm_check_result_e *results) | 
|   | Checks if an application, with given app_id, has permission to use the given privileges.  
  | 
| int  | ppm_request_permission (const char *privilege, ppm_request_response_cb callback, void *user_data) | 
|   | Requests a user's response to obtain permission for using the given privilege.  
  | 
| int  | ppm_request_permissions (const char **privileges, size_t privileges_count, ppm_request_multiple_response_cb callback, void *user_data) | 
|   | Requests a user's response to obtain permission for using the given privileges.  
  | 
Typedefs | 
| typedef void(*  | ppm_request_response_cb )(ppm_call_cause_e cause, ppm_request_result_e result, const char *privilege, void *user_data) | 
|   | Called when the application receives a response upon calling ppm_request_permission().  
  | 
| typedef void(*  | ppm_request_multiple_response_cb )(ppm_call_cause_e cause, const ppm_request_result_e *results, const char **privileges, size_t privileges_count, void *user_data) | 
|   | Called when the application receives a response upon calling ppm_request_permissions().  
  | 
Typedef Documentation
Called when the application receives a response upon calling ppm_request_permissions(). 
- Since :
 - 5.0
 
- Parameters:
 - 
  
    | [in] | cause | The value representing a reason why this callback has been called.  | 
    | [in] | results | The results of a response triggered by calling ppm_request_permissions(). This is a valid value only if the cause parameter is equal to PRIVACY_PRIVILEGE_MANAGER_CALL_CAUSE_ANSWER.  | 
    | [in] | privileges | The privileges array that has been checked. This pointer is managed by the API and it is valid only in the body of the callback function.  | 
    | [in] | privileges_count | The number of elements in the privileges and results arrays.  | 
    | [in] | user_data | User specific data, this pointer has been passed to ppm_request_permissions(). | 
  
   
- See also:
 - ppm_request_permissions() 
 
 
 
Enumeration Type Documentation
Enumeration for status codes of a permission request. 
- Since :
 - 4.0 
 
- Enumerator: 
 
| PRIVACY_PRIVILEGE_MANAGER_CALL_CAUSE_ANSWER  | 
 Callback was called with a valid answer.  
 | 
| PRIVACY_PRIVILEGE_MANAGER_CALL_CAUSE_ERROR  | 
 Callback was called because of an error.  
 | 
 
 
 
Enumeration for results of a permission check. 
- Since :
 - 4.0 
 
- Enumerator: 
 
| PRIVACY_PRIVILEGE_MANAGER_CHECK_RESULT_ALLOW  | 
 The application has permission to use a privilege.  
 | 
| PRIVACY_PRIVILEGE_MANAGER_CHECK_RESULT_DENY  | 
 The application doesn't have permission to use a privilege.  
 | 
| PRIVACY_PRIVILEGE_MANAGER_CHECK_RESULT_ASK  | 
 The user has to be asked whether to grant permission to use a privilege.  
 | 
 
 
 
Enumeration for error codes of Privacy Privilege Manager. 
- Since :
 - 4.0 
 
- Enumerator: 
 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE  | 
 Successful  
 | 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_IO_ERROR  | 
 I/O error  
 | 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_INVALID_PARAMETER  | 
 Invalid parameter  
 | 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_ALREADY_IN_PROGRESS  | 
 Operation already in progress  
 | 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_OUT_OF_MEMORY  | 
 Out of memory  
 | 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_PERMISSION_DENIED  | 
 Permission denied  
 | 
| PRIVACY_PRIVILEGE_MANAGER_ERROR_UNKNOWN  | 
 Unknown error  
 | 
 
 
 
Enumeration for results of a permission request. 
- Since :
 - 4.0 
 
- Enumerator: 
 
| PRIVACY_PRIVILEGE_MANAGER_REQUEST_RESULT_ALLOW_FOREVER  | 
 The user granted permission to use a privilege for an indefinite period of time.  
 | 
| PRIVACY_PRIVILEGE_MANAGER_REQUEST_RESULT_DENY_FOREVER  | 
 The user denied granting permission to use a privilege for an indefinite period of time.  
 | 
| PRIVACY_PRIVILEGE_MANAGER_REQUEST_RESULT_DENY_ONCE  | 
 The user denied granting permission to use a privilege once.  
 | 
 
 
 
Function Documentation
Checks if an application, with given app_id, has permission to use the given privilege. 
- Warning:
 - This is not for use by third-party applications. 
 
- Since :
 - 5.0
 
- Privilege Level:
 - platform 
 
- Privilege:
 - http://tizen.org/privilege/permission.check
 
- Parameters:
 - 
  
    | [in] | app_id | The app_id of the app that is to be checked.  | 
    | [in] | privilege | The privilege that is to be checked.  | 
    | [out] | result | The result of the privilege check. | 
  
   
- Returns:
 - 0 on success, otherwise a negative error value 
 
- Return values:
 - 
  
  
 
 
 
Checks if an application, with given app_id, has permission to use the given privileges. 
- Warning:
 - This is not for use by third-party applications. 
 
- Since :
 - 5.0
 
- Privilege Level:
 - platform 
 
- Privilege:
 - http://tizen.org/privilege/permission.check
 
- Parameters:
 - 
  
    | [in] | app_id | The app_id of the app that is to be checked.  | 
    | [in] | privileges | The privileges array that is to be checked.  | 
    | [in] | privileges_count | The number of elements in the privileges and results arrays.  | 
    | [out] | results | The results of the privilege check. Caller is responsible for allocating this array with proper size and freeing it afterwards. | 
  
   
- Returns:
 - 0 on success, otherwise a negative error value 
 
- Return values:
 - 
  
  
 
 
 
Checks if an application, which calls this function, has permission to use the given privilege. 
- Since :
 - 4.0
 
- Parameters:
 - 
  
    | [in] | privilege | The privilege that is to be checked.  | 
    | [out] | result | The result of the privilege check. | 
  
   
- Returns:
 - 0 on success, otherwise a negative error value 
 
- Return values:
 - 
  
  
 
 
 
Checks if an application, which calls this function, has permission to use the given privileges. 
- Since :
 - 5.0
 
- Parameters:
 - 
  
    | [in] | privileges | The privileges array that is to be checked.  | 
    | [in] | privileges_count | The number of elements in the privileges and results arrays.  | 
    | [out] | results | The results of the privilege check. Caller is responsible for allocating this array with proper size and freeing it afterwards. | 
  
   
- Returns:
 - 0 on success, otherwise a negative error value 
 
- Return values:
 -