gwenhywfar  5.10.1
file.h
Go to the documentation of this file.
1 /***************************************************************************
2  begin : Mon Feb 08 2021
3  copyright : (C) 2021 by Martin Preuss
4  email : martin@libchipcard.de
5 
6  ***************************************************************************
7  * Please see toplevel file COPYING for license details *
8  ***************************************************************************/
9 
10 #ifndef GWBUILD_FILE_H
11 #define GWBUILD_FILE_H
12 
13 #include <gwenhywfar/list2.h>
14 #include <gwenhywfar/xml.h>
15 #include <gwenhywfar/stringlist.h>
16 
17 
18 typedef struct GWB_FILE GWB_FILE;
20 
21 #define GWB_FILE_FLAGS_DIST 0x0001
22 #define GWB_FILE_FLAGS_INSTALL 0x0002
23 #define GWB_FILE_FLAGS_GENERATED 0x0004
24 
25 
28 
29 #include <inttypes.h>
30 
31 
32 
33 GWB_FILE *GWB_File_new(const char *folder, const char *fName, uint32_t id);
34 GWB_FILE *GWB_File_dup(const GWB_FILE *oldFile);
35 void GWB_File_free(GWB_FILE *f);
36 
37 
38 uint32_t GWB_File_GetId(const GWB_FILE *f);
39 void GWB_File_SetId(GWB_FILE *f, uint32_t i);
40 
41 uint32_t GWB_File_GetFlags(const GWB_FILE *f);
42 void GWB_File_SetFlags(GWB_FILE *f, uint32_t i);
43 void GWB_File_AddFlags(GWB_FILE *f, uint32_t i);
44 void GWB_File_DelFlags(GWB_FILE *f, uint32_t i);
45 
46 const char *GWB_File_GetFolder(const GWB_FILE *f);
47 void GWB_File_SetFolder(GWB_FILE *f, const char *s);
48 
49 const char *GWB_File_GetName(const GWB_FILE *f);
50 void GWB_File_SetName(GWB_FILE *f, const char *s);
51 
52 const char *GWB_File_GetInstallName(const GWB_FILE *f);
53 void GWB_File_SetInstallName(GWB_FILE *f, const char *s);
54 
55 const char *GWB_File_GetExt(const GWB_FILE *f);
56 
57 
58 const char *GWB_File_GetBuilder(const GWB_FILE *f);
59 void GWB_File_SetBuilder(GWB_FILE *f, const char *s);
60 
61 
62 const char *GWB_File_GetInstallPath(const GWB_FILE *f);
63 void GWB_File_SetInstallPath(GWB_FILE *f, const char *s);
64 
65 
66 const char *GWB_File_GetFileType(const GWB_FILE *f);
67 void GWB_File_SetFileType(GWB_FILE *f, const char *s);
68 
69 
70 void GWB_File_toXml(const GWB_FILE *file, GWEN_XMLNODE *xmlNode);
72 
73 
74 GWB_BUILD_CMD_LIST2 *GWB_File_GetWaitingBuildCmdList2(const GWB_FILE *f);
77 
78 
81 
82 
83 void GWB_File_List2_FreeAll(GWB_FILE_LIST2 *fileList2);
84 GWB_FILE *GWB_File_List2_GetFileByPathAndName(const GWB_FILE_LIST2 *fileList, const char *folder, const char *fname);
85 GWB_FILE *GWB_File_List2_GetFileById(const GWB_FILE_LIST2 *fileList, uint32_t id);
86 
87 GWB_FILE *GWB_File_List2_GetOrCreateFile(GWB_FILE_LIST2 *fileList, const char *folder, const char *fname);
88 
89 
90 GWB_FILE *GWB_File_List2_GetAt(const GWB_FILE_LIST2 *fileList, int index);
91 
92 
93 void GWB_File_List2_WriteXml(const GWB_FILE_LIST2 *fileList, GWEN_XMLNODE *xmlNode, const char *groupName);
94 void GWB_File_List2_ReadXml(GWEN_XMLNODE *xmlNode, const char *groupName, GWB_FILE_LIST2 *destFileList);
95 
96 
97 void GWB_File_ReplaceExtension(GWB_FILE *file, const char *newExt);
98 GWB_FILE *GWB_File_CopyObjectAndChangeExtension(const GWB_FILE *file, const char *newExt);
99 
100 void GWB_File_AddFileList2ToFileList2(GWB_FILE_LIST2 *sourceList, GWB_FILE_LIST2 *destList, const char *ext);
101 
102 void GWB_File_WriteFileNameToTopBuildDirString(const GWB_FILE *file, const char *initialSourceDir, GWEN_BUFFER *fbuf);
103 GWEN_STRINGLIST *GWB_File_FileListToTopBuildDirStringList(const GWB_FILE_LIST2 *fileList, const char *initialSourceDir);
104 
105 
106 #endif
GWEN_STRINGLIST * GWB_File_FileListToTopBuildDirStringList(const GWB_FILE_LIST2 *fileList, const char *initialSourceDir)
Definition: file.c:494
void GWB_File_ReplaceExtension(GWB_FILE *file, const char *newExt)
Definition: file.c:305
void GWB_File_free(GWB_FILE *f)
Definition: file.c:70
const char * GWB_File_GetFileType(const GWB_FILE *f)
Definition: file.c:227
void GWB_File_AddWaitingBuildCmd(GWB_FILE *f, GWB_BUILD_CMD *bcmd)
Definition: file.c:253
const char * GWB_File_GetBuilder(const GWB_FILE *f)
Definition: file.c:193
GWB_FILE * GWB_File_fromXml(GWEN_XMLNODE *xmlNode)
Definition: file.c:548
uint32_t GWB_File_GetFlags(const GWB_FILE *f)
Definition: file.c:99
struct GWB_FILE GWB_FILE
Definition: file.h:18
GWB_FILE * GWB_File_List2_GetFileById(const GWB_FILE_LIST2 *fileList, uint32_t id)
Definition: file.c:421
void GWB_File_AddFileList2ToFileList2(GWB_FILE_LIST2 *sourceList, GWB_FILE_LIST2 *destList, const char *ext)
Definition: file.c:445
const char * GWB_File_GetInstallPath(const GWB_FILE *f)
Definition: file.c:208
uint32_t GWB_File_GetId(const GWB_FILE *f)
Definition: file.c:85
GWB_BUILD_CMD * GWB_File_GetBuildCmd(const GWB_FILE *f)
Definition: file.c:270
GWEN_LIST2_FUNCTION_DEFS(GWB_BUILD_CMD, GWB_BuildCmd)
const char * GWB_File_GetName(const GWB_FILE *f)
Definition: file.c:146
GWB_FILE * GWB_File_CopyObjectAndChangeExtension(const GWB_FILE *file, const char *newExt)
Definition: file.c:332
void GWB_File_SetFolder(GWB_FILE *f, const char *s)
Definition: file.c:134
const char * GWB_File_GetExt(const GWB_FILE *f)
Definition: file.c:184
void GWB_File_List2_ReadXml(GWEN_XMLNODE *xmlNode, const char *groupName, GWB_FILE_LIST2 *destFileList)
Definition: file.c:693
const char * GWB_File_GetFolder(const GWB_FILE *f)
Definition: file.c:127
GWB_BUILD_CMD_LIST2 * GWB_File_GetWaitingBuildCmdList2(const GWB_FILE *f)
Definition: file.c:246
const char * GWB_File_GetInstallName(const GWB_FILE *f)
Definition: file.c:165
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition: stringlist.h:56
void GWB_File_SetBuilder(GWB_FILE *f, const char *s)
Definition: file.c:200
void GWB_File_List2_FreeAll(GWB_FILE_LIST2 *fileList2)
Definition: file.c:284
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition: buffer.h:38
void GWB_File_WriteFileNameToTopBuildDirString(const GWB_FILE *file, const char *initialSourceDir, GWEN_BUFFER *fbuf)
Definition: file.c:473
void GWB_File_List2_WriteXml(const GWB_FILE_LIST2 *fileList, GWEN_XMLNODE *xmlNode, const char *groupName)
Definition: file.c:670
void GWB_File_DelFlags(GWB_FILE *f, uint32_t i)
Definition: file.c:120
GWB_FILE * GWB_File_List2_GetFileByPathAndName(const GWB_FILE_LIST2 *fileList, const char *folder, const char *fname)
Definition: file.c:353
void GWB_File_toXml(const GWB_FILE *file, GWEN_XMLNODE *xmlNode)
Definition: file.c:528
void GWB_File_SetBuildCmd(GWB_FILE *f, GWB_BUILD_CMD *bcmd)
Definition: file.c:277
void GWB_File_SetInstallPath(GWB_FILE *f, const char *s)
Definition: file.c:215
struct GWB_BUILD_CMD GWB_BUILD_CMD
Definition: buildcmd.h:20
void GWB_File_ClearWaitingBuildCmds(GWB_FILE *file)
Definition: file.c:262
void GWB_File_SetFileType(GWB_FILE *f, const char *s)
Definition: file.c:234
void GWB_File_SetId(GWB_FILE *f, uint32_t i)
Definition: file.c:92
GWB_FILE * GWB_File_List2_GetAt(const GWB_FILE_LIST2 *fileList, int index)
Definition: file.c:643
void GWB_File_SetName(GWB_FILE *f, const char *s)
Definition: file.c:153
struct GWEN__XMLNODE GWEN_XMLNODE
Definition: xml.h:156
void GWB_File_SetInstallName(GWB_FILE *f, const char *s)
Definition: file.c:172
void GWB_File_SetFlags(GWB_FILE *f, uint32_t i)
Definition: file.c:106
GWB_FILE * GWB_File_new(const char *folder, const char *fName, uint32_t id)
Definition: file.c:34
void GWB_File_AddFlags(GWB_FILE *f, uint32_t i)
Definition: file.c:113
GWB_FILE * GWB_File_dup(const GWB_FILE *oldFile)
Definition: file.c:50
GWB_FILE * GWB_File_List2_GetOrCreateFile(GWB_FILE_LIST2 *fileList, const char *folder, const char *fname)
Definition: file.c:385