12ee81decSopenharmony_ci/*
22ee81decSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
32ee81decSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
42ee81decSopenharmony_ci * you may not use this file except in compliance with the License.
52ee81decSopenharmony_ci * You may obtain a copy of the License at
62ee81decSopenharmony_ci *
72ee81decSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
82ee81decSopenharmony_ci *
92ee81decSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
102ee81decSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
112ee81decSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
122ee81decSopenharmony_ci * See the License for the specific language governing permissions and
132ee81decSopenharmony_ci * limitations under the License.
142ee81decSopenharmony_ci */
152ee81decSopenharmony_ci
162ee81decSopenharmony_ci#ifndef I_DEVICE_SECURITY_LEVEL_H
172ee81decSopenharmony_ci#define I_DEVICE_SECURITY_LEVEL_H
182ee81decSopenharmony_ci
192ee81decSopenharmony_ci#include <cstdint>
202ee81decSopenharmony_ci#include <string.h>
212ee81decSopenharmony_ci
222ee81decSopenharmony_ci#include "dslm_service_ipc_interface_code.h"
232ee81decSopenharmony_ci#include "iremote_broker.h"
242ee81decSopenharmony_ci#include "message_parcel.h"
252ee81decSopenharmony_ci
262ee81decSopenharmony_cinamespace OHOS {
272ee81decSopenharmony_cinamespace Security {
282ee81decSopenharmony_cinamespace DeviceSecurityLevel {
292ee81decSopenharmony_ciconstexpr int32_t DEVICE_SECURITY_LEVEL_MANAGER_SA_ID = 3511;
302ee81decSopenharmony_ci
312ee81decSopenharmony_ciclass IDeviceSecurityLevel : public IRemoteBroker {
322ee81decSopenharmony_cipublic:
332ee81decSopenharmony_ci    using InterfaceCode = DeviceSecurityLevelInterfaceCode;
342ee81decSopenharmony_ci    DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.Security.DeviceSecurityLevel");
352ee81decSopenharmony_ci    enum {
362ee81decSopenharmony_ci        CMD_GET_DEVICE_SECURITY_LEVEL = static_cast<uint32_t>(InterfaceCode::CMD_GET_DEVICE_SECURITY_LEVEL),
372ee81decSopenharmony_ci    };
382ee81decSopenharmony_ci};
392ee81decSopenharmony_ci
402ee81decSopenharmony_ciclass IDeviceSecurityLevelCallback : public IRemoteBroker {
412ee81decSopenharmony_cipublic:
422ee81decSopenharmony_ci    using InterfaceCode = DeviceSecurityLevelCallbackInterfaceCode;
432ee81decSopenharmony_ci    DECLARE_INTERFACE_DESCRIPTOR(u"OHOS.Security.DeviceSecurityLevel.Callback");
442ee81decSopenharmony_ci    enum {
452ee81decSopenharmony_ci        CMD_SET_DEVICE_SECURITY_LEVEL = static_cast<uint32_t>(InterfaceCode::CMD_SET_DEVICE_SECURITY_LEVEL),
462ee81decSopenharmony_ci    };
472ee81decSopenharmony_ci};
482ee81decSopenharmony_ci} // namespace DeviceSecurityLevel
492ee81decSopenharmony_ci} // namespace Security
502ee81decSopenharmony_ci} // namespace OHOS
512ee81decSopenharmony_ci
522ee81decSopenharmony_ci#endif // I_DEVICE_SECURITY_LEVEL_H
53