# Copyright (c) 2022-2024 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

domain: ACCESS_TOKEN

ACCESSTOKEN_SERVICE_START:
  __BASE: {type: STATISTIC, level: CRITICAL, tag: usability, desc: service startup}
  PID: {type: INT32, desc: access token service pid}
  HAP_SIZE: {type: UINT32, desc: hap token size}
  NATIVE_SIZE: {type: UINT32, desc: native token size}
  PERM_DEFINITION_SIZE: {type: UINT32, desc: permission definition size}

ACCESSTOKEN_SERVICE_START_ERROR:
  __BASE: {type: FAULT, level: CRITICAL, desc: service startup error}
  SCENE_CODE: {type: INT32, desc: scene code}
  ERROR_CODE: {type: INT32, desc: error code}
  ERROR_MSG: {type: STRING, desc: error reason}

PERMISSION_VERIFY_REPORT:
  __BASE: {type: SECURITY, level: CRITICAL, desc: permission verification error}
  CODE: {type: INT32, desc: error code}
  CALLER_TOKENID: {type: UINT32, desc: caller token id}
  PERMISSION_NAME: {type: STRING, desc: permission name}
  INTERFACE: {type: STRING, desc: interface information}

PERMISSION_CHECK:
  __BASE: {type: FAULT, level: CRITICAL, desc: permission check error}
  CODE: {type: INT32, desc: error code}
  CALLER_TOKENID: {type: UINT32, desc: caller token id}
  PERMISSION_NAME: {type: STRING, desc: permission name}
  ERROR_REASON: {type: STRING, desc: error reason}

PERMISSION_CHECK_EVENT:
  __BASE: {type: BEHAVIOR, level: MINOR, desc: permission check event}
  CODE: {type: INT32, desc: event code}
  CALLER_TOKENID: {type: UINT32, desc: caller token id}
  PERMISSION_NAME: {type: STRING, desc: permission name}
  FLAG: {type: INT32, desc: permission flag}
  PERMISSION_GRANT_TYPE: {type: INT32, desc: grant type}
  PID_INFO: {type: INT32, desc: access token service pid}
  REASON: {type: STRING, desc: check report reason}

PERMISSION_SYNC:
  __BASE: {type: FAULT, level: CRITICAL, tag: usability, desc: permission sync error}
  CODE: {type: INT32, desc: error code}
  REMOTE_ID: {type: STRING, desc: remote id}
  REASON: {type: STRING, desc: error reason}

ADD_HAP:
  __BASE: {type: STATISTIC, level: MINOR, tag: usability, desc: add a hap to device}
  TOKENID: {type: UINT32, desc: token id}
  USERID: {type: INT32, desc: user id}
  BUNDLENAME: {type: STRING, desc: bundle name}
  INSTINDEX: {type: INT32, desc: inst index}

DEL_HAP:
  __BASE: {type: STATISTIC, level: MINOR, tag: usability, desc: delete a hap from device}
  TOKENID: {type: UINT32, desc: tokenID}
  USERID: {type: INT32, desc: user id}
  BUNDLENAME: {type: STRING, desc: bundle name}
  INSTINDEX: {type: INT32, desc: inst index}

PERM_DIALOG_STATUS_INFO:
  __BASE: {type: STATISTIC, level: MINOR, desc: status information of permission dialog}
  USERID: {type: INT32, desc: user id}
  PERMISSION_NAME: {type: STRING, desc: permission name}
  TOGGLE_STATUS: {type: UINT32, desc: toggle status of permission dialog}

GRANT_TEMP_PERMISSION:
  __BASE: {type: BEHAVIOR, level: MINOR, desc: grant temp permission}
  TOKENID: {type: UINT32, desc: tokenID}
  BUNDLENAME: {type: STRING, desc: bundle name}
  PERMISSION_NAME: {type: STRING, desc: permission name}

REQUEST_PERMISSIONS_FROM_USER:
  __BASE: {type: BEHAVIOR, level: MINOR, desc: request permissions from user}
  BUNDLENAME: {type: STRING, desc: bundle name}
  UIEXTENSION_FLAG: {type: BOOL, desc: uiextension flag}
