18# define I18N(m) dgettext("gwenhywfar", m)
27#include "typemaker_p.h"
28#include <gwenhywfar/debug.h>
29#include <gwenhywfar/logger.h>
30#include <gwenhywfar/xml.h>
230 if (strcasecmp(mode,
"single")!=0)
252 if (strcasecmp(tmode,
"enum")!=0)
299 if (isPtr && isConst) {
302 if (strcasecmp(tmode,
"enum")!=0)
326 if (strcasecmp(typ,
"GWEN_STRINGLIST")==0) {
396 DBG_ERROR(0,
"No return type for function");
477 if (!aname || !*aname) {
478 DBG_ERROR(0,
"No name for argument %d in function %s", idx, name);
482 if (!atype || !*atype) {
483 DBG_ERROR(0,
"No type for argument %d in function %s", idx, name);
543 if (strcasecmp(s, acc)==0) {
571 DBG_ERROR(0,
"No values in enum description for \"%s\"",
659 if (strcasecmp(sacc, acc)==0) {
676 DBG_ERROR(0,
"No return type for function");
719 if (!aname || !*aname) {
720 DBG_ERROR(0,
"No name for argument %d in function %s", idx, name);
724 if (!atype || !*atype) {
725 DBG_ERROR(0,
"No type for argument %d in function %s", idx, name);
788 snprintf(numbuf,
sizeof(numbuf),
"%d", level);
836 snprintf(numbuf,
sizeof(numbuf),
"%d", level);
1198 fprintf(stderr,
"Parameter error\n");
1213 fprintf(stderr,
"No input file given.\n");
1224 fprintf(stderr,
"ERROR: Error reading file \"%s\"\n", inFile->
param);
1238 inFile=inFile->
next;
int write_ha_files_c(ARGUMENTS *args, GWEN_XMLNODE *node)
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
uint32_t GWEN_Buffer_GetPos(const GWEN_BUFFER *bf)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
int GWEN_Buffer_Crop(GWEN_BUFFER *bf, uint32_t pos, uint32_t l)
int GWEN_Buffer_AppendByte(GWEN_BUFFER *bf, char c)
int write_code_files_c(ARGUMENTS *args, GWEN_XMLNODE *node)
#define DBG_INFO(dbg_logger, format,...)
#define DBG_ERROR(dbg_logger, format,...)
#define DBG_ERROR_ERR(dbg_logger, dbg_err)
#define DBG_WARN(dbg_logger, format,...)
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
int write_hl_files_c(ARGUMENTS *args, GWEN_XMLNODE *node)
int GWEN_Logger_Open(const char *logDomain, const char *ident, const char *file, GWEN_LOGGER_LOGTYPE logtype, GWEN_LOGGER_FACILITY facility)
void GWEN_Logger_SetLevel(const char *logDomain, GWEN_LOGGER_LEVEL l)
@ GWEN_LoggerFacility_User
int write_hp_files_c(ARGUMENTS *args, GWEN_XMLNODE *node)
GWEN_LOGGER_LEVEL logLevel
GWEN_LOGGER_LOGTYPE logType
int GWEN_SyncIo_WriteString(GWEN_SYNCIO *sio, const char *s)
int GWEN_SyncIo_WriteChar(GWEN_SYNCIO *sio, char s)
int GWEN_SyncIo_WriteLine(GWEN_SYNCIO *sio, const char *s)
int GWEN_SyncIo_WriteForced(GWEN_SYNCIO *sio, const uint8_t *buffer, uint32_t size)
struct GWEN_SYNCIO GWEN_SYNCIO
int write_h_setget_c(ARGUMENTS *args, GWEN_XMLNODE *node, GWEN_SYNCIO *sio, const char *acc)
GWEN_XMLNODE * get_typedef(GWEN_XMLNODE *node, const char *name)
int main(int argc, char **argv)
void write_if_nonnull(GWEN_SYNCIO *sio, const char *str)
int write_files(ARGUMENTS *args, GWEN_XMLNODE *node)
const char * get_property(GWEN_XMLNODE *node, const char *pname, const char *defval)
const char * get_function_name(GWEN_XMLNODE *node, const char *ftype)
int write_h_enums(ARGUMENTS *args, GWEN_XMLNODE *node, GWEN_SYNCIO *sio, const char *acc)
int write_xml_to_bio(GWEN_XMLNODE *n, GWEN_SYNCIO *sio, uint32_t flags)
int write_h_funcs(GWEN_UNUSED ARGUMENTS *args, GWEN_XMLNODE *node, GWEN_SYNCIO *sio, const char *acc)
int write_h_header(GWEN_UNUSED ARGUMENTS *args, GWEN_XMLNODE *node, GWEN_SYNCIO *sio, GWEN_UNUSED const char *where)
int write_apidocrec_c(ARGUMENTS *args, GWEN_XMLNODE *node, GWEN_SYNCIO *sio, const char *acc, int level)
GWEN_XMLNODE * get_struct_node(GWEN_XMLNODE *node)
const char * get_function_name2(GWEN_XMLNODE *node, const char *ftype, const char *name)
const char * get_struct_property(GWEN_XMLNODE *node, const char *pname, const char *defval)
int write_apidoc_c(ARGUMENTS *args, GWEN_XMLNODE *node, GWEN_SYNCIO *sio, const char *acc)
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)
GWEN_XMLNODE * GWEN_XMLNode_GetParent(const GWEN_XMLNODE *n)
GWEN_XMLNODE * GWEN_XMLNode_GetFirstTag(const GWEN_XMLNODE *n)
GWEN_XMLNODE_TYPE GWEN_XMLNode_GetType(const GWEN_XMLNODE *n)
GWEN_XMLNODE * GWEN_XMLNode_new(GWEN_XMLNODE_TYPE t, const char *data)
GWEN_XMLNODE * GWEN_XMLNode_GetNextTag(const GWEN_XMLNODE *n)
GWEN_XMLNODE * GWEN_XMLNode_FindNextTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
GWEN_XMLNODE * GWEN_XMLNode_GetFirstData(const GWEN_XMLNODE *n)
void GWEN_XMLNode_free(GWEN_XMLNODE *n)
const char * GWEN_XMLNode_GetData(const GWEN_XMLNODE *n)
GWENHYWFAR_API int GWEN_XMLNode_toBuffer(const GWEN_XMLNODE *n, GWEN_BUFFER *buf, uint32_t flags)
#define GWEN_XML_FLAGS_INDENT
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