Jump to content

Qtohosextras FileShare Namespace

From Qt Wiki
Revision as of 06:33, 28 January 2026 by Shawn Luo (talk | contribs) (Created page with "<!-- Source: qtohosextras-fileshare.html --> <span id="fileshare-namespace"></span> = FileShare Namespace = <span class="small-subtitle">(QtOhosExtras::FileShare)<br /> </span> The FileShare to expose file permission API. More... <div class="table"> {| class="wikitable alignedsummary" |- | class="memItemLeft rightAlign topAlign"| Header: | class="memItemRight bottomAlign"| <span cl...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

FileShare Namespace

(QtOhosExtras::FileShare)

The FileShare to expose file permission API. More...

Header: #include
qmake: QT += ohosextras
Since: Qt 5.12.12



Classes

Types

enum OperationMode { Read, Write }
flags OperationModes
enum PathPolicyError { Unknown, PersistenceForbidden, InvalidMode, InvalidPath, PermissionNotPersisted }


Functions

QSharedPointer activatePermission(const QList &policies)
QSharedPointer checkPersistent(const QList &policies)
QSharedPointer deactivatePermission(const QList &policies)
QSharedPointer persistPermission(const QList &policies)
const QMetaObject * qt_getEnumMetaObject(QtOhosExtras::FileShare::OperationMode)
const char * qt_getEnumName(QtOhosExtras::FileShare::OperationMode)
QSharedPointer revokePermission(const QList &policies)
QFlags operator|(OperationModes::enum_type f1, OperationModes::enum_type f2)
QFlags operator|(OperationModes::enum_type f1, QFlags f2)
QIncompatibleFlag operator|(OperationModes::enum_type f1, int f2)


Detailed Description

The FileShare to expose file permission API.

This API uses file system paths, which differ from the URIs used internally by HarmonyOS. For example, the path
/data/storage/el1/bundle/entry/resources/resfile/test.txt
will be converted to the URI
file://com.your.example/data/storage/el1/bundle/entry/resources/resfile/test.txt
, where
com.your.example
is app bundle name.

To learn more about file paths and URIs in HarmonyOS, see sandbox documentation.

Warning: This API relies on the underlying OHOS implementation. The following functions: persistPermission(), revokePermission(), activatePermission(), deactivatePermission(), and checkPersistent() may be unavailable on some devices. Additionally, there may be limitations on the maximum number of policies, and certain permissions may need to be explicitly granted to the application.

For more details and limitations, refer to the API documentation.


Classes

class ActionResult

The ActionResult class encapsulates the result of all file requested access permission actions. More...

class CheckResult

The CheckResult class encapsulates the result of all requested file access permission checks. More...

class PathPolicy

The PathPolicy struct encapsulates information required to request file access permissions for a specified path. More...

class PathPolicyCheckResult

The PathPolicyCheckResult struct contains the result of a file permission check request for a specified path, indicating whether access is granted or denied. More...

class PathPolicyErrorInfo

The PathPolicyErrorInfo struct contains the result of a file access permission request for a specified path. More...


Type Documentation

=== enum FileShare::OperationMode
flags FileShare::OperationModes ===

Defines permissions on path. See FileShare_OperationMode. The flags can be combined using bitwise operations.

Constant Value Description
QtOhosExtras::FileShare::Read
1 &lt;&lt; 0
Read on path
QtOhosExtras::FileShare::Write
1 &lt;&lt; 1
Write on path


This enum was introduced or modified in Qt 5.12.12.

The OperationModes type is a typedef for [[../qtcore/qflags.html|QFlags]]. It stores an OR combination of OperationMode values.

See also PathPolicy.

enum FileShare::PathPolicyError

Defines permission policy error codes. See FileShare_PolicyErrorCode.

Constant Value Description
QtOhosExtras::FileShare::Unknown
0
Error type is unknown or not recognized
QtOhosExtras::FileShare::PersistenceForbidden
1
The permission on the path cannot be persisted
QtOhosExtras::FileShare::InvalidMode
2
Invalid operation mode
QtOhosExtras::FileShare::InvalidPath
3
Invalid path
QtOhosExtras::FileShare::PermissionNotPersisted
4
The permission is not persisted


This enum was introduced or modified in Qt 5.12.12.

See also PathPolicyErrorInfo.


Function Documentation

activatePermission

QSharedPointer<QtOhosExtras::FileShare::ActionResult> FileShare::activatePermission(const QList<QtOhosExtras::FileShare::PathPolicy> &''policies'')

Activates file or folder permissions from policies. The success of the action can be determined from ActionResult.

This function calls OH_FileShare_ActivatePermission. Each time an application is started, its persistent permissions have not been loaded to the memory. Use this function to make a persistent permission active after the application is started. If the activation fails because the permission has not been persisted, use persistPermission() first.

To deactivate an active permission, use deactivatePermission().

See also ActionResult, PathPolicy, persistPermission(), and deactivatePermission().

checkPersistent

QSharedPointer<QtOhosExtras::FileShare::CheckResult> FileShare::checkPersistent(const QList<QtOhosExtras::FileShare::PathPolicy> &''policies'')
Checks if file or folder permissions from policies have persistent permissions. The result check for each file or folder can be determined from CheckResult. CheckResult::PathPolicyCheckResult::result will be set to
true
for each file or folder only for succesufull check and persistent permission found,
false
otherwise.

This function calls OH_FileShare_CheckPersistentPermission.

To persist permission, use persistPermission().

See also CheckResult, PathPolicy, and persistPermission().

deactivatePermission

QSharedPointer<QtOhosExtras::FileShare::ActionResult> FileShare::deactivatePermission(const QList<QtOhosExtras::FileShare::PathPolicy> &''policies'')

Deactivates file or folder permissions from policies. The success of the action can be determined from ActionResult.

This function calls OH_FileShare_DeactivatePermission.

To activate permission, use activatePermission().

See also ActionResult, PathPolicy, and activatePermission().

persistPermission

QSharedPointer<QtOhosExtras::FileShare::ActionResult> FileShare::persistPermission(const QList<QtOhosExtras::FileShare::PathPolicy> &''policies'')

Persists file or folder permissions from policies. The success of the action can be determined from ActionResult.

This function calls OH_FileShare_PersistPermission. persistPermission() stores persistence data in the system database. After persistPermission() call, permissions are not yet active. Use activatePermission() to activate permissions. persistPermission() must be called at least once before activatePermission().

To revoke a persistent permission, use revokePermission().

See also ActionResult, PathPolicy, revokePermission(), and activatePermission().

const [[../qtcore/qmetaobject.html|QMetaObject]] *FileShare::qt_getEnumMetaObject(QtOhosExtras::FileShare::OperationMode)

const char *FileShare::qt_getEnumName(QtOhosExtras::FileShare::OperationMode)

revokePermission

QSharedPointer<QtOhosExtras::FileShare::ActionResult> FileShare::revokePermission(const QList<QtOhosExtras::FileShare::PathPolicy> &''policies'')

Revokes file or folder permissions from policies. The success of the action can be determined from ActionResult.

This function calls OH_FileShare_RevokePermission.

To persist permission, use persistPermission().

See also ActionResult, PathPolicy, and persistPermission().

Function

QFlags<OperationModes::enum_type> FileShare::operator|(OperationModes::enum_type ''f1'', OperationModes::enum_type ''f2'')

Function

QFlags<OperationModes::enum_type> FileShare::operator|(OperationModes::enum_type ''f1'', QFlags<OperationModes::enum_type> ''f2'')

[[../qtcore/qincompatibleflag.html|QIncompatibleFlag]] FileShare::operator|(OperationModes::enum_type f1, int f2)