• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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