FileShare

Overview

The fileShare module provides APIs for granting permissions on a user file to another application based on the file Uniform Resource Identifier (URI).

Since: 12

Summary

Files

Name Description
oh_file_share.h Provides APIs for persisting permissions, activating or deactivating permissions, and obtaining permissions on files based on their URI.

Structs

Name Description
struct FileShare_PolicyErrorResult Defines a struct for the permission policy error information.
struct FileShare_PolicyInfo Defines a struct for the permission policy information.

Types

Name Description
typedef enum FileShare_OperationMode FileShare_OperationMode Defines an enum for the permissions on a URI.
typedef enum FileShare_PolicyErrorCode FileShare_PolicyErrorCode Defines an enum for the permission policy error codes.
typedef struct FileShare_PolicyErrorResult FileShare_PolicyErrorResult Defines a struct for the permission policy error information.
typedef struct FileShare_PolicyInfo FileShare_PolicyInfo Defines a struct for the permission policy information.

Enums

Name Description
FileShare_OperationMode {
READ_MODE = 1 << 0,
WRITE_MODE = 1 << 1
}
Enumerates the permissions on a URI.
FileShare_PolicyErrorCode {
PERSISTENCE_FORBIDDEN = 1,
INVALID_MODE = 2,
INVALID_PATH = 3,
PERMISSION_NOT_PERSISTED = 4
}
Enumerates the permission policy error codes.

Functions

Name Description
FileManagement_ErrCode OH_FileShare_PersistPermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum) Persists the permissions on files or folders.
FileManagement_ErrCode OH_FileShare_RevokePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum) Revokes the permissions from files or folders.
FileManagement_ErrCode OH_FileShare_ActivatePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum) Activates the persistent permissions on files or folders.
FileManagement_ErrCode OH_FileShare_DeactivatePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum) Deactivates the persistent permissions on files or folders.
FileManagement_ErrCode OH_FileShare_CheckPersistentPermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, bool **result, unsigned int *resultNum) Checks the persistent permissions on files or folders.
void OH_FileShare_ReleasePolicyErrorResult (FileShare_PolicyErrorResult *errorResult, unsigned int resultNum) Releases the memory used by FileShare_PolicyErrorResult.

Type Description

FileShare_OperationMode

typedef enum FileShare_OperationMode FileShare_OperationMode

Description

Defines an enum for the permissions on a URI.

Since: 12

FileShare_PolicyErrorCode

typedef enum FileShare_PolicyErrorCode FileShare_PolicyErrorCode

Description

Defines an enum for the permission policy error codes.

Since: 12

FileShare_PolicyErrorResult

typedef struct FileShare_PolicyErrorResult FileShare_PolicyErrorResult

Description

Defines a struct for the permission policy error information.

Since: 12

FileShare_PolicyInfo

typedef struct FileShare_PolicyInfo FileShare_PolicyInfo

Description

Represents a permission policy, that is, a policy for granting or activating the permission on a file.

Since: 12

Enum Description

FileShare_OperationMode

enum FileShare_OperationMode

Description

Enumerates the permissions on a URI.

Since: 12

Value Description
READ_MODE Read.
WRITE_MODE Write.

FileShare_PolicyErrorCode

enum FileShare_PolicyErrorCode

Description

Enumerates the permission policy error codes.

Since: 12

Value Description
PERSISTENCE_FORBIDDEN The permission on the URI cannot be persisted.
INVALID_MODE Invalid mode.
INVALID_PATH Invalid path.
PERMISSION_NOT_PERSISTED The permission is not persisted.

Function Description

OH_FileShare_ActivatePermission()

FileManagement_ErrCode OH_FileShare_ActivatePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum )

Description

Activates the persistent permissions on files or folders.

Since: 12

Parameters

Name Description
policies Pointer to a FileShare_PolicyInfo instance.
policyNum Number of policies in the FileShare_PolicyInfo array.
result Double pointer to the FileShare_PolicyErrorResult array obtained. Use OH_FileShare_ReleasePolicyErrorResult() to release the memory allocated.
resultNum Pointer to the size of the FileShare_PolicyErrorResult array.

Required permissions

ohos.permission.FILE_ACCESS_PERSIST

Returns

Returns FileManagement_ErrCode.

OH_FileShare_CheckPersistentPermission()

FileManagement_ErrCode OH_FileShare_CheckPersistentPermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, bool **result, unsigned int *resultNum )

Description

Checks the persistent permissions on files or folders.

Since: 12

Parameters

Name Description
policies Pointer to a FileShare_PolicyInfo instance.
policyNum Number of policies in the FileShare_PolicyInfo array.
result Double pointer to the check result obtained. You also need to include malloc.h and use free() to release the memory allocated.
resultNum Pointer to the size of the check result array.

Required permissions

ohos.permission.FILE_ACCESS_PERSIST

Returns

Returns FileManagement_ErrCode.

OH_FileShare_DeactivatePermission()

FileManagement_ErrCode OH_FileShare_DeactivatePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum )

Description

Deactivates the persistent permissions on files or folders.

Since: 12

Parameters

Name Description
policies Pointer to a FileShare_PolicyInfo instance.
policyNum Number of policies in the FileShare_PolicyInfo array.
result Double pointer to the FileShare_PolicyErrorResult array obtained. Use OH_FileShare_ReleasePolicyErrorResult() to release the memory allocated.
resultNum Pointer to the size of the FileShare_PolicyErrorResult array.

Required permissions

ohos.permission.FILE_ACCESS_PERSIST

Returns

Returns FileManagement_ErrCode.

OH_FileShare_PersistPermission()

FileManagement_ErrCode OH_FileShare_PersistPermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum )

Description

Persists the permissions on files or folders.

Since: 12

Parameters

Name Description
policies Pointer to a FileShare_PolicyInfo instance.
policyNum Number of policies in the FileShare_PolicyInfo array.
result Double pointer to the FileShare_PolicyErrorResult array obtained. Use OH_FileShare_ReleasePolicyErrorResult() to release the memory allocated.
resultNum Pointer to the size of the FileShare_PolicyErrorResult array.

Required permissions

ohos.permission.FILE_ACCESS_PERSIST

Returns

Returns FileManagement_ErrCode.

OH_FileShare_ReleasePolicyErrorResult()

void OH_FileShare_ReleasePolicyErrorResult (FileShare_PolicyErrorResult *errorResult, unsigned int resultNum )

Description

Releases the memory used by FileShare_PolicyErrorResult.

Since: 12

Parameters

Name Description
errorResult Pointer to a FileShare_PolicyErrorResult instance.
resultNum Size of the FileShare_PolicyErrorResult array.

OH_FileShare_RevokePermission()

FileManagement_ErrCode OH_FileShare_RevokePermission (const FileShare_PolicyInfo *policies, unsigned int policyNum, FileShare_PolicyErrorResult **result, unsigned int *resultNum )

Description

Revokes the permissions from files or folders.

Since: 12

Parameters

Name Description
policies Pointer to a FileShare_PolicyInfo instance.
policyNum Number of policies in the FileShare_PolicyInfo array.
result Double pointer to the FileShare_PolicyErrorResult array obtained. Use OH_FileShare_ReleasePolicyErrorResult() to release the memory allocated.
resultNum Pointer to the size of the FileShare_PolicyErrorResult array.

Required permissions

ohos.permission.FILE_ACCESS_PERSIST

Returns

Returns FileManagement_ErrCode.