1  /*
2   * Copyright (c) 2022-2023 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  /**
17   * @addtogroup Privacy
18   * @{
19   *
20   * @brief Provides sensitive data access management.
21   *
22   * @since 8.0
23   * @version 8.0
24   */
25  
26  /**
27   * @file active_change_response_info.h
28   *
29   * @brief Declares enum ActiveChangeType and struct ActiveChangeResponse.
30   *
31   * @since 8.0
32   * @version 8.0
33   */
34  
35  #ifndef ACTIVE_CHANGE_RESPONSE_INFO_H
36  #define ACTIVE_CHANGE_RESPONSE_INFO_H
37  
38  #include <string>
39  #include <vector>
40  
41  #include "access_token.h"
42  
43  namespace OHOS {
44  namespace Security {
45  namespace AccessToken {
46  /**
47   * @brief Permission active state state values
48   */
49  enum ActiveChangeType {
50      PERM_INACTIVE = 0,
51      PERM_ACTIVE_IN_FOREGROUND = 1,
52      PERM_ACTIVE_IN_BACKGROUND = 2,
53  };
54  
55  /**
56   * @brief Permission lockscreen state values
57   */
58  enum LockScreenStatusChangeType {
59      PERM_ACTIVE_IN_UNLOCKED = 1,
60      PERM_ACTIVE_IN_LOCKED = 2,
61  };
62  
63  /**
64   * @brief Permission active state change response struct
65   */
66  struct ActiveChangeResponse {
67      AccessTokenID tokenID;
68      std::string permissionName;
69      std::string deviceId;
70      /**
71       * permission active change type, for details about the valid values,
72       * see the definition above.
73       */
74      ActiveChangeType type;
75  };
76  } // namespace AccessToken
77  } // namespace Security
78  } // namespace OHOS
79  
80  #endif // ACTIVE_CHANGE_RESPONSE_INFO_H