ZFFramework
 
Loading...
Searching...
No Matches
ZFFile_pathInfo.h
Go to the documentation of this file.
1
5
6#ifndef _ZFI_ZFFile_pathInfo_h_
7#define _ZFI_ZFFile_pathInfo_h_
8
9#include "ZFFile_fwd.h"
11
12// ============================================================
14typedef zfbool (*ZFPathInfoCallbackIsExist)(ZF_IN const zfchar *pathData);
16typedef zfbool (*ZFPathInfoCallbackIsDir)(ZF_IN const zfchar *pathData);
20 , ZF_IN const zfchar *pathData
21 );
25 , ZF_IN const zfchar *pathData
26 , ZF_IN const zfchar *childName
27 );
31 , ZF_IN const zfchar *pathData
32 );
35 ZF_IN const zfchar *pathData
36 , ZF_IN_OPT zfbool autoMakeParent /* = zftrue */
37 );
40 ZF_IN const zfchar *pathData
41 , ZF_IN_OPT zfbool isRecursive /* = zftrue */
42 , ZF_IN_OPT zfbool isForce /* = zftrue */
43 );
46 ZF_IN const zfchar *pathDataFrom
47 , ZF_IN const zfchar *pathDataTo
48 , ZF_IN_OPT zfbool isForce /* = zftrue */
49 );
53 , ZF_IN const zfchar *pathData
54 );
60typedef void *(*ZFPathInfoCallbackOpen)(
61 ZF_IN const zfchar *pathData
62 , ZF_IN_OPT ZFFileOpenOptionFlags flag /* = v_ZFFileOpenOption::e_Read */
63 , ZF_IN_OPT zfbool autoCreateParent /* = zftrue */
64 );
66typedef zfbool (*ZFPathInfoCallbackClose)(ZF_IN void *token);
68typedef zfindex (*ZFPathInfoCallbackTell)(ZF_IN void *token);
71 ZF_IN void *token
72 , ZF_IN zfindex byteSize
73 , ZF_IN_OPT ZFSeekPos position /* = ZFSeekPosBegin */
74 );
77 ZF_IN void *token
78 , ZF_IN void *buf
79 , ZF_IN zfindex maxByteSize
80 );
83 ZF_IN void *token
84 , ZF_IN const void *src
85 , ZF_IN_OPT zfindex maxByteSize /* = zfindexMax() */
86 );
88typedef void (*ZFPathInfoCallbackFlush)(ZF_IN void *token);
90typedef zfbool (*ZFPathInfoCallbackIsEof)(ZF_IN void *token);
92typedef zfbool (*ZFPathInfoCallbackIsError)(ZF_IN void *token);
94typedef zfindex (*ZFPathInfoCallbackSize)(ZF_IN void *token);
95
96// ============================================================
104 , ZF_IN const zfchar *pathData
105 );
109 , ZF_IN const zfchar *pathData
110 , ZF_IN const zfchar *childName
111 );
115 , ZF_IN const zfchar *pathData
116 );
119 ZF_IN const zfchar *pathData
120 , ZF_IN_OPT zfbool autoMakeParent = zftrue
121 );
124 ZF_IN const zfchar *pathData
125 , ZF_IN_OPT zfbool isRecursive = zftrue
126 , ZF_IN_OPT zfbool isForce = zftrue
127 );
130 ZF_IN const zfchar *pathDataFrom
131 , ZF_IN const zfchar *pathDataTo
132 , ZF_IN_OPT zfbool isForce = zftrue
133 );
137 , ZF_IN const zfchar *pathData
138 );
145 ZF_IN const zfchar *pathData
147 , ZF_IN_OPT zfbool autoCreateParent = zftrue
148 );
155 ZF_IN void *token
156 , ZF_IN zfindex byteSize
157 , ZF_IN_OPT ZFSeekPos position = ZFSeekPosBegin
158 );
161 ZF_IN void *token
162 , ZF_IN void *buf
163 , ZF_IN zfindex maxByteSize
164 );
167 ZF_IN void *token
168 , ZF_IN const void *src
169 , ZF_IN_OPT zfindex maxByteSize = zfindexMax()
170 );
179
180// ============================================================
183 , ZFMP_IN(const ZFPathInfo &, pathInfo)
187 , ZFMP_IN(const ZFPathInfo &, pathInfo)
191 , ZFMP_IN_OUT(zfstring &, ret)
192 , ZFMP_IN(const ZFPathInfo &, pathInfo)
196 , ZFMP_IN_OUT(zfstring &, ret)
197 , ZFMP_IN(const ZFPathInfo &, pathInfo)
198 , ZFMP_IN(const zfchar *, childName)
202 , ZFMP_IN_OUT(zfstring &, ret)
203 , ZFMP_IN(const ZFPathInfo &, pathInfo)
207 , ZFMP_IN(const ZFPathInfo &, pathInfo)
208 , ZFMP_IN_OPT(zfbool, autoMakeParent, zftrue)
212 , ZFMP_IN(const ZFPathInfo &, pathInfo)
213 , ZFMP_IN_OPT(zfbool, isRecursive, zftrue)
214 , ZFMP_IN_OPT(zfbool, isForce, zftrue)
218 , ZFMP_IN(const ZFPathInfo &, pathInfoFrom)
219 , ZFMP_IN(const zfchar *, pathDataTo)
220 , ZFMP_IN_OPT(zfbool, isForce, zftrue)
224 , ZFMP_IN(const ZFPathInfo &, pathInfo)
229 , ZFMP_IN(const ZFPathInfo &, pathInfo)
234 , ZFMP_IN(const ZFPathInfo &, pathInfo)
239 , ZFMP_IN(const ZFPathInfo &, pathInfo)
241 , ZFMP_IN_OPT(zfbool, autoCreateParent, zftrue)
245 , ZFMP_IN(const ZFPathInfo &, pathInfo)
246 , ZFMP_IN(void *, token)
250 , ZFMP_IN(const ZFPathInfo &, pathInfo)
251 , ZFMP_IN(void *, token)
255 , ZFMP_IN(const ZFPathInfo &, pathInfo)
256 , ZFMP_IN(void *, token)
257 , ZFMP_IN(zfindex, byteSize)
258 , ZFMP_IN_OPT(ZFSeekPos, position, ZFSeekPosBegin)
262 , ZFMP_IN(const ZFPathInfo &, pathInfo)
263 , ZFMP_IN(void *, token)
264 , ZFMP_IN(void *, buf)
265 , ZFMP_IN(zfindex, maxByteSize)
269 , ZFMP_IN(const ZFPathInfo &, pathInfo)
270 , ZFMP_IN(void *, token)
271 , ZFMP_IN(const void *, src)
272 , ZFMP_IN_OPT(zfindex, maxByteSize, zfindexMax())
276 , ZFMP_IN(const ZFPathInfo &, pathInfo)
277 , ZFMP_IN(void *, token)
281 , ZFMP_IN(const ZFPathInfo &, pathInfo)
282 , ZFMP_IN(void *, token)
286 , ZFMP_IN(const ZFPathInfo &, pathInfo)
287 , ZFMP_IN(void *, token)
291 , ZFMP_IN(const ZFPathInfo &, pathInfo)
292 , ZFMP_IN(void *, token)
294
309 , ZFMP_IN(const ZFPathInfo &, srcPath)
310 , ZFMP_IN(const ZFPathInfo &, dstPath)
311 , ZFMP_IN_OPT(zfbool, isRecursive, zftrue)
312 , ZFMP_IN_OPT(zfbool, isForce, zftrue)
314
315// ============================================================
318public:
340
341public:
343 void _ZFP_init(
365 ) {
366 this->callbackIsExist = callbackIsExist;
367 this->callbackIsDir = callbackIsDir;
368 this->callbackToFileName = callbackToFileName;
369 this->callbackToChild = callbackToChild;
370 this->callbackToParent = callbackToParent;
371 this->callbackPathCreate = callbackPathCreate;
372 this->callbackRemove = callbackRemove;
373 this->callbackMove = callbackMove;
374 this->callbackFindFirst = callbackFindFirst;
375 this->callbackFindNext = callbackFindNext;
376 this->callbackFindClose = callbackFindClose;
377 this->callbackOpen = callbackOpen;
378 this->callbackClose = callbackClose;
379 this->callbackTell = callbackTell;
380 this->callbackSeek = callbackSeek;
381 this->callbackRead = callbackRead;
382 this->callbackWrite = callbackWrite;
383 this->callbackFlush = callbackFlush;
384 this->callbackIsEof = callbackIsEof;
385 this->callbackIsError = callbackIsError;
386 this->callbackSize = callbackSize;
387 }
389
390public:
392 inline zfbool implIsExist(ZF_IN const zfchar *pathData) const {
393 return this->callbackIsExist(pathData);
394 }
395
396 inline zfbool implIsDir(ZF_IN const zfchar *pathData) const {
397 return this->callbackIsDir(pathData);
398 }
399
402 , ZF_IN const zfchar *pathData
403 ) const {
404 return this->callbackToFileName(ret, pathData);
405 }
406
409 , ZF_IN const zfchar *pathData
410 , ZF_IN const zfchar *childName
411 ) const {
412 return this->callbackToChild(ret, pathData, childName);
413 }
414
417 , ZF_IN const zfchar *pathData
418 ) const {
419 return this->callbackToParent(ret, pathData);
420 }
421
423 ZF_IN const zfchar *pathData
424 , ZF_IN_OPT zfbool autoMakeParent = zftrue
425 ) const {
426 return this->callbackPathCreate(pathData, autoMakeParent);
427 }
428
430 ZF_IN const zfchar *pathData
431 , ZF_IN_OPT zfbool isRecursive = zftrue
432 , ZF_IN_OPT zfbool isForce = zftrue
433 ) const {
434 return this->callbackRemove(pathData, isRecursive, isForce);
435 }
436
438 ZF_IN const zfchar *pathDataFrom
439 , ZF_IN const zfchar *pathDataTo
440 , ZF_IN_OPT zfbool isForce = zftrue
441 ) const {
442 return this->callbackMove(pathDataFrom, pathDataTo, isForce);
443 }
444
447 , ZF_IN const zfchar *pathData
448 ) const {
449 return this->callbackFindFirst(fd, pathData);
450 }
451
453 return this->callbackFindNext(fd);
454 }
455
456 inline void implFindClose(ZF_IN_OUT ZFFileFindData &fd) const {
457 return this->callbackFindClose(fd);
458 }
459
460 inline void *implOpen(
461 ZF_IN const zfchar *pathData
463 , ZF_IN_OPT zfbool autoCreateParent = zftrue
464 ) const {
465 return this->callbackOpen(pathData, flag, autoCreateParent);
466 }
467
468 inline zfbool implClose(ZF_IN void *token) const {
469 return this->callbackClose(token);
470 }
471
472 inline zfindex implTell(ZF_IN void *token) const {
473 return this->callbackTell(token);
474 }
475
477 ZF_IN void *token
478 , ZF_IN zfindex byteSize
479 , ZF_IN_OPT ZFSeekPos position = ZFSeekPosBegin
480 ) const {
481 return this->callbackSeek(token, byteSize, position);
482 }
483
485 ZF_IN void *token
486 , ZF_IN void *buf
487 , ZF_IN zfindex maxByteSize
488 ) const {
489 return this->callbackRead(token, buf, maxByteSize);
490 }
491
493 ZF_IN void *token
494 , ZF_IN const void *src
495 , ZF_IN_OPT zfindex maxByteSize = zfindexMax()
496 ) const {
497 return this->callbackWrite(token, src, maxByteSize);
498 }
499
500 inline void implFlush(ZF_IN void *token) const {
501 return this->callbackFlush(token);
502 }
503
504 inline zfbool implIsEof(ZF_IN void *token) const {
505 return this->callbackIsEof(token);
506 }
507
508 inline zfbool implIsError(ZF_IN void *token) const {
509 return this->callbackIsError(token);
510 }
511
512 inline zfindex implSize(ZF_IN void *token) const {
513 return this->callbackSize(token);
514 }
515};
518
519extern ZFLIB_ZFCore void _ZFP_ZFPathInfoRegister(
520 ZF_IN const zfstring &pathType
521 , ZF_IN const ZFPathInfoImpl &data
522 );
523extern ZFLIB_ZFCore void _ZFP_ZFPathInfoUnregister(ZF_IN const zfstring &pathType);
524
535#define ZFPATHTYPE_FILEIO_REGISTER(registerSig, pathType, ...) \
536 ZF_STATIC_REGISTER_INIT(ZFPathInfoReg_##registerSig) { \
537 ZFPathInfoImpl data; \
538 data._ZFP_init(__VA_ARGS__); \
539 _ZFP_ZFPathInfoRegister(pathType, data); \
540 } \
541 ZF_STATIC_REGISTER_DESTROY(ZFPathInfoReg_##registerSig) { \
542 _ZFP_ZFPathInfoUnregister(pathType); \
543 } \
544 ZF_STATIC_REGISTER_END(ZFPathInfoReg_##registerSig)
545
550 , ZFMP_IN(const zfstring &, pathType)
566
567// ============================================================
568// utils
577 , ZFMP_IN_OPT(const zfstring &, localPath, zfnull)
584 , ZFMP_OUT(ZFPathInfo &, ret)
585 , ZFMP_IN(const ZFPathInfo &, pathInfo)
586 , ZFMP_IN(const zfchar *, childPath)
593 , ZFMP_OUT(zfstring &, ret)
594 , ZFMP_IN(const ZFPathInfo &, pathInfo)
595 , ZFMP_IN(const zfchar *, childPath)
601 , ZFMP_IN(const ZFPathInfo &, pathInfo)
602 , ZFMP_IN(const zfchar *, childPath)
604
605// ============================================================
606// ZFInputForPathInfo
620#define ZFCallbackSerializeType_ZFInputForPathInfo "ZFInputForPathInfo"
621
634 , ZFMP_IN(const ZFPathInfo &, pathInfo)
645 , ZFMP_IN_OUT(ZFCallback &, ret)
646 , ZFMP_IN(const ZFPathInfo &, pathInfo)
649
652 , ZFMP_IN(void *, token)
653 , ZFMP_IN(const ZFPathInfo &, pathInfo)
655 , ZFMP_IN_OPT(zfbool, autoClose, zftrue)
659 , ZFMP_IN_OUT(ZFCallback &, ret)
660 , ZFMP_IN(void *, token)
661 , ZFMP_IN(const ZFPathInfo &, pathInfo)
663 , ZFMP_IN_OPT(zfbool, autoClose, zftrue)
665
666// ============================================================
667// ZFOutputForPathInfo
681#define ZFCallbackSerializeType_ZFOutputForPathInfo "ZFOutputForPathInfo"
682
695 , ZFMP_IN(const ZFPathInfo &, pathInfo)
706 , ZFMP_IN_OUT(ZFCallback &, ret)
707 , ZFMP_IN(const ZFPathInfo &, pathInfo)
710
713 , ZFMP_IN(void *, token)
714 , ZFMP_IN(const ZFPathInfo &, pathInfo)
716 , ZFMP_IN_OPT(zfbool, autoClose, zftrue)
720 , ZFMP_IN_OUT(ZFCallback &, ret)
721 , ZFMP_IN(void *, token)
722 , ZFMP_IN(const ZFPathInfo &, pathInfo)
724 , ZFMP_IN_OPT(zfbool, autoClose, zftrue)
726
727// ============================================================
728// ZFInputForLocal
742#define ZFCallbackSerializeType_ZFInputForLocal "ZFInputForLocal"
743
758 , ZFMP_IN(const zfchar *, localPath)
759 , ZFMP_IN(const ZFPathInfo &, pathInfo)
766 , ZFMP_OUT(ZFCallback &, ret)
767 , ZFMP_IN(const zfchar *, localPath)
768 , ZFMP_IN(const ZFPathInfo &, pathInfo)
771
772// ============================================================
773// ZFOutputForLocal
787#define ZFCallbackSerializeType_ZFOutputForLocal "ZFOutputForLocal"
788
804 , ZFMP_IN(const zfchar *, localPath)
805 , ZFMP_IN(const ZFPathInfo &, pathInfo)
812 , ZFMP_OUT(ZFCallback &, ret)
813 , ZFMP_IN(const zfchar *, localPath)
814 , ZFMP_IN(const ZFPathInfo &, pathInfo)
817
818// ============================================================
842 , ZFMP_OUT(ZFPathInfo &, chainPathInfo)
843 , ZFMP_IN_OUT(zfstring &, pathData)
844 , ZFMP_IN(const zfchar *, pathDataOrig)
848 , ZFMP_OUT(zfstring &, chainPathInfoString)
849 , ZFMP_IN_OUT(zfstring &, pathData)
850 , ZFMP_IN(const zfchar *, pathDataOrig)
854 , ZFMP_IN_OUT(zfstring &, ret)
855 , ZFMP_IN(const ZFPathInfo &, chainPathInfo)
856 , ZFMP_IN(const zfchar *, pathData)
860 , ZFMP_IN(const ZFPathInfo &, chainPathInfo)
861 , ZFMP_IN(const zfchar *, pathData)
863
864extern ZFLIB_ZFCore const zfchar _ZFP_ZFPathInfoChainCharMap[256];
872#define ZFPathInfoChainCharMap() _ZFP_ZFPathInfoChainCharMap
873
875#endif // #ifndef _ZFI_ZFFile_pathInfo_h_
876
#define ZFLIB_ZFCore
used to export symbols
Definition ZFCoreEnvDef.h:30
_ZFT_t_zfchar zfchar
char wrapper
Definition ZFCoreTypeDef_CharType.h:17
#define zfclassLikePOD
shows the class is not a POD type, but you may use it like a POD except memset it to 0
Definition ZFCoreTypeDef_ClassType.h:41
#define ZF_IN
dummy macro that shows the param used as required input
Definition ZFCoreTypeDef_ClassType.h:180
#define ZF_IN_OPT
dummy macro that shows the param used as optional input
Definition ZFCoreTypeDef_ClassType.h:184
#define ZF_IN_OUT
dummy macro that shows the param used as required input and output
Definition ZFCoreTypeDef_ClassType.h:196
_ZFT_t_zfbool zfbool
bool type
Definition ZFCoreTypeDef_CoreType.h:103
_ZFT_t_zfindex zfindex
similar to size_t, used for index and size only
Definition ZFCoreTypeDef_CoreType.h:154
#define zftrue
bool true type
Definition ZFCoreTypeDef_CoreType.h:107
#define zfindexMax()
(zfindex)-1, indicate a max index value, see zfindex
Definition ZFCoreTypeDef_CoreType.h:159
#define zfnull
same as NULL, defined for future use
Definition ZFCoreTypeDef_CoreType.h:88
ZFSeekPos
seek position similar to SEEK_SET of FILE operation
Definition ZFCoreTypeDef_OtherType.h:47
zft_zfstring< zfchar > zfstring
see zft_zfstring
Definition ZFCoreTypeDef_StringType.h:15
file utility
zfbool ZFOutputForLocalT(ZFCallback &ret, const zfchar *localPath, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Create))
see ZFOutputForLocal
ZFOutput ZFOutputForPathInfoToken(void *token, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Create), zfbool autoClose=(_ZFT_t_zftrue))
see ZFOutputForPathInfo
void ZFPathInfoCallbackFindCloseDefault(ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackToFileName)(zfstring &ret, const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:18
zfbool(* ZFPathInfoCallbackIsExist)(const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:14
ZFOutput ZFOutputForPathInfo(const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Create))
util to create a file output callback
void ZFPathInfoImplGetAllT(ZFCoreArray< zfstring > &ret)
get all data registered by ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackToChild)(zfstring &ret, const zfchar *pathData, const zfchar *childName)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:23
zfbool(* ZFPathInfoCallbackToParent)(zfstring &ret, const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:29
void(* ZFPathInfoCallbackFlush)(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:88
zfindex ZFPathInfoCallbackSizeDefault(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackPathCreate)(const zfchar *pathData, zfbool autoMakeParent)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:34
zfbool ZFPathInfoCallbackRemoveDefault(const zfchar *pathData, zfbool isRecursive=_ZFT_t_zftrue, zfbool isForce=_ZFT_t_zftrue)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackFindFirstDefault(ZFFileFindData &fd, const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoRemove(const ZFPathInfo &pathInfo, zfbool isRecursive=(_ZFT_t_zftrue), zfbool isForce=(_ZFT_t_zftrue))
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackIsExistDefault(const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
zfindex ZFPathInfoRead(const ZFPathInfo &pathInfo, void *token, void *buf, zfindex maxByteSize)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackCloseDefault(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackPathCreateDefault(const zfchar *pathData, zfbool autoMakeParent=_ZFT_t_zftrue)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoChainDecode(ZFPathInfo &chainPathInfo, zfstring &pathData, const zfchar *pathDataOrig)
util for impl to parse chained path data
void *(* ZFPathInfoCallbackOpen)(const zfchar *pathData, ZFFileOpenOptionFlags flag, zfbool autoCreateParent)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:60
const ZFPathInfoImpl * ZFPathInfoImplForPathType(const zfstring &pathType)
get data registered by ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackToChildDefault(zfstring &ret, const zfchar *pathData, const zfchar *childName)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackRemove)(const zfchar *pathData, zfbool isRecursive, zfbool isForce)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:39
ZFPathInfo ZFLocalPathInfo(const zfstring &localPath=(zft_zfnull))
return local path info for current context
zfbool ZFOutputForPathInfoTokenT(ZFCallback &ret, void *token, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Create), zfbool autoClose=(_ZFT_t_zftrue))
see ZFOutputForPathInfo
zfindex ZFPathInfoCallbackWriteDefault(void *token, const void *src, zfindex maxByteSize=((zfindex) -1))
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoIsEof(const ZFPathInfo &pathInfo, void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCopy(const ZFPathInfo &srcPath, const ZFPathInfo &dstPath, zfbool isRecursive=(_ZFT_t_zftrue), zfbool isForce=(_ZFT_t_zftrue))
copy a file or directory from srcPath to dstPath
zfindex ZFPathInfoWrite(const ZFPathInfo &pathInfo, void *token, const void *src, zfindex maxByteSize=(((zfindex) -1)))
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackToParentDefault(zfstring &ret, const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoPathCreate(const ZFPathInfo &pathInfo, zfbool autoMakeParent=(_ZFT_t_zftrue))
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoClose(const ZFPathInfo &pathInfo, void *token)
see ZFPATHTYPE_FILEIO_REGISTER
ZFCoreArray< zfstring > ZFPathInfoImplGetAll()
get all data registered by ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:561
zfindex(* ZFPathInfoCallbackWrite)(void *token, const void *src, zfindex maxByteSize)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:82
zfbool(* ZFPathInfoCallbackMove)(const zfchar *pathDataFrom, const zfchar *pathDataTo, zfbool isForce)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:45
ZFInput ZFInputForPathInfo(const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Read))
util to create a file input callback
void ZFPathInfoCallbackFlushDefault(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoMove(const ZFPathInfo &pathInfoFrom, const zfchar *pathDataTo, zfbool isForce=(_ZFT_t_zftrue))
see ZFPATHTYPE_FILEIO_REGISTER
ZFOutput ZFOutputForLocal(const zfchar *localPath, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Create))
util to create a file output callback
void ZFPathInfoChainEncodeT(zfstring &ret, const ZFPathInfo &chainPathInfo, const zfchar *pathData)
see ZFPathInfoChainDecode
zfbool ZFPathInfoToFileName(zfstring &ret, const ZFPathInfo &pathInfo)
see ZFPATHTYPE_FILEIO_REGISTER
ZFPathInfo ZFPathInfoForLocal(const ZFPathInfo &pathInfo, const zfchar *childPath)
see ZFPathInfoForLocalT
zfbool ZFPathInfoChainDecodeString(zfstring &chainPathInfoString, zfstring &pathData, const zfchar *pathDataOrig)
see ZFPathInfoChainDecode
zfbool ZFInputForPathInfoT(ZFCallback &ret, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Read))
see ZFInputForPathInfo
zfbool ZFPathInfoForLocalT(ZFPathInfo &ret, const ZFPathInfo &pathInfo, const zfchar *childPath)
util to make a child path info relative to existing one, see also ZFPathInfoCallbackToChild
zfbool ZFPathInfoFindFirst(const ZFPathInfo &pathInfo, ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoIsDir(const ZFPathInfo &pathInfo)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackFindNext)(ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:56
zfbool ZFPathInfoCallbackIsErrorDefault(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoFindNext(const ZFPathInfo &pathInfo, ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
zfstring ZFPathInfoChainEncode(const ZFPathInfo &chainPathInfo, const zfchar *pathData)
see ZFPathInfoChainDecode
ZFInput ZFInputForLocal(const zfchar *localPath, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Read))
util to create a file input callback
zfbool ZFPathInfoCallbackIsEofDefault(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfindex(* ZFPathInfoCallbackRead)(void *token, void *buf, zfindex maxByteSize)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:76
zfbool(* ZFPathInfoCallbackIsError)(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:92
zfbool(* ZFPathInfoCallbackSeek)(void *token, zfindex byteSize, ZFSeekPos position)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:70
zfbool ZFPathInfoIsError(const ZFPathInfo &pathInfo, void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfindex(* ZFPathInfoCallbackTell)(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:68
zfindex(* ZFPathInfoCallbackSize)(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:94
void * ZFPathInfoCallbackOpenDefault(const zfchar *pathData, ZFFileOpenOptionFlags flag=v_ZFFileOpenOption::e_Read, zfbool autoCreateParent=_ZFT_t_zftrue)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackIsDirDefault(const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
zfindex ZFPathInfoTell(const ZFPathInfo &pathInfo, void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackFindNextDefault(ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackIsDir)(const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:16
zfbool ZFOutputForPathInfoT(ZFCallback &ret, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Create))
see ZFOutputForPathInfo
zfbool ZFPathInfoSeek(const ZFPathInfo &pathInfo, void *token, zfindex byteSize, ZFSeekPos position=(ZFSeekPosBegin))
see ZFPATHTYPE_FILEIO_REGISTER
void ZFPathInfoFindClose(const ZFPathInfo &pathInfo, ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoIsExist(const ZFPathInfo &pathInfo)
see ZFPATHTYPE_FILEIO_REGISTER
void * ZFPathInfoOpen(const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flag=(v_ZFFileOpenOption::e_Read), zfbool autoCreateParent=(_ZFT_t_zftrue))
see ZFPATHTYPE_FILEIO_REGISTER
void ZFPathInfoFlush(const ZFPathInfo &pathInfo, void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoToParent(zfstring &ret, const ZFPathInfo &pathInfo)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackMoveDefault(const zfchar *pathDataFrom, const zfchar *pathDataTo, zfbool isForce=_ZFT_t_zftrue)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool(* ZFPathInfoCallbackClose)(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:66
zfbool(* ZFPathInfoCallbackFindFirst)(ZFFileFindData &fd, const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:51
ZFInput ZFInputForPathInfoToken(void *token, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Read), zfbool autoClose=(_ZFT_t_zftrue))
see ZFInputForPathInfo
zfbool ZFPathInfoCallbackToFileNameDefault(zfstring &ret, const zfchar *pathData)
see ZFPATHTYPE_FILEIO_REGISTER
zfindex ZFPathInfoSize(const ZFPathInfo &pathInfo, void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfindex ZFPathInfoCallbackReadDefault(void *token, void *buf, zfindex maxByteSize)
see ZFPATHTYPE_FILEIO_REGISTER
void(* ZFPathInfoCallbackFindClose)(ZFFileFindData &fd)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:58
zfindex ZFPathInfoCallbackTellDefault(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFPathInfoCallbackSeekDefault(void *token, zfindex byteSize, ZFSeekPos position=ZFSeekPosBegin)
see ZFPATHTYPE_FILEIO_REGISTER
zfbool ZFInputForLocalT(ZFCallback &ret, const zfchar *localPath, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Read))
see ZFInputForLocal
zfbool ZFInputForPathInfoTokenT(ZFCallback &ret, void *token, const ZFPathInfo &pathInfo, ZFFileOpenOptionFlags flags=(v_ZFFileOpenOption::e_Read), zfbool autoClose=(_ZFT_t_zftrue))
see ZFInputForPathInfo
zfbool(* ZFPathInfoCallbackIsEof)(void *token)
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:90
zfbool ZFPathInfoToChild(zfstring &ret, const ZFPathInfo &pathInfo, const zfchar *childName)
see ZFPATHTYPE_FILEIO_REGISTER
#define ZFMP_IN_OUT(ParamType, paramName)
see ZFMP_IN
Definition ZFMethod.h:117
#define ZFMP_OUT(ParamType, paramName)
see ZFMP_IN
Definition ZFMethod.h:111
#define ZFMP_IN_OPT(ParamType, paramName, DefaultValue)
see ZFMP_IN
Definition ZFMethod.h:108
#define ZFMP_IN(ParamType, paramName)
macro to wrap param types for ZFMETHOD_INLINE_0 series
Definition ZFMethod.h:105
#define ZFMETHOD_FUNC_DECLARE_5(ZFLIB_, ReturnType, MethodName, ZFMP_0, ZFMP_1, ZFMP_2, ZFMP_3, ZFMP_4)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:1228
#define ZFMETHOD_FUNC_DECLARE_2(ZFLIB_, ReturnType, MethodName, ZFMP_0, ZFMP_1)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:763
#define ZFMETHOD_FUNC_INLINE_DECLARE_0(ZFLIB_, ReturnType, MethodName)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:557
#define ZFMETHOD_FUNC_DECLARE_3(ZFLIB_, ReturnType, MethodName, ZFMP_0, ZFMP_1, ZFMP_2)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:910
#define ZFMETHOD_FUNC_DECLARE_4(ZFLIB_, ReturnType, MethodName, ZFMP_0, ZFMP_1, ZFMP_2, ZFMP_3)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:1065
#define ZFMETHOD_FUNC_DECLARE_1(ZFLIB_, ReturnType, MethodName, ZFMP_0)
see ZFMETHOD_FUNC_DECLARE_0
Definition ZFMethodFuncDeclare.h:624
#define ZF_NAMESPACE_GLOBAL_BEGIN
begin namespace ZFFramework
Definition ZFNamespace.h:97
#define ZF_NAMESPACE_GLOBAL_END
end namespace ZFFramework
Definition ZFNamespace.h:98
#define ZFTYPEID_ACCESS_ONLY_REG(ZFLIB_, TypeName, Type,...)
see ZFTYPEID_DECLARE
Definition ZFTypeIdDeclare.h:205
#define ZFTYPEID_ACCESS_ONLY_DECLARE(ZFLIB_, TypeName, Type)
see ZFTYPEID_DECLARE
Definition ZFTypeIdDeclare.h:195
callback used by ZFFramework
Definition ZFCallback.h:96
light weight array
Definition ZFCoreArray.h:331
data used by ZFFile when finding files
Definition ZFFile_fwd.h:53
see v_ZFFileOpenOption, ZFFileOpenOptionFlagsToString, ZFFileOpenOptionFlagsFromString
Definition ZFFile_fwd.h:44
general input callback
Definition ZFIOCallback_input.h:37
general output callback
Definition ZFIOCallback_output.h:37
path related info storage for impl, actual meaning of the info depends on impl
Definition ZFPathInfo.h:35
callback data for ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:317
void implFlush(void *token) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:500
ZFPathInfoCallbackMove callbackMove
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:326
ZFPathInfoCallbackToFileName callbackToFileName
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:321
ZFPathInfoCallbackPathCreate callbackPathCreate
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:324
ZFPathInfoCallbackIsDir callbackIsDir
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:320
zfbool implMove(const zfchar *pathDataFrom, const zfchar *pathDataTo, zfbool isForce=_ZFT_t_zftrue) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:437
zfindex implRead(void *token, void *buf, zfindex maxByteSize) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:484
zfindex implTell(void *token) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:472
zfbool implIsError(void *token) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:508
ZFPathInfoCallbackRead callbackRead
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:334
zfbool implFindNext(ZFFileFindData &fd) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:452
zfbool implToChild(zfstring &ret, const zfchar *pathData, const zfchar *childName) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:407
ZFPathInfoCallbackIsEof callbackIsEof
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:337
ZFPathInfoCallbackIsError callbackIsError
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:338
zfbool implRemove(const zfchar *pathData, zfbool isRecursive=_ZFT_t_zftrue, zfbool isForce=_ZFT_t_zftrue) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:429
ZFPathInfoCallbackToParent callbackToParent
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:323
void implFindClose(ZFFileFindData &fd) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:456
zfbool implToParent(zfstring &ret, const zfchar *pathData) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:415
ZFPathInfoCallbackOpen callbackOpen
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:330
zfbool implSeek(void *token, zfindex byteSize, ZFSeekPos position=ZFSeekPosBegin) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:476
ZFPathInfoCallbackSeek callbackSeek
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:333
ZFPathInfoCallbackWrite callbackWrite
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:335
zfbool implPathCreate(const zfchar *pathData, zfbool autoMakeParent=_ZFT_t_zftrue) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:422
zfbool implClose(void *token) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:468
ZFPathInfoCallbackClose callbackClose
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:331
ZFPathInfoCallbackIsExist callbackIsExist
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:319
zfindex implSize(void *token) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:512
ZFPathInfoCallbackFindClose callbackFindClose
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:329
ZFPathInfoCallbackFlush callbackFlush
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:336
zfindex implWrite(void *token, const void *src, zfindex maxByteSize=((zfindex) -1)) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:492
ZFPathInfoCallbackToChild callbackToChild
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:322
void * implOpen(const zfchar *pathData, ZFFileOpenOptionFlags flag=v_ZFFileOpenOption::e_Read, zfbool autoCreateParent=_ZFT_t_zftrue) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:460
ZFPathInfoCallbackSize callbackSize
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:339
ZFPathInfoCallbackTell callbackTell
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:332
zfbool implIsEof(void *token) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:504
ZFPathInfoCallbackRemove callbackRemove
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:325
zfbool implIsExist(const zfchar *pathData) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:392
ZFPathInfoCallbackFindFirst callbackFindFirst
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:327
zfbool implFindFirst(ZFFileFindData &fd, const zfchar *pathData) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:445
zfbool implIsDir(const zfchar *pathData) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:396
ZFPathInfoCallbackFindNext callbackFindNext
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:328
zfbool implToFileName(zfstring &ret, const zfchar *pathData) const
see ZFPATHTYPE_FILEIO_REGISTER
Definition ZFFile_pathInfo.h:400
open falgs, similar to fopen's flags, while we have binary mode only
Definition ZFFile_fwd.h:34
@ e_Read
Read(1 << 1)
Definition ZFFile_fwd.h:36
@ e_Create
Create(1 << 0)
Definition ZFFile_fwd.h:35