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_GZIP_N_EXPORTER_H 17 #define INTERFACES_KITS_JS_ZIP_NAPI_CLASS_ZIP_GZIP_N_EXPORTER_H 18 19 #include "common/napi_exporter.h" 20 21 namespace OHOS { 22 namespace AppExecFwk { 23 namespace LIBZIP { 24 class GZipNExporter final : public NapiExporter { 25 public: 26 inline static const std::string className_ = "GZip"; 27 28 bool Export() override; 29 std::string GetClassName() override; 30 31 static napi_value Constructor(napi_env env, napi_callback_info info); 32 33 static napi_value GZDopen(napi_env env, napi_callback_info info); 34 static napi_value GZOpen(napi_env env, napi_callback_info info); 35 static napi_value GZClose(napi_env env, napi_callback_info info); 36 static napi_value GZCloseW(napi_env env, napi_callback_info info); 37 static napi_value GZBuffer(napi_env env, napi_callback_info info); 38 39 static napi_value GZRead(napi_env env, napi_callback_info info); 40 static napi_value GZFRead(napi_env env, napi_callback_info info); 41 static napi_value GZWrite(napi_env env, napi_callback_info info); 42 static napi_value GZFWrite(napi_env env, napi_callback_info info); 43 static napi_value GZPutC(napi_env env, napi_callback_info info); 44 static napi_value GZPutS(napi_env env, napi_callback_info info); 45 static napi_value GZTell(napi_env env, napi_callback_info info); 46 static napi_value GZSetParams(napi_env env, napi_callback_info info); 47 static napi_value GZPrintF(napi_env env, napi_callback_info info); 48 49 static napi_value GZCloseR(napi_env env, napi_callback_info info); 50 static napi_value GZGetS(napi_env env, napi_callback_info info); 51 static napi_value GZGetC(napi_env env, napi_callback_info info); 52 static napi_value GZRewind(napi_env env, napi_callback_info info); 53 static napi_value GZSeek(napi_env env, napi_callback_info info); 54 static napi_value GZOffset(napi_env env, napi_callback_info info); 55 static napi_value GZUnGetC(napi_env env, napi_callback_info info); 56 57 static napi_value GZClearerr(napi_env env, napi_callback_info info); 58 static napi_value GZDirect(napi_env env, napi_callback_info info); 59 static napi_value GZeof(napi_env env, napi_callback_info info); 60 static napi_value GZError(napi_env env, napi_callback_info info); 61 static napi_value GZFlush(napi_env env, napi_callback_info info); 62 63 GZipNExporter(napi_env env, napi_value exports); 64 ~GZipNExporter() override; 65 }; 66 67 const std::string PROCEDURE_GZIP_NAME = "ZlibGZip"; 68 } // namespace LIBZIP 69 } // namespace AppExecFwk 70 } // namespace OHOS 71 #endif // INTERFACES_KITS_JS_ZIP_NAPI_CLASS_ZIP_GZIP_N_EXPORTER_H