• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Rawfile
2
3
4提供操作rawfile目录和rawfile文件的功能,包括打开、遍历、搜索、读取和关闭rawfile。
5
6
7**起始版本:**
8
9
108
11
12
13## 汇总
14
15
16### 文件
17
18| 文件名称                                     | 描述                 |
19| ---------------------------------------- | ------------------ |
20| [raw_dir.h](raw__dir_8h.md)              | 提供rawfile目录相关功能。<br>**引用文件**:\<rawfile/raw_dir.h><br>**库**:librawfile.z.so |
21| [raw_file.h](raw__file_8h.md)            | 提供rawfile文件相关功能。<br>**引用文件**:\<rawfile/raw_file.h><br>**库**:librawfile.z.so |
22| [raw_file_manager.h](raw__file__manager_8h.md) | 提供资源管理rawfile相关功能。<br>**引用文件**:\<rawfile/raw_file_manager.h><br>**库**:librawfile.z.so |
23
24
25### 结构体
26
27| 结构体名称                                    | 描述                |
28| ---------------------------------------- | ----------------- |
29| [RawFileDescriptor](_raw_file_descriptor.md) | 提供rawfile文件描述符信息。 |
30
31
32### 类型定义
33
34| 类型定义名称                                   | 描述                  |
35| ---------------------------------------- | ------------------- |
36| [RawDir](#rawdir)                        | 提供对rawfile目录的访问。    |
37| [RawFile](#rawfile)                      | 提供对rawfile的访问功能。    |
38| [NativeResourceManager](#nativeresourcemanager) | 代表resource manager。 |
39
40
41### 函数
42
43| 函数名称                                     | 描述                                       |
44| ---------------------------------------- | ---------------------------------------- |
45| [OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename) ([RawDir](#rawdir) \*rawDir, int index) | 通过索引获取rawfile文件名称。                       |
46| [OH_ResourceManager_GetRawFileCount](#oh_resourcemanager_getrawfilecount) ([RawDir](#rawdir) \*rawDir) | 获取[RawDir](#rawdir)中的rawfile数量。          |
47| [OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir) ([RawDir](#rawdir) \*rawDir) | 关闭已打开的[RawDir](#rawdir)并释放所有相关联资源。       |
48| [OH_ResourceManager_ReadRawFile](#oh_resourcemanager_readrawfile) (const [RawFile](#rawfile) \*rawFile, void \*buf, size_t length) | 读取rawfile。                               |
49| [OH_ResourceManager_SeekRawFile](#oh_resourcemanager_seekrawfile) (const [RawFile](#rawfile) \*rawFile, long offset, int whence) | 基于指定的offset,在rawfile文件内搜索读写数据的位置。        |
50| [OH_ResourceManager_GetRawFileSize](#oh_resourcemanager_getrawfilesize) ([RawFile](#rawfile) \*rawFile) | 获取rawfile文件大小。                  |
51| [OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile) ([RawFile](#rawfile) \*rawFile) | 关闭已打开的[RawFile](#rawfile) 以及释放所有相关联资源。   |
52| [OH_ResourceManager_GetRawFileOffset](#oh_resourcemanager_getrawfileoffset) (const [RawFile](#rawfile) \*rawFile) | 获取rawfile当前的offset。           |
53| [OH_ResourceManager_GetRawFileDescriptor](#oh_resourcemanager_getrawfiledescriptor) (const [RawFile](#rawfile) \*rawFile, [RawFileDescriptor](_raw_file_descriptor.md) &amp;descriptor) | 基于offset和文件长度打开rawfile,并获取rawfile文件描述符。 |
54| [OH_ResourceManager_ReleaseRawFileDescriptor](#oh_resourcemanager_releaserawfiledescriptor) (const [RawFileDescriptor](_raw_file_descriptor.md) &amp;descriptor) | 关闭rawfile文件描述符。                          |
55| [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager) (napi_env env, napi_value jsResMgr) | 基于JavaScript resource manager获取native resource manager。通过此对象完成rawfile相关功能。 |
56| [OH_ResourceManager_ReleaseNativeResourceManager](#oh_resourcemanager_releasenativeresourcemanager) ([NativeResourceManager](#nativeresourcemanager) \*resMgr) | 释放native resource manager。               |
57| [OH_ResourceManager_OpenRawDir](#oh_resourcemanager_openrawdir) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*dirName) | 打开rawfile目录。                             |
58| [OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile) (const [NativeResourceManager](#nativeresourcemanager) \*mgr, const char \*fileName) | 打开rawfile文件。                             |
59
60
61## 详细描述
62
63
64### 类型定义说明
65
66
67#### NativeResourceManager
68
69
70```
71typedef struct NativeResourceManager NativeResourceManager
72```
73
74**描述:**
75
76代表resource manager。
77
78此类封装了JavaScript resource manager的native实现,**ResourceManager**指针可以通过调用[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取。
79
80**起始版本:**
81
828
83
84
85#### RawDir
86
87
88```
89typedef struct RawDir RawDir
90```
91
92**描述:**
93
94提供对rawfile目录的访问。
95
96**起始版本:**
97
988
99
100
101#### RawFile
102
103
104```
105typedef struct RawFile RawFile
106```
107
108**描述:**
109
110提供对rawfile文件操作的相关功能。
111
112**起始版本:**
113
1148
115
116
117### 函数说明
118
119
120#### OH_ResourceManager_CloseRawDir()
121
122
123```
124void OH_ResourceManager_CloseRawDir (RawDir * rawDir)
125```
126
127**描述:**
128
129关闭已打开的[RawDir](#rawdir)并释放所有相关联资源。
130
131**参数:**
132
133| Name   | 描述                        |
134| ------ | ------------------------- |
135| rawDir | 表示指向[RawDir](#rawdir)的指针。 |
136
137**参见:**
138
139[OH_ResourceManager_OpenRawDir](#oh_resourcemanager_openrawdir)
140
141**起始版本:**
142
1438
144
145
146#### OH_ResourceManager_CloseRawFile()
147
148
149```
150void OH_ResourceManager_CloseRawFile (RawFile * rawFile)
151```
152
153**描述:**
154
155关闭已打开的[RawFile](#rawfile) 以及释放所有相关联资源。
156
157**参数:**
158
159| Name    | 描述                          |
160| ------- | --------------------------- |
161| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
162
163**参见:**
164
165[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
166
167**起始版本:**
168
1698
170
171
172#### OH_ResourceManager_GetRawFileCount()
173
174
175```
176int OH_ResourceManager_GetRawFileCount (RawDir * rawDir)
177```
178
179**描述:**
180
181获取[RawDir](#rawdir)中的rawfile数量。
182
183通过此方法可以获取[OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename)中可用的索引。
184
185**参数:**
186
187| Name   | 描述                        |
188| ------ | ------------------------- |
189| rawDir | 表示指向[RawDir](#rawdir)的指针。 |
190
191**参见:**
192
193[OH_ResourceManager_GetRawFileName](#oh_resourcemanager_getrawfilename)
194
195**起始版本:**
196
1978
198
199
200#### OH_ResourceManager_GetRawFileDescriptor()
201
202
203```
204bool OH_ResourceManager_GetRawFileDescriptor (const RawFile * rawFile, RawFileDescriptor & descriptor )
205```
206
207**描述:**
208
209基于offset和文件长度打开rawfile,并获取rawfile文件描述符。
210
211打开的文件描述符被用于读取rawfile。
212
213**参数:**
214
215| Name       | 描述                                                 |
216| ---------- | ---------------------------------------------------- |
217| rawFile    | 表示指向[RawFile](#rawfile)的指针。                  |
218| descriptor | 显示rawfile文件描述符,以及在HAP中的起始位置和长度。 |
219
220**返回:**
221
222返回true表示打开rawfile文件描述符成功,返回false表示rawfile不允许被访问。
223
224**起始版本:**
225
2268
227
228
229#### OH_ResourceManager_GetRawFileName()
230
231
232```
233const char* OH_ResourceManager_GetRawFileName (RawDir * rawDir, int index )
234```
235
236**描述:**
237
238通过索引获取rawfile文件名称。
239
240可以使用此方法遍历rawfile目录。
241
242**参数:**
243
244| Name   | 描述                            |
245| ------ | ----------------------------- |
246| rawDir | 表示指向[RawDir](#rawdir)的指针。     |
247| index  | 表示文件在[RawDir](#rawdir)中的索引位置。 |
248
249**返回:**
250
251通过索引返回文件名称,此返回值可以作为[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)的输入参数, 如果遍历完所有文件仍未找到,则返回**NULL**。
252
253**参见:**
254
255[OH_ResourceManager_OpenRawFile](#oh_resourcemanager_openrawfile)
256
257**起始版本:**
258
2598
260
261
262#### OH_ResourceManager_GetRawFileOffset()
263
264
265```
266long OH_ResourceManager_GetRawFileOffset (const RawFile * rawFile)
267```
268
269**描述:**
270
271获取rawfile当前的offset。
272
273rawfile当前的offset。
274
275**参数:**
276
277| Name    | 描述                          |
278| ------- | --------------------------- |
279| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
280
281**返回:**
282
283返回rawfile当前的offset。
284
285**起始版本:**
286
2878
288
289
290#### OH_ResourceManager_GetRawFileSize()
291
292
293```
294long OH_ResourceManager_GetRawFileSize (RawFile * rawFile)
295```
296
297**描述:**
298
299获取rawfile文件大小。
300
301**参数:**
302
303| Name    | 描述                          |
304| ------- | --------------------------- |
305| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
306
307**返回:**
308
309Returns rawfile整体文件大小。
310
311**起始版本:**
312
3138
314
315
316#### OH_ResourceManager_InitNativeResourceManager()
317
318
319```
320NativeResourceManager* OH_ResourceManager_InitNativeResourceManager (napi_env env, napi_value jsResMgr )
321```
322
323**描述:**
324
325基于JavaScript resource manager获取native resource manager。
326
327通过获取resource manager来完成rawfile相关功能。
328
329**参数:**
330
331| Name     | 描述                                       |
332| -------- | ---------------------------------------- |
333| env      | 表示JavaScript Native Interface (napi)环境指针。 |
334| jsResMgr | 表示JavaScript resource manager。           |
335
336**返回:**
337
338返回[NativeResourceManager](#nativeresourcemanager)指针。
339
340**起始版本:**
341
3428
343
344
345#### OH_ResourceManager_OpenRawDir()
346
347
348```
349RawDir* OH_ResourceManager_OpenRawDir (const NativeResourceManager * mgr, const char * dirName )
350```
351
352**描述:**
353
354打开rawfile目录。
355
356打开rawfile目录后,可以遍历对应目录下的rawfile文件。
357
358**参数:**
359
360| Name    | 描述                                       |
361| ------- | ---------------------------------------- |
362| mgr     | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针是通过调用 [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取的。 |
363| dirName | 表示要打开的rawfile目录名称,当传递一个空字符串时表示打开rawfile根目录。 |
364
365**返回:**
366
367返回[RawDir](#rawdir)指针。使用完此指针后,调用[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)释放。
368
369**参见:**
370
371[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
372
373[OH_ResourceManager_CloseRawDir](#oh_resourcemanager_closerawdir)
374
375**起始版本:**
376
3778
378
379
380#### OH_ResourceManager_OpenRawFile()
381
382
383```
384RawFile* OH_ResourceManager_OpenRawFile (const NativeResourceManager * mgr, const char * fileName )
385```
386
387**描述:**
388
389打开rawfile文件。
390
391当打开rawfile以后,可以读取它的数据。
392
393**参数:**
394
395| Name     | 描述                                       |
396| -------- | ---------------------------------------- |
397| mgr      | 表示指向[NativeResourceManager](#nativeresourcemanager)的指针,此指针是通过调用 [OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)方法获取的。 |
398| fileName | 表示基于rawfile根目录的相对路径下的文件名称。               |
399
400**返回:**
401
402返回[RawFile](#rawfile)指针。当使用完此指针,调用[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)释放。
403
404**参见:**
405
406[OH_ResourceManager_InitNativeResourceManager](#oh_resourcemanager_initnativeresourcemanager)
407
408[OH_ResourceManager_CloseRawFile](#oh_resourcemanager_closerawfile)
409
410**起始版本:**
411
4128
413
414
415#### OH_ResourceManager_ReadRawFile()
416
417
418```
419int OH_ResourceManager_ReadRawFile (const RawFile * rawFile, void * buf, size_t length )
420```
421
422**描述:**
423
424读取当前rawfile的文件数据。
425
426**参数:**
427
428| Name    | 描述                          |
429| ------- | --------------------------- |
430| rawFile | 表示指向[RawFile](#rawfile)的指针。 |
431| buf     | 用于接收读取数据的缓冲区指针。             |
432| length  | rawfile文件的长度。                 |
433
434**返回:**
435
436返回rawfile文件的长度,如果length小于文件长度,则返回**0**。
437
438**起始版本:**
439
4408
441
442
443#### OH_ResourceManager_ReleaseNativeResourceManager()
444
445
446```
447void OH_ResourceManager_ReleaseNativeResourceManager (NativeResourceManager * resMgr)
448```
449
450**描述:**
451
452释放native resource manager。
453
454**参数:**
455
456| Name   | 描述                                       |
457| ------ | ---------------------------------------- |
458| resMgr | 表示[NativeResourceManager](#nativeresourcemanager)指针。 |
459
460**起始版本:**
461
4628
463
464
465#### OH_ResourceManager_ReleaseRawFileDescriptor()
466
467
468```
469bool OH_ResourceManager_ReleaseRawFileDescriptor (const RawFileDescriptor & descriptor)
470```
471
472**描述:**
473
474关闭rawfile文件描述符。
475
476已打开的文件描述符在使用完以后必须释放,防止文件描述符泄露。
477
478**参数:**
479
480| Name       | 描述                                                 |
481| ---------- | ---------------------------------------------------- |
482| descriptor | 包含rawfile文件描述符,以及在HAP中的起始位置和长度。 |
483
484**返回:**
485
486返回true表示关闭文件描述符成功,返回false表示关闭文件描述符失败。
487
488**起始版本:**
489
4908
491
492
493#### OH_ResourceManager_SeekRawFile()
494
495
496```
497int OH_ResourceManager_SeekRawFile (const RawFile * rawFile, long offset, int whence )
498```
499
500**描述:**
501
502基于指定的offset,在rawfile文件内搜索读写数据的位置。
503
504**参数:**
505
506| Name    | 描述                                       |
507| ------- | ---------------------------------------- |
508| rawFile | 表示指向[RawFile](#rawfile)的指针。              |
509| offset  | 表示指定的offset。                             |
510| whence  | 读写位置,有以下场景:<br/>**0**: 读写位置为**offset**<br/>**1**: 读写位置为当前位置加上**offset**<br/>**2**: 读写位置为文件末尾(EOF)加上**offset**。 |
511
512**返回:**
513
514如果搜索成功返回**0**,rawFile指针更新到新的读写位置。如果发生错误返回 **(long) -1**。
515
516**起始版本:**
517
5188
519