GWEN_CRYPTMGR *GWEN_CryptMgr_new(void) { GWEN_CRYPTMGR *cm; GWEN_NEW_OBJECT(GWEN_CRYPTMGR, cm); GWEN_INHERIT_INIT(GWEN_CRYPTMGR, cm); return cm; }
EB_MSG *EB_Msg_new() { EB_MSG *m; GWEN_NEW_OBJECT(EB_MSG, m); GWEN_INHERIT_INIT(EB_MSG, m); m->usage=1; m->doc=xmlNewDoc(BAD_CAST "1.0"); m->doc->encoding=xmlCharStrdup("UTF-8"); EB_Msg__initWithDoc(m); return m; }
EB_MSG *EB_Msg_newRequest(int willSign, const char *hVersion) { EB_MSG *m; GWEN_NEW_OBJECT(EB_MSG, m); GWEN_INHERIT_INIT(EB_MSG, m); m->usage=1; m->doc=EB_Msg__generateRequest(willSign, hVersion); assert(m->doc); EB_Msg__initWithDoc(m); return m; }
AB_QUEUE *AB_Queue_new(void) { AB_QUEUE *p_struct; GWEN_NEW_OBJECT(AB_QUEUE, p_struct) p_struct->_refCount=1; GWEN_INHERIT_INIT(AB_QUEUE, p_struct) /* members */ p_struct->userQueueList=AB_UserQueue_List_new(); /* virtual functions */ return p_struct; }
AB_JOBQUEUE *AB_JobQueue_new(void) { AB_JOBQUEUE *p_struct; GWEN_NEW_OBJECT(AB_JOBQUEUE, p_struct) p_struct->_refCount=1; GWEN_INHERIT_INIT(AB_JOBQUEUE, p_struct) GWEN_LIST_INIT(AB_JOBQUEUE, p_struct) /* members */ p_struct->jobList=AB_Job_List2_new(); p_struct->jobType=AB_Job_TypeUnknown; /* virtual functions */ return p_struct; }
AB_IMEXPORTER *AB_ImExporter_new(AB_BANKING *ab, const char *name){ AB_IMEXPORTER *ie; assert(ab); assert(name); GWEN_NEW_OBJECT(AB_IMEXPORTER, ie); GWEN_LIST_INIT(AB_IMEXPORTER, ie); GWEN_INHERIT_INIT(AB_IMEXPORTER, ie); ie->banking=ab; ie->name=strdup(name); return ie; }
BASECLASS *BaseClass_new() { BASECLASS *baseClass; /* this macro simply allocates memory for a BASECLASS object and * presets the memory area with zeroes */ GWEN_NEW_OBJECT(BASECLASS, baseClass) /* this macro allows GWEN to initialize the inheritance data defined * in baseclass_p.h within the struct definition (GWEN_INHERIT_ELEMENT) */ GWEN_INHERIT_INIT(BASECLASS, baseClass) /* the rest is specific to our example module */ baseClass->someMember=12345; return baseClass; }
EB_MSG *EB_Msg_fromBuffer(const char *buffer, int size) { EB_MSG *m; GWEN_NEW_OBJECT(EB_MSG, m); GWEN_INHERIT_INIT(EB_MSG, m); m->usage=1; m->doc=xmlParseMemory(buffer, size); if (m->doc==0) { DBG_ERROR(AQEBICS_LOGDOMAIN, "Unable to parser buffer as XML doc"); EB_Msg_free(m); return 0; } EB_Msg__initWithDoc(m); return m; }
EB_MSG *EB_Msg_fromFile(const char *fname) { EB_MSG *m; GWEN_NEW_OBJECT(EB_MSG, m); GWEN_INHERIT_INIT(EB_MSG, m); m->usage=1; m->doc=xmlParseFile(fname); if (m->doc==0) { DBG_ERROR(AQEBICS_LOGDOMAIN, "Unable to parser file \"%s\" as XML doc", fname); EB_Msg_free(m); return 0; } EB_Msg__initWithDoc(m); return m; }
LC_CLIENT *LC_Client_new(const char *programName, const char *programVersion) { LC_CLIENT *cl; assert(programName); assert(programVersion); if (LC_Client_InitCommon()) { DBG_ERROR(0, "Unable to initialize, aborting"); return NULL; } GWEN_NEW_OBJECT(LC_CLIENT, cl); GWEN_INHERIT_INIT(LC_CLIENT, cl); cl->programName=strdup(programName); cl->programVersion=strdup(programVersion); cl->cardNodes=lc_client__card_nodes; cl->appNodes=lc_client__app_nodes; cl->msgEngine=LC_MsgEngine_new(); cl->dbConfig=lc_client__config; return cl; }
AB_PROVIDER *AB_Provider_new(AB_BANKING *ab, const char *name){ AB_PROVIDER *pro; GWEN_BUFFER *nbuf; assert(ab); assert(name); nbuf=GWEN_Buffer_new(0, 256, 0, 1); if (GWEN_Text_EscapeToBufferTolerant(name, nbuf)) { DBG_ERROR(AQBANKING_LOGDOMAIN, "Bad backend name, aborting."); GWEN_Buffer_free(nbuf); abort(); } else { char *s; s=GWEN_Buffer_GetStart(nbuf); while(*s) { *s=tolower(*s); s++; } } GWEN_NEW_OBJECT(AB_PROVIDER, pro); pro->usage=1; GWEN_INHERIT_INIT(AB_PROVIDER, pro); GWEN_LIST_INIT(AB_PROVIDER, pro); pro->banking=ab; pro->name=strdup(name); pro->escName=strdup(GWEN_Buffer_GetStart(nbuf)); GWEN_Buffer_free(nbuf); return pro; }