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 16 #ifndef ANI_ABILITY_ACCESS_CTRL_H 17 #define ANI_ABILITY_ACCESS_CTRL_H 18 19 #include "access_token.h" 20 #include "ani_error.h" 21 namespace OHOS { 22 namespace Security { 23 namespace AccessToken { 24 const int32_t PARAM_DEFAULT_VALUE = -1; 25 struct AtManagerAsyncContext { 26 AccessTokenID tokenId = 0; 27 std::string permissionName; 28 union { 29 uint32_t flag = 0; 30 uint32_t status; 31 }; 32 int32_t grantStatus = PERMISSION_DENIED; 33 AtmResult result; 34 }; 35 36 struct PermissionParamCache { 37 long long sysCommitIdCache = PARAM_DEFAULT_VALUE; 38 int32_t commitIdCache = PARAM_DEFAULT_VALUE; 39 int32_t handle = PARAM_DEFAULT_VALUE; 40 std::string sysParamCache; 41 }; 42 43 struct PermissionStatusCache { 44 int32_t status; 45 std::string paramValue; 46 }; 47 } // namespace AccessToken 48 } // namespace Security 49 } // namespace OHOS 50 51 #endif // ANI_ABILITY_ACCESS_CTRL_H