14 #include "tm_virtualfn_p.h"
19 #include <gwenhywfar/debug.h>
20 #include <gwenhywfar/misc.h>
38 vf->paramList=Typemaker2_VirtualFn_Param_List_new();
46 if (vf->refCount==1) {
52 free(vf->defaultReturnValue);
54 Typemaker2_VirtualFn_Param_List_free(vf->paramList);
132 const char *paramName;
133 const char *paramType;
134 const char *paramDescr;
141 if (!(paramType && *paramType)) {
150 Typemaker2_VirtualFn_Param_List_Add(prm, vf->paramList);
168 assert(vf->refCount);
177 assert(vf->refCount);
180 if (s) vf->name=strdup(s);
188 assert(vf->refCount);
197 assert(vf->refCount);
200 if (s) vf->location=strdup(s);
201 else vf->location=
NULL;
208 assert(vf->refCount);
217 assert(vf->refCount);
220 if (s) vf->descr=strdup(s);
228 assert(vf->refCount);
237 assert(vf->refCount);
246 assert(vf->refCount);
255 assert(vf->refCount);
264 assert(vf->refCount);
273 assert(vf->refCount);
282 assert(vf->refCount);
284 return vf->returnType;
291 assert(vf->refCount);
293 free(vf->returnType);
294 if (s) vf->returnType=strdup(s);
295 else vf->returnType=
NULL;
302 return vf->returnTypeDescr;
309 free(vf->returnTypeDescr);
310 if (s) vf->returnTypeDescr=strdup(s);
311 else vf->returnTypeDescr=
NULL;
318 assert(vf->refCount);
320 return vf->defaultReturnValue;
327 assert(vf->refCount);
329 free(vf->defaultReturnValue);
330 if (s) vf->defaultReturnValue=strdup(s);
331 else vf->defaultReturnValue=
NULL;
338 assert(vf->refCount);
340 return vf->paramList;
347 assert(vf->refCount);
356 assert(vf->refCount);
359 if (s) vf->preset=strdup(s);
360 else vf->preset=
NULL;
407 if (s) prm->name=strdup(s);
423 if (s) prm->type=strdup(s);
439 if (s) prm->descr=strdup(s);
440 else prm->descr=
NULL;
const char * Typemaker2_VirtualFn_GetReturnTypeDescr(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_SetFlags(TYPEMAKER2_VIRTUALFN *vf, uint32_t fl)
void Typemaker2_VirtualFn_Param_SetType(TYPEMAKER2_VIRTUALFN_PARAM *prm, const char *s)
const char * Typemaker2_VirtualFn_GetPreset(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_SubFlags(TYPEMAKER2_VIRTUALFN *vf, uint32_t fl)
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
TYPEMAKER2_VIRTUALFN_PARAM_LIST * Typemaker2_VirtualFn_GetParamTypeList(const TYPEMAKER2_VIRTUALFN *vf)
GWEN_XMLNODE * GWEN_XMLNode_FindNextTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
struct TYPEMAKER2_VIRTUALFN_PARAM TYPEMAKER2_VIRTUALFN_PARAM
#define GWEN_FREE_OBJECT(varname)
const char * Typemaker2_VirtualFn_Param_GetDescr(const TYPEMAKER2_VIRTUALFN_PARAM *prm)
GWEN_LIST_FUNCTIONS(TYPEMAKER2_VIRTUALFN, Typemaker2_VirtualFn)
void Typemaker2_VirtualFn_SetAccess(TYPEMAKER2_VIRTUALFN *vf, int i)
struct TYPEMAKER2_VIRTUALFN TYPEMAKER2_VIRTUALFN
#define GWEN_ERROR_BAD_DATA
GWEN_XMLNODE * GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
const char * Typemaker2_VirtualFn_Param_GetType(const TYPEMAKER2_VIRTUALFN_PARAM *prm)
TYPEMAKER2_VIRTUALFN_PARAM * Typemaker2_VirtualFn_Param_new()
#define GWEN_NEW_OBJECT(typ, varname)
void Typemaker2_VirtualFn_free(TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_AddFlags(TYPEMAKER2_VIRTUALFN *vf, uint32_t fl)
const char * GWEN_XMLNode_GetCharValue(const GWEN_XMLNODE *n, const char *name, const char *defValue)
const char * Typemaker2_VirtualFn_GetReturnType(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetDescr(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_SetDescr(TYPEMAKER2_VIRTUALFN *vf, const char *s)
void Typemaker2_VirtualFn_Param_free(TYPEMAKER2_VIRTUALFN_PARAM *prm)
uint32_t Typemaker2_FlagsFromString(const char *t)
int Typemaker2_AccessFromString(const char *s)
const char * Typemaker2_VirtualFn_GetLocation(const TYPEMAKER2_VIRTUALFN *vf)
const char * Typemaker2_VirtualFn_GetDefaultReturnValue(const TYPEMAKER2_VIRTUALFN *vf)
int Typemaker2_VirtualFn_readXml(TYPEMAKER2_VIRTUALFN *vf, GWEN_XMLNODE *node)
void Typemaker2_VirtualFn_SetDefaultReturnValue(TYPEMAKER2_VIRTUALFN *vf, const char *s)
const char * Typemaker2_VirtualFn_Param_GetName(const TYPEMAKER2_VIRTUALFN_PARAM *prm)
void Typemaker2_VirtualFn_Param_SetDescr(TYPEMAKER2_VIRTUALFN_PARAM *prm, const char *s)
#define DBG_ERROR(dbg_logger, format, args...)
void Typemaker2_VirtualFn_SetReturnType(TYPEMAKER2_VIRTUALFN *vf, const char *s)
TYPEMAKER2_VIRTUALFN * Typemaker2_VirtualFn_new()
void Typemaker2_VirtualFn_SetName(TYPEMAKER2_VIRTUALFN *vf, const char *s)
void Typemaker2_VirtualFn_SetLocation(TYPEMAKER2_VIRTUALFN *vf, const char *s)
#define GWEN_LIST_INIT(t, element)
void Typemaker2_VirtualFn_SetReturnTypeDescr(TYPEMAKER2_VIRTUALFN *vf, const char *s)
#define GWEN_LIST_FINI(t, element)
uint32_t Typemaker2_VirtualFn_GetFlags(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_Param_SetName(TYPEMAKER2_VIRTUALFN_PARAM *prm, const char *s)
struct GWEN__XMLNODE GWEN_XMLNODE
const char * Typemaker2_VirtualFn_GetName(const TYPEMAKER2_VIRTUALFN *vf)
void Typemaker2_VirtualFn_SetPreset(TYPEMAKER2_VIRTUALFN *vf, const char *s)
void Typemaker2_VirtualFn_Attach(TYPEMAKER2_VIRTUALFN *vf)
int Typemaker2_VirtualFn_GetAccess(const TYPEMAKER2_VIRTUALFN *vf)