1 /* 2 * Copyright (c) 2024 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 INTERFACES_KITS_JS_ZIP_NAPI_CLASS_ZIP_ZIP_N_EXPORTER_H 17 #define INTERFACES_KITS_JS_ZIP_NAPI_CLASS_ZIP_ZIP_N_EXPORTER_H 18 19 #include "common/napi_exporter.h" 20 21 namespace OHOS { 22 namespace AppExecFwk { 23 namespace LIBZIP { 24 class ZipNExporter final : public NapiExporter { 25 public: 26 inline static const std::string className_ = "Zip"; 27 28 bool Export() override; 29 std::vector<napi_property_descriptor> DeflateExport(); 30 std::vector<napi_property_descriptor> InflateExport(); 31 std::string GetClassName() override; 32 33 static napi_value Constructor(napi_env env, napi_callback_info info); 34 static napi_value SetZStream(napi_env env, napi_callback_info info); 35 static napi_value GetZStream(napi_env env, napi_callback_info info); 36 static napi_value GetZStreamSync(napi_env env, napi_callback_info info); 37 38 static napi_value ZlibVersion(napi_env env, napi_callback_info info); 39 static napi_value ZError(napi_env env, napi_callback_info info); 40 static napi_value ZlibCompileFlags(napi_env env, napi_callback_info info); 41 42 static napi_value DeflateInit(napi_env env, napi_callback_info info); 43 static napi_value DeflateInit2(napi_env env, napi_callback_info info); 44 static napi_value Deflate(napi_env env, napi_callback_info info); 45 static napi_value DeflateEnd(napi_env env, napi_callback_info info); 46 static napi_value DeflateBound(napi_env env, napi_callback_info info); 47 static napi_value DeflateReset(napi_env env, napi_callback_info info); 48 static napi_value DeflateResetKeep(napi_env env, napi_callback_info info); 49 static napi_value DeflateParams(napi_env env, napi_callback_info info); 50 static napi_value DeflatePrime(napi_env env, napi_callback_info info); 51 static napi_value DeflateTune(napi_env env, napi_callback_info info); 52 static napi_value DeflateSetDictionary(napi_env env, napi_callback_info info); 53 static napi_value DeflateGetDictionary(napi_env env, napi_callback_info info); 54 static napi_value DeflateSetHeader(napi_env env, napi_callback_info info); 55 56 static napi_value DeflatePending(napi_env env, napi_callback_info info); 57 static napi_value DeflateCopy(napi_env env, napi_callback_info info); 58 59 static napi_value Compress(napi_env env, napi_callback_info info); 60 static napi_value Compress2(napi_env env, napi_callback_info info); 61 static napi_value CompressBound(napi_env env, napi_callback_info info); 62 static napi_value UnCompress(napi_env env, napi_callback_info info); 63 static napi_value UnCompress2(napi_env env, napi_callback_info info); 64 65 static napi_value InflateInit(napi_env env, napi_callback_info info); 66 static napi_value InflateInit2(napi_env env, napi_callback_info info); 67 static napi_value InflateSync(napi_env env, napi_callback_info info); 68 static napi_value Inflate(napi_env env, napi_callback_info info); 69 static napi_value InflateEnd(napi_env env, napi_callback_info info); 70 71 static napi_value InflateSetDictionary(napi_env env, napi_callback_info info); 72 static napi_value InflateGetDictionary(napi_env env, napi_callback_info info); 73 74 static napi_value InflateResetKeep(napi_env env, napi_callback_info info); 75 static napi_value InflateReset2(napi_env env, napi_callback_info info); 76 static napi_value InflateReset(napi_env env, napi_callback_info info); 77 78 static napi_value InflateBackInit(napi_env env, napi_callback_info info); 79 static napi_value InflateBack(napi_env env, napi_callback_info info); 80 static napi_value InflateBackEnd(napi_env env, napi_callback_info info); 81 82 static napi_value InflateCodesUsed(napi_env env, napi_callback_info info); 83 static napi_value InflatePrime(napi_env env, napi_callback_info info); 84 static napi_value InflateMark(napi_env env, napi_callback_info info); 85 static napi_value InflateValidate(napi_env env, napi_callback_info info); 86 static napi_value InflateSyncPoint(napi_env env, napi_callback_info info); 87 88 static napi_value InflateCopy(napi_env env, napi_callback_info info); 89 static napi_value InflateGetHeader(napi_env env, napi_callback_info info); 90 91 ZipNExporter(napi_env env, napi_value exports); 92 ~ZipNExporter() override; 93 }; 94 95 const std::string PROCEDURE_ZIP_NAME = "ZlibZip"; 96 } // namespace LIBZIP 97 } // namespace AppExecFwk 98 } // namespace OHOS 99 #endif // INTERFACES_KITS_JS_ZIP_NAPI_CLASS_ZIP_ZIP_N_EXPORTER_H