1eace7efcSopenharmony_ci/* 2eace7efcSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 3eace7efcSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4eace7efcSopenharmony_ci * you may not use this file except in compliance with the License. 5eace7efcSopenharmony_ci * You may obtain a copy of the License at 6eace7efcSopenharmony_ci * 7eace7efcSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8eace7efcSopenharmony_ci * 9eace7efcSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10eace7efcSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11eace7efcSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12eace7efcSopenharmony_ci * See the License for the specific language governing permissions and 13eace7efcSopenharmony_ci * limitations under the License. 14eace7efcSopenharmony_ci */ 15eace7efcSopenharmony_ci#include "tokenid_permission.h" 16eace7efcSopenharmony_ci 17eace7efcSopenharmony_ci#include "permission_constants.h" 18eace7efcSopenharmony_ci#include "permission_verification.h" 19eace7efcSopenharmony_ci 20eace7efcSopenharmony_cinamespace OHOS { 21eace7efcSopenharmony_cinamespace AAFwk { 22eace7efcSopenharmony_ci 23eace7efcSopenharmony_cibool TokenIdPermission::VerifyProxyAuthorizationUriPermission() 24eace7efcSopenharmony_ci{ 25eace7efcSopenharmony_ci if (!initProxyAuthorizationUriPermission_) { 26eace7efcSopenharmony_ci initProxyAuthorizationUriPermission_ = true; 27eace7efcSopenharmony_ci haveProxyAuthorizationUriPermission_ = PermissionVerification::GetInstance()->VerifyPermissionByTokenId( 28eace7efcSopenharmony_ci tokenId_, PermissionConstants::PERMISSION_PROXY_AUTHORIZATION_URI); 29eace7efcSopenharmony_ci } 30eace7efcSopenharmony_ci return haveProxyAuthorizationUriPermission_; 31eace7efcSopenharmony_ci} 32eace7efcSopenharmony_ci 33eace7efcSopenharmony_cibool TokenIdPermission::VerifyFileAccessManagerPermission() 34eace7efcSopenharmony_ci{ 35eace7efcSopenharmony_ci if (!initFileAccessManagerPermission_) { 36eace7efcSopenharmony_ci initFileAccessManagerPermission_ = true; 37eace7efcSopenharmony_ci haveFileAccessManagerPermission_ = PermissionVerification::GetInstance()->VerifyPermissionByTokenId( 38eace7efcSopenharmony_ci tokenId_, PermissionConstants::PERMISSION_FILE_ACCESS_MANAGER); 39eace7efcSopenharmony_ci } 40eace7efcSopenharmony_ci return haveFileAccessManagerPermission_; 41eace7efcSopenharmony_ci} 42eace7efcSopenharmony_ci 43eace7efcSopenharmony_cibool TokenIdPermission::VerifyReadImageVideoPermission() 44eace7efcSopenharmony_ci{ 45eace7efcSopenharmony_ci if (!initReadImageVideoPermission_) { 46eace7efcSopenharmony_ci initReadImageVideoPermission_ = true; 47eace7efcSopenharmony_ci haveReadImageVideoPermission_ = PermissionVerification::GetInstance()->VerifyPermissionByTokenId( 48eace7efcSopenharmony_ci tokenId_, PermissionConstants::PERMISSION_READ_IMAGEVIDEO); 49eace7efcSopenharmony_ci } 50eace7efcSopenharmony_ci return haveReadImageVideoPermission_; 51eace7efcSopenharmony_ci} 52eace7efcSopenharmony_ci 53eace7efcSopenharmony_cibool TokenIdPermission::VerifyWriteImageVideoPermission() 54eace7efcSopenharmony_ci{ 55eace7efcSopenharmony_ci if (!initWriteImageVideoPermission_) { 56eace7efcSopenharmony_ci initWriteImageVideoPermission_ = true; 57eace7efcSopenharmony_ci haveWriteImageVideoPermission_ = PermissionVerification::GetInstance()->VerifyPermissionByTokenId( 58eace7efcSopenharmony_ci tokenId_, PermissionConstants::PERMISSION_WRITE_IMAGEVIDEO); 59eace7efcSopenharmony_ci } 60eace7efcSopenharmony_ci return haveWriteImageVideoPermission_; 61eace7efcSopenharmony_ci} 62eace7efcSopenharmony_ci 63eace7efcSopenharmony_cibool TokenIdPermission::VerifyReadAudioPermission() 64eace7efcSopenharmony_ci{ 65eace7efcSopenharmony_ci if (!initReadAudioPermission_) { 66eace7efcSopenharmony_ci initReadAudioPermission_ = true; 67eace7efcSopenharmony_ci haveReadAudioPermission_ = PermissionVerification::GetInstance()->VerifyPermissionByTokenId( 68eace7efcSopenharmony_ci tokenId_, PermissionConstants::PERMISSION_READ_AUDIO); 69eace7efcSopenharmony_ci } 70eace7efcSopenharmony_ci return haveReadAudioPermission_; 71eace7efcSopenharmony_ci} 72eace7efcSopenharmony_ci 73eace7efcSopenharmony_cibool TokenIdPermission::VerifyWriteAudioPermission() 74eace7efcSopenharmony_ci{ 75eace7efcSopenharmony_ci if (!initWriteAudioPermission_) { 76eace7efcSopenharmony_ci initWriteAudioPermission_ = true; 77eace7efcSopenharmony_ci haveWriteAudioPermission_ = PermissionVerification::GetInstance()->VerifyPermissionByTokenId( 78eace7efcSopenharmony_ci tokenId_, PermissionConstants::PERMISSION_WRITE_AUDIO); 79eace7efcSopenharmony_ci } 80eace7efcSopenharmony_ci return haveWriteAudioPermission_; 81eace7efcSopenharmony_ci} 82eace7efcSopenharmony_ci} // OHOS 83eace7efcSopenharmony_ci} // AAFwk