17777dab0Sopenharmony_ci/*
27777dab0Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License.
57777dab0Sopenharmony_ci * You may obtain a copy of the License at
67777dab0Sopenharmony_ci *
77777dab0Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
87777dab0Sopenharmony_ci *
97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and
137777dab0Sopenharmony_ci * limitations under the License.
147777dab0Sopenharmony_ci */
157777dab0Sopenharmony_ci
167777dab0Sopenharmony_ci/**
177777dab0Sopenharmony_ci * @addtogroup rawfile
187777dab0Sopenharmony_ci * @{
197777dab0Sopenharmony_ci *
207777dab0Sopenharmony_ci * @brief Provides native functions for the resource manager to operate raw file directories and their raw files.
217777dab0Sopenharmony_ci *
227777dab0Sopenharmony_ci * You can use the resource manager to traverse, open, seek, read, and close raw files.
237777dab0Sopenharmony_ci *
247777dab0Sopenharmony_ci * @since 8
257777dab0Sopenharmony_ci * @version 1.0
267777dab0Sopenharmony_ci */
277777dab0Sopenharmony_ci
287777dab0Sopenharmony_ci/**
297777dab0Sopenharmony_ci * @file raw_dir.h
307777dab0Sopenharmony_ci *
317777dab0Sopenharmony_ci * @brief Declares native functions related to raw file directories.
327777dab0Sopenharmony_ci *
337777dab0Sopenharmony_ci * For example, you can use the functions to traverse and close a raw file directory, and reset its index.
347777dab0Sopenharmony_ci * @kit LocalizationKit
357777dab0Sopenharmony_ci * @since 8
367777dab0Sopenharmony_ci * @version 1.0
377777dab0Sopenharmony_ci */
387777dab0Sopenharmony_ci#ifndef GLOBAL_RAW_DIR_H
397777dab0Sopenharmony_ci#define GLOBAL_RAW_DIR_H
407777dab0Sopenharmony_ci
417777dab0Sopenharmony_ci#ifdef __cplusplus
427777dab0Sopenharmony_ciextern "C" {
437777dab0Sopenharmony_ci#endif
447777dab0Sopenharmony_ci
457777dab0Sopenharmony_cistruct RawDir;
467777dab0Sopenharmony_ci
477777dab0Sopenharmony_ci/**
487777dab0Sopenharmony_ci * @brief Provides access to a raw file directory.
497777dab0Sopenharmony_ci *
507777dab0Sopenharmony_ci *
517777dab0Sopenharmony_ci *
527777dab0Sopenharmony_ci * @since 8
537777dab0Sopenharmony_ci * @version 1.0
547777dab0Sopenharmony_ci */
557777dab0Sopenharmony_citypedef struct RawDir RawDir;
567777dab0Sopenharmony_ci
577777dab0Sopenharmony_ci/**
587777dab0Sopenharmony_ci * @brief Obtains the name of the file according to the index.
597777dab0Sopenharmony_ci *
607777dab0Sopenharmony_ci * You can use this method to traverse a raw file directory.
617777dab0Sopenharmony_ci *
627777dab0Sopenharmony_ci * @param rawDir Indicates the pointer to {@link RawDir}.
637777dab0Sopenharmony_ci * @param index Indicates the file index in {@link RawDir}.
647777dab0Sopenharmony_ci * @return Returns the name of the file according to the index,
657777dab0Sopenharmony_ci * which can be passed to {@link OH_ResourceManager_OpenRawFile} as an input parameter;
667777dab0Sopenharmony_ci * returns <b>NULL</b> if all files are returned.
677777dab0Sopenharmony_ci * @see OH_ResourceManager_OpenRawFile
687777dab0Sopenharmony_ci * @since 8
697777dab0Sopenharmony_ci * @version 1.0
707777dab0Sopenharmony_ci */
717777dab0Sopenharmony_ciconst char *OH_ResourceManager_GetRawFileName(RawDir *rawDir, int index);
727777dab0Sopenharmony_ci
737777dab0Sopenharmony_ci/**
747777dab0Sopenharmony_ci * @brief get the count of the raw files in {@link RawDir}.
757777dab0Sopenharmony_ci *
767777dab0Sopenharmony_ci * You can use this method to get the valid index of {@link OH_ResourceManager_GetRawFileName}.
777777dab0Sopenharmony_ci *
787777dab0Sopenharmony_ci * @param rawDir Indicates the pointer to {@link RawDir}.
797777dab0Sopenharmony_ci * @see OH_ResourceManager_GetRawFileName
807777dab0Sopenharmony_ci * @since 8
817777dab0Sopenharmony_ci * @version 1.0
827777dab0Sopenharmony_ci */
837777dab0Sopenharmony_ciint OH_ResourceManager_GetRawFileCount(RawDir *rawDir);
847777dab0Sopenharmony_ci
857777dab0Sopenharmony_ci/**
867777dab0Sopenharmony_ci * @brief Closes an opened {@link RawDir} and releases all associated resources.
877777dab0Sopenharmony_ci *
887777dab0Sopenharmony_ci *
897777dab0Sopenharmony_ci *
907777dab0Sopenharmony_ci * @param rawDir Indicates the pointer to {@link RawDir}.
917777dab0Sopenharmony_ci * @see OH_ResourceManager_OpenRawDir
927777dab0Sopenharmony_ci * @since 8
937777dab0Sopenharmony_ci * @version 1.0
947777dab0Sopenharmony_ci */
957777dab0Sopenharmony_civoid OH_ResourceManager_CloseRawDir(RawDir *rawDir);
967777dab0Sopenharmony_ci
977777dab0Sopenharmony_ci#ifdef __cplusplus
987777dab0Sopenharmony_ci};
997777dab0Sopenharmony_ci#endif
1007777dab0Sopenharmony_ci
1017777dab0Sopenharmony_ci/** @} */
1027777dab0Sopenharmony_ci#endif // GLOBAL_RAW_DIR_H
103