1526fd984Sopenharmony_ci/* 2526fd984Sopenharmony_ci * Copyright (c) 2023-2024 Huawei Device Co., Ltd. 3526fd984Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4526fd984Sopenharmony_ci * you may not use this file except in compliance with the License. 5526fd984Sopenharmony_ci * You may obtain a copy of the License at 6526fd984Sopenharmony_ci * 7526fd984Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8526fd984Sopenharmony_ci * 9526fd984Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10526fd984Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11526fd984Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12526fd984Sopenharmony_ci * See the License for the specific language governing permissions and 13526fd984Sopenharmony_ci * limitations under the License. 14526fd984Sopenharmony_ci */ 15526fd984Sopenharmony_ci 16526fd984Sopenharmony_ci#ifndef HKS_LITE_API_H 17526fd984Sopenharmony_ci#define HKS_LITE_API_H 18526fd984Sopenharmony_ci 19526fd984Sopenharmony_ci#include "jsi.h" 20526fd984Sopenharmony_ci 21526fd984Sopenharmony_cinamespace OHOS { 22526fd984Sopenharmony_cinamespace ACELite { 23526fd984Sopenharmony_ciclass HksLiteModule final : public MemoryHeap { 24526fd984Sopenharmony_cipublic: 25526fd984Sopenharmony_ci HksLiteModule() {} 26526fd984Sopenharmony_ci ~HksLiteModule() {} 27526fd984Sopenharmony_ci static JSIValue generateKeyItem(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 28526fd984Sopenharmony_ci static JSIValue initSession(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 29526fd984Sopenharmony_ci static JSIValue updateSession(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 30526fd984Sopenharmony_ci static JSIValue finishSession(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 31526fd984Sopenharmony_ci static JSIValue abortSession(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 32526fd984Sopenharmony_ci static JSIValue deleteKeyItem(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 33526fd984Sopenharmony_ci static JSIValue isKeyItemExist(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 34526fd984Sopenharmony_ci static JSIValue hasKeyItem(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 35526fd984Sopenharmony_ci static JSIValue importKeyItem(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 36526fd984Sopenharmony_ci static JSIValue exportKeyItem(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 37526fd984Sopenharmony_ci static JSIValue getKeyProperties(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 38526fd984Sopenharmony_ci static JSIValue importWrappedKeyItem(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum); 39526fd984Sopenharmony_ci}; 40526fd984Sopenharmony_ci 41526fd984Sopenharmony_civoid InitHuksModule(JSIValue exports); 42526fd984Sopenharmony_ci} // namespace ACELite 43526fd984Sopenharmony_ci} // namespace OHOS 44526fd984Sopenharmony_ci#endif // HKS_LITE_API_H 45