PMS

Overview

Manages permissions.

This module provides interfaces for managing permissions of third-party applications.

Since:

1.0

Version:

1.0

Summary

Files

File Name Description
pms_interface.h Declares interfaces for managing permissions.

Functions

Function Name Description
CheckPermission (int taskID, const char permissionName) int Checks whether the caller (generally a third-party application) has a specified permission of a system service API.
QueryPermission (const char identifier, PermissionSaved *permissions, int permNum) int Queries all permissions requested by the application and checks whether these permissions are granted.
GrantPermission (const char identifier, const char permName) int Grants a specified permission to the application.
RevokePermission (const char identifier, const char permName) int Revokes a specified permission from the application.
GrantRuntimePermission (int taskID, const char permissionName) int Grants a specified runtime permission to an application.
RequestPermission (int taskID, const char permissionName) int Requests a specified permission.

Details

Function Documentation

CheckPermission()


1. int CheckPermission (int taskID, const char * permissionName )

Description:

Checks whether the caller (generally a third-party application) has a specified permission of a system service API.

Parameters:

Name Description
taskId Indicates the process ID of the caller. The range is [0, INT_MAX].
permissionName Indicates the pointer to the permission name. For details, see the developer documentation.

Returns:

Returns 1 if the caller has the permission; returns 0 otherwise.

GrantPermission()


1. int GrantPermission (const char * identifier, const char * permName )

Description:

Grants a specified permission to the application.

Parameters:

Name Description
identifier Indicates the pointer to the application bundle name.
permName Indicates the pointer to the permission name. For details, see the developer documentation.

Returns:

Returns 0 if the permission is successfully granted; returns an error code defined in PmsErrorCode otherwise.

GrantRuntimePermission()


1. int GrantRuntimePermission (int taskID, const char * permissionName )

Description:

Grants a specified runtime permission to an application.

This function applies to sensitive permissions that can be granted to the application only when the application is running.

Parameters:

Name Description
taskId Indicates the process ID of the application. The range is [0, INT_MAX].
permissionName Indicates the pointer to the permission name. For details, see the developer documentation.

Returns:

Returns 0 if the permission is successfully granted; returns an error code defined in PmsErrorCode otherwise.

QueryPermission()


1. int QueryPermission (const char * identifier, [PermissionSaved]($api-api-SmartVision-Devices-PermissionSaved.md) ** permissions, int * permNum )

Description:

Queries all permissions requested by the application and checks whether these permissions are granted.

Parameters:

Name Description
identifier Indicates the pointer to the application bundle name.
permissions Indicates the double pointer to the array of permissions. You need to pass the PermissionSaved pointer and release it after finishing using it.
permNum Indicates the pointer to the number of permissions in the array, which is an integer.

Returns:

Returns 0 if the operation is successful; returns an error code defined in PmsErrorCode otherwise.

RequestPermission()


1. int RequestPermission (int taskID, const char * permissionName )

Description:

Requests a specified permission.

Parameters:

Name Description
taskId Indicates the process ID of the application. The range is [0, INT_MAX].
permissionName Indicates the pointer to the permission name. For details, see the developer documentation.

Returns:

Returns 0 if the operation is successful; returns an error code defined in PmsErrorCode otherwise.

RevokePermission()


1. int RevokePermission (const char * identifier, const char * permName )

Description:

Revokes a specified permission from the application.

Parameters:

Name Description
identifier Indicates the pointer to the application bundle name.
permName Indicates the pointer to the permission name. For details, see the developer documentation.

Returns:

Returns 0 if the permission is successfully revoked; returns an error code defined in PmsErrorCode otherwise.