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
18typedef 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
33GWB_FILE *GWB_File_new(const char *folder, const char *fName, uint32_t id);
34GWB_FILE *GWB_File_dup(const GWB_FILE *oldFile);
35void GWB_File_free(GWB_FILE *f);
36
37
38uint32_t GWB_File_GetId(const GWB_FILE *f);
39void GWB_File_SetId(GWB_FILE *f, uint32_t i);
40
41uint32_t GWB_File_GetFlags(const GWB_FILE *f);
42void GWB_File_SetFlags(GWB_FILE *f, uint32_t i);
43void GWB_File_AddFlags(GWB_FILE *f, uint32_t i);
44void GWB_File_DelFlags(GWB_FILE *f, uint32_t i);
45
46const char *GWB_File_GetFolder(const GWB_FILE *f);
47void GWB_File_SetFolder(GWB_FILE *f, const char *s);
48
49const char *GWB_File_GetName(const GWB_FILE *f);
50void GWB_File_SetName(GWB_FILE *f, const char *s);
51
52const char *GWB_File_GetInstallName(const GWB_FILE *f);
53void GWB_File_SetInstallName(GWB_FILE *f, const char *s);
54
55const char *GWB_File_GetExt(const GWB_FILE *f);
56
57
58const char *GWB_File_GetBuilder(const GWB_FILE *f);
59void GWB_File_SetBuilder(GWB_FILE *f, const char *s);
60
61
62const char *GWB_File_GetInstallPath(const GWB_FILE *f);
63void GWB_File_SetInstallPath(GWB_FILE *f, const char *s);
64
65
66const char *GWB_File_GetFileType(const GWB_FILE *f);
67void GWB_File_SetFileType(GWB_FILE *f, const char *s);
68
69
70void GWB_File_toXml(const GWB_FILE *file, GWEN_XMLNODE *xmlNode);
72
73
74GWB_BUILD_CMD_LIST2 *GWB_File_GetWaitingBuildCmdList2(const GWB_FILE *f);
77
78
81
82
83void GWB_File_List2_FreeAll(GWB_FILE_LIST2 *fileList2);
84GWB_FILE *GWB_File_List2_GetFileByPathAndName(const GWB_FILE_LIST2 *fileList, const char *folder, const char *fname);
85GWB_FILE *GWB_File_List2_GetFileById(const GWB_FILE_LIST2 *fileList, uint32_t id);
86
87GWB_FILE *GWB_File_List2_GetOrCreateFile(GWB_FILE_LIST2 *fileList, const char *folder, const char *fname);
88
89
90GWB_FILE *GWB_File_List2_GetAt(const GWB_FILE_LIST2 *fileList, int index);
91
92
93void GWB_File_List2_WriteXml(const GWB_FILE_LIST2 *fileList, GWEN_XMLNODE *xmlNode, const char *groupName);
94void GWB_File_List2_ReadXml(GWEN_XMLNODE *xmlNode, const char *groupName, GWB_FILE_LIST2 *destFileList);
95
96
97void GWB_File_ReplaceExtension(GWB_FILE *file, const char *newExt);
98GWB_FILE *GWB_File_CopyObjectAndChangeExtension(const GWB_FILE *file, const char *newExt);
99
100void GWB_File_AddFileList2ToFileList2(GWB_FILE_LIST2 *sourceList, GWB_FILE_LIST2 *destList, const char *ext);
101
102void GWB_File_WriteFileNameToTopBuildDirString(const GWB_FILE *file, const char *initialSourceDir, GWEN_BUFFER *fbuf);
103GWEN_STRINGLIST *GWB_File_FileListToTopBuildDirStringList(const GWB_FILE_LIST2 *fileList, const char *initialSourceDir);
104
105
106#endif
struct GWB_BUILD_CMD GWB_BUILD_CMD
Definition: buildcmd.h:20
GWB_FILE * GWB_File_new(const char *folder, const char *fName, uint32_t id)
Definition: file.c:34
GWB_FILE * GWB_File_List2_GetAt(const GWB_FILE_LIST2 *fileList, int index)
Definition: file.c:643
void GWB_File_DelFlags(GWB_FILE *f, uint32_t i)
Definition: file.c:120
void GWB_File_SetId(GWB_FILE *f, uint32_t i)
Definition: file.c:92
void GWB_File_free(GWB_FILE *f)
Definition: file.c:70
void GWB_File_SetInstallPath(GWB_FILE *f, const char *s)
Definition: file.c:215
void GWB_File_List2_WriteXml(const GWB_FILE_LIST2 *fileList, GWEN_XMLNODE *xmlNode, const char *groupName)
Definition: file.c:670
void GWB_File_AddFileList2ToFileList2(GWB_FILE_LIST2 *sourceList, GWB_FILE_LIST2 *destList, const char *ext)
Definition: file.c:445
void GWB_File_SetName(GWB_FILE *f, const char *s)
Definition: file.c:153
GWB_FILE * GWB_File_fromXml(GWEN_XMLNODE *xmlNode)
Definition: file.c:548
void GWB_File_List2_FreeAll(GWB_FILE_LIST2 *fileList2)
Definition: file.c:284
const char * GWB_File_GetFolder(const GWB_FILE *f)
Definition: file.c:127
void GWB_File_List2_ReadXml(GWEN_XMLNODE *xmlNode, const char *groupName, GWB_FILE_LIST2 *destFileList)
Definition: file.c:693
const char * GWB_File_GetName(const GWB_FILE *f)
Definition: file.c:146
void GWB_File_SetBuildCmd(GWB_FILE *f, GWB_BUILD_CMD *bcmd)
Definition: file.c:277
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
GWB_FILE * GWB_File_CopyObjectAndChangeExtension(const GWB_FILE *file, const char *newExt)
Definition: file.c:332
void GWB_File_SetInstallName(GWB_FILE *f, const char *s)
Definition: file.c:172
void GWB_File_SetBuilder(GWB_FILE *f, const char *s)
Definition: file.c:200
void GWB_File_SetFileType(GWB_FILE *f, const char *s)
Definition: file.c:234
GWB_FILE * GWB_File_List2_GetOrCreateFile(GWB_FILE_LIST2 *fileList, const char *folder, const char *fname)
Definition: file.c:385
void GWB_File_WriteFileNameToTopBuildDirString(const GWB_FILE *file, const char *initialSourceDir, GWEN_BUFFER *fbuf)
Definition: file.c:473
uint32_t GWB_File_GetFlags(const GWB_FILE *f)
Definition: file.c:99
const char * GWB_File_GetInstallPath(const GWB_FILE *f)
Definition: file.c:208
void GWB_File_AddWaitingBuildCmd(GWB_FILE *f, GWB_BUILD_CMD *bcmd)
Definition: file.c:253
GWEN_STRINGLIST * GWB_File_FileListToTopBuildDirStringList(const GWB_FILE_LIST2 *fileList, const char *initialSourceDir)
Definition: file.c:494
GWB_FILE * GWB_File_dup(const GWB_FILE *oldFile)
Definition: file.c:50
const char * GWB_File_GetInstallName(const GWB_FILE *f)
Definition: file.c:165
GWB_BUILD_CMD_LIST2 * GWB_File_GetWaitingBuildCmdList2(const GWB_FILE *f)
Definition: file.c:246
GWB_FILE * GWB_File_List2_GetFileByPathAndName(const GWB_FILE_LIST2 *fileList, const char *folder, const char *fname)
Definition: file.c:353
uint32_t GWB_File_GetId(const GWB_FILE *f)
Definition: file.c:85
const char * GWB_File_GetBuilder(const GWB_FILE *f)
Definition: file.c:193
void GWB_File_SetFlags(GWB_FILE *f, uint32_t i)
Definition: file.c:106
GWB_BUILD_CMD * GWB_File_GetBuildCmd(const GWB_FILE *f)
Definition: file.c:270
void GWB_File_SetFolder(GWB_FILE *f, const char *s)
Definition: file.c:134
const char * GWB_File_GetFileType(const GWB_FILE *f)
Definition: file.c:227
void GWB_File_ReplaceExtension(GWB_FILE *file, const char *newExt)
Definition: file.c:305
void GWB_File_ClearWaitingBuildCmds(GWB_FILE *file)
Definition: file.c:262
void GWB_File_AddFlags(GWB_FILE *f, uint32_t i)
Definition: file.c:113
void GWB_File_toXml(const GWB_FILE *file, GWEN_XMLNODE *xmlNode)
Definition: file.c:528
const char * GWB_File_GetExt(const GWB_FILE *f)
Definition: file.c:184
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
Definition: buffer.h:38
#define GWEN_LIST2_FUNCTION_DEFS(t, pr)
Definition: list2.h:92
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition: stringlist.h:56
struct GWEN__XMLNODE GWEN_XMLNODE
Definition: xml.h:156