diff --git a/api/@ohos.zlib.d.ts b/api/@ohos.zlib.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..abb974b2b034af961083197cdc467fab404de228 --- /dev/null +++ b/api/@ohos.zlib.d.ts @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2021 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. + */ + +import { AsyncCallback } from './basic'; + +declare namespace zlib { +/** + * @name ErrorCode + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @import NA + * @permission NA + * @devices phone, tablet, tv, wearable, car + */ + export enum ErrorCode { + ERROR_CODE_OK = 0, + ERROR_CODE_ERRNO = -1 + } + +/** + * @name CompressLevel + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @import NA + * @permission NA + * @devices phone, tablet, tv, wearable, car + */ + export enum CompressLevel { + COMPRESS_LEVEL_NO_COMPRESSION = 0, + COMPRESS_LEVEL_BEST_SPEED = 1, + COMPRESS_LEVEL_BEST_COMPRESSION = 9, + COMPRESS_LEVEL_DEFAULT_COMPRESSION = -1 + } + +/** + * @name CompressStrategy + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @import NA + * @permission NA + * @devices phone, tablet, tv, wearable, car + */ + export enum CompressStrategy { + COMPRESS_STRATEGY_DEFAULT_STRATEGY = 0, + COMPRESS_STRATEGY_FILTERED = 1, + COMPRESS_STRATEGY_HUFFMAN_ONLY = 2, + COMPRESS_STRATEGY_RLE = 3, + COMPRESS_STRATEGY_FIXED = 4 + } + +/** + * @name MemLevel + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @import NA + * @permission NA + * @devices phone, tablet, tv, wearable, car + */ + export enum MemLevel { + MEM_LEVEL_MIN = 1, + MEM_LEVEL_MAX = 9, + MEM_LEVEL_DEFAULT = 8 + } + +/** + * @name Options + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @import NA + * @permission NA + * @devices phone, tablet, tv, wearable, car + */ + interface Options { + level?: CompressLevel; + memLevel?: MemLevel; + strategy?: CompressStrategy; + } + + /** + * Compress the specified file. + * + * @devices phone, tablet, tv, wearable, car + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @param inFile Indicates the path of the file to be compressed. + * @param outFile Indicates the path of the output compressed file. + * @return Returns error code. + */ + function zipFile(inFile:string, outFile:string, options: Options): Promise; + + /** + * Decompress the specified file. + * + * @devices phone, tablet, tv, wearable, car + * @since 7 + * @SysCap SystemCapability.Appexecfwk + * @param inFile Indicates the path of the file to be decompressed. + * @param outFile Indicates the path of the decompressed file. + * @return Returns error code. + */ + function unzipFile(inFile:string, outFile:string, options: Options): Promise; +}