14#include "gwenbuild/builders/gbuilderdescr_p.h"
17#include <gwenhywfar/debug.h>
18#include <gwenhywfar/memory.h>
19#include <gwenhywfar/text.h>
20#include <gwenhywfar/directory.h>
42 DBG_ERROR(
NULL,
"No builder name in XML builder description");
48 descr->builderName=strdup(s);
49 descr->xmlDescr=xmlNode;
83 free(descr->builderName);
96 return descr->builderName;
103 return descr->xmlDescr;
110 return descr->acceptedInputTypes;
117 return descr->acceptedInputExt;
134 DBG_ERROR(
NULL,
"No builder description found in file \"%s\" (%d)", fileName, rv);
139 if (xmlDescr==
NULL) {
140 DBG_ERROR(
NULL,
"No <GwenBuilder> element found in file \"%s\"", fileName);
163 GWB_GBUILDER_DESCR_LIST *descrList;
174 descrList=GWB_GBuilderDescr_List_new();
186 DBG_ERROR(
NULL,
"Error reading description from file \"%s\", ignoring", s);
189 GWB_GBuilderDescr_List_Add(descr, descrList);
205 descr=GWB_GBuilderDescr_List_First(descrList);
207 if (descr->builderName && strcasecmp(descr->builderName, name)==0)
209 descr=GWB_GBuilderDescr_List_Next(descr);
#define DBG_INFO(dbg_logger, format,...)
#define DBG_ERROR(dbg_logger, format,...)
GWENHYWFAR_API int GWEN_Directory_GetMatchingFilesRecursively(const char *folder, GWEN_STRINGLIST *sl, const char *mask)
GWB_GBUILDER_DESCR * _readFromFile(const char *fileName)
GWB_GBUILDER_DESCR * GWB_GBuilderDescr_List_GetByName(const GWB_GBUILDER_DESCR_LIST *descrList, const char *name)
GWB_GBUILDER_DESCR_LIST * GWB_GBuilderDescr_ReadAll(const char *folder)
static void _readSettingsFromXml(GWB_GBUILDER_DESCR *descr)
GWEN_XMLNODE * GWB_GBuilderDescr_GetXmlDescr(const GWB_GBUILDER_DESCR *descr)
GWB_GBUILDER_DESCR * GWB_GBuilderDescr_new(GWEN_XMLNODE *xmlNode)
void GWB_GBuilderDescr_free(GWB_GBUILDER_DESCR *descr)
GWEN_STRINGLIST * GWB_GBuilderDescr_GetAcceptedInputExt(const GWB_GBUILDER_DESCR *descr)
const char * GWB_GBuilderDescr_GetBuilderName(const GWB_GBUILDER_DESCR *descr)
GWEN_STRINGLIST * GWB_GBuilderDescr_GetAcceptedInputTypes(const GWB_GBUILDER_DESCR *descr)
struct GWB_GBUILDER_DESCR GWB_GBUILDER_DESCR
#define GWEN_LIST_FINI(t, element)
#define GWEN_LIST_FUNCTIONS(t, pr)
#define GWEN_LIST_INIT(t, element)
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)
GWEN_STRINGLIST * GWB_Parser_ReadXmlDataIntoStringList(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode, int ignoreDupes)
void GWEN_StringList_free(GWEN_STRINGLIST *sl)
const char * GWEN_StringListEntry_Data(const GWEN_STRINGLISTENTRY *se)
GWEN_STRINGLISTENTRY * GWEN_StringListEntry_Next(const GWEN_STRINGLISTENTRY *se)
GWEN_STRINGLISTENTRY * GWEN_StringList_FirstEntry(const GWEN_STRINGLIST *sl)
GWEN_STRINGLIST * GWEN_StringList_new(void)
struct GWEN_STRINGLISTENTRYSTRUCT GWEN_STRINGLISTENTRY
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
GWEN_XMLNODE * GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
void GWEN_XMLNode_UnlinkChild(GWEN_XMLNODE *n, GWEN_XMLNODE *child)
GWEN_XMLNODE * GWEN_XMLNode_new(GWEN_XMLNODE_TYPE t, const char *data)
void GWEN_XMLNode_free(GWEN_XMLNODE *n)
struct GWEN__XMLNODE GWEN_XMLNODE
#define GWEN_XML_FLAGS_DEFAULT
GWENHYWFAR_API int GWEN_XML_ReadFile(GWEN_XMLNODE *n, const char *filepath, uint32_t flags)
#define GWEN_XML_FLAGS_SIMPLE