1/* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16sequenceable OHOS.Uri; 17rawdata OHOS.AAFwk.UriPermissionRawData; 18 19interface OHOS.AAFwk.IUriPermissionManager { 20 int GrantUriPermission([in] Uri uri, [in] unsigned int flag, 21 [in] String targetBundleName, [in] int appIndex, [in] unsigned int initiatorTokenId); 22 int GrantUriPermission([in] String[] uriVec, [in] unsigned int flag, 23 [in] String targetBundleName, [in] int appIndex, [in] unsigned int initiatorTokenId); 24 int GrantUriPermission([in] UriPermissionRawData rawData, [in] unsigned int flag, 25 [in] String targetBundleName, [in] int appIndex, [in] unsigned int initiatorTokenId); 26 int GrantUriPermissionPrivileged([in] String[] uriVec, [in] unsigned int flag, [in] String targetBundleName, 27 [in] int appIndex, [in] unsigned int initiatorTokenId, [in] int hideSensitiveType); 28 int GrantUriPermissionPrivileged([in] UriPermissionRawData rawData, [in] unsigned int flag, 29 [in] String targetBundleName, [in] int appIndex, [in] unsigned int initiatorTokenId, 30 [in] int hideSensitiveType); 31 int GrantUriPermissionByKey([in] String key, [in] unsigned int flag, [in] unsigned int targetTokenId); 32 int GrantUriPermissionByKeyAsCaller([in] String key, [in] unsigned int flag, 33 [in] unsigned int callerTokenId, [in] unsigned int targetTokenId); 34 int RevokeAllUriPermissions([in] unsigned int tokenId); 35 int RevokeUriPermissionManually([in] Uri uri, [in] String bundleName, [in] int appIndex); 36 boolean VerifyUriPermission([in] Uri uri, [in] unsigned int flag, [in] unsigned int tokenId); 37 boolean[] CheckUriAuthorization([in] String[] uriVec, [in] unsigned int flag, [in] unsigned int tokenId); 38 UriPermissionRawData CheckUriAuthorization([in] UriPermissionRawData rawData, [in] unsigned int flag, 39 [in] unsigned int tokenId); 40 int ClearPermissionTokenByMap([in] unsigned int tokenId); 41 [macrodef ABILITY_RUNTIME_FEATURE_SANDBOXMANAGER]int Active([in] UriPermissionRawData policyRawData, 42 [out] unsigned int[] res); 43}