gwenhywfar  4.99.8beta
Typedefs | Functions
tm_builder.h File Reference
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/stringlist.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/buffer.h>
#include "tm_typemanager.h"
#include "tm_type.h"
#include "tm_member.h"
Include dependency graph for tm_builder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct TYPEMAKER2_BUILDER TYPEMAKER2_BUILDER
 
typedef int(* TYPEMAKER2_BUILDER_BUILD_FN )(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 

Functions

void Typemaker2_Builder_AddCode (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddLibraryDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddPrivateDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddProtectedDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_AddPublicDeclaration (TYPEMAKER2_BUILDER *tb, const char *s)
 
int Typemaker2_Builder_Build (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
GWEN_DB_NODETypemaker2_Builder_CreateDbForCall (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst)
 
void Typemaker2_Builder_free (TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetCode (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNameCode (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNameLibrary (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNamePrivate (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNameProtected (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetFileNamePublic (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetLibraryDeclarations (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetPrivateDeclarations (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetProtectedDeclarations (const TYPEMAKER2_BUILDER *tb)
 
GWEN_STRINGLISTTypemaker2_Builder_GetPublicDeclarations (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetSourceFileName (const TYPEMAKER2_BUILDER *tb)
 
const char * Typemaker2_Builder_GetTypedefFileName (const TYPEMAKER2_BUILDER *tb)
 
TYPEMAKER2_TYPEMANAGERTypemaker2_Builder_GetTypeManager (const TYPEMAKER2_BUILDER *tb)
 
int Typemaker2_Builder_Invoke_AssignFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_CompareFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_ConstructFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_DestructFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_DupFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_FromDbFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_FromObjectFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_FromXmlFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_ToDbFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_ToHashStringFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_ToObjectFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_Invoke_ToXmlFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, TYPEMAKER2_MEMBER *tm, const char *src, const char *dst, GWEN_BUFFER *dbuf)
 
int Typemaker2_Builder_MakeTypeList1 (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int Typemaker2_Builder_MakeTypeList2 (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
int Typemaker2_Builder_MakeTypeTree (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)
 
TYPEMAKER2_BUILDERTypemaker2_Builder_new ()
 
int Typemaker2_Builder_ReplaceVars (const char *s, GWEN_DB_NODE *db, GWEN_BUFFER *dbuf)
 
void Typemaker2_Builder_SetBuildFn (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_BUILDER_BUILD_FN fn)
 
void Typemaker2_Builder_SetDestFolderName (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNameCode (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNameLibrary (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNamePrivate (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNameProtected (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetFileNamePublic (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetSourceFileName (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetTypedefFileName (TYPEMAKER2_BUILDER *tb, const char *s)
 
void Typemaker2_Builder_SetTypeManager (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPEMANAGER *tm)
 
int Typemaker2_Builder_WriteFiles (TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty, int defsOnly)
 

Typedef Documentation

Definition at line 23 of file tm_builder.h.

typedef int(* TYPEMAKER2_BUILDER_BUILD_FN)(TYPEMAKER2_BUILDER *tb, TYPEMAKER2_TYPE *ty)

Definition at line 32 of file tm_builder.h.

Function Documentation

void Typemaker2_Builder_AddCode ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddLibraryDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddPrivateDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddProtectedDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_AddPublicDeclaration ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
int Typemaker2_Builder_Build ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)

Definition at line 271 of file tm_builder.c.

References GWEN_ERROR_NOT_SUPPORTED.

Referenced by buildFile(), and buildFile2().

Here is the caller graph for this function:

GWEN_DB_NODE* Typemaker2_Builder_CreateDbForCall ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst 
)
void Typemaker2_Builder_free ( TYPEMAKER2_BUILDER tb)

Definition at line 47 of file tm_builder.c.

References GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_StringList_free().

Here is the call graph for this function:

GWEN_STRINGLIST* Typemaker2_Builder_GetCode ( const TYPEMAKER2_BUILDER tb)

Definition at line 96 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNameCode ( const TYPEMAKER2_BUILDER tb)

Definition at line 216 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNameLibrary ( const TYPEMAKER2_BUILDER tb)

Definition at line 168 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNamePrivate ( const TYPEMAKER2_BUILDER tb)

Definition at line 200 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNameProtected ( const TYPEMAKER2_BUILDER tb)

Definition at line 184 of file tm_builder.c.

const char* Typemaker2_Builder_GetFileNamePublic ( const TYPEMAKER2_BUILDER tb)

Definition at line 152 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetLibraryDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 75 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetPrivateDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 89 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetProtectedDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 82 of file tm_builder.c.

GWEN_STRINGLIST* Typemaker2_Builder_GetPublicDeclarations ( const TYPEMAKER2_BUILDER tb)

Definition at line 68 of file tm_builder.c.

const char* Typemaker2_Builder_GetSourceFileName ( const TYPEMAKER2_BUILDER tb)

Definition at line 232 of file tm_builder.c.

Referenced by Typemaker2_Builder_WriteFile().

Here is the caller graph for this function:

const char* Typemaker2_Builder_GetTypedefFileName ( const TYPEMAKER2_BUILDER tb)
TYPEMAKER2_TYPEMANAGER* Typemaker2_Builder_GetTypeManager ( const TYPEMAKER2_BUILDER tb)
int Typemaker2_Builder_Invoke_AssignFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildCopy(), _buildDup(), and _buildSetter().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_CompareFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildList1GetByMember(), _buildList1SortByMember(), and _buildTreeGetByMember().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_ConstructFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildConstructor(), _buildReadDb(), _buildReadObject(), _buildReadXml(), and _buildSetter().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_DestructFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildCopy(), _buildDestructor(), _buildDup(), _buildReadDb(), _buildReadObject(), _buildReadXml(), and _buildSetter().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_DupFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildCopy(), _buildDup(), and _buildSetter().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_FromDbFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildReadDb().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_FromObjectFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildReadObject().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_FromXmlFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildReadXml().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_ToDbFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildWriteDb().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_ToHashStringFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildToHashString().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_ToObjectFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildWriteObject().

Here is the caller graph for this function:

int Typemaker2_Builder_Invoke_ToXmlFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
TYPEMAKER2_MEMBER tm,
const char *  src,
const char *  dst,
GWEN_BUFFER dbuf 
)

Referenced by _buildWriteXml().

Here is the caller graph for this function:

int Typemaker2_Builder_MakeTypeList1 ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
int Typemaker2_Builder_MakeTypeList2 ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
int Typemaker2_Builder_MakeTypeTree ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty 
)
TYPEMAKER2_BUILDER* Typemaker2_Builder_new ( )

Definition at line 30 of file tm_builder.c.

References GWEN_INHERIT_INIT, GWEN_NEW_OBJECT, and GWEN_StringList_new().

Referenced by Typemaker2_Builder_C_new().

Here is the call graph for this function:

Here is the caller graph for this function:

int Typemaker2_Builder_ReplaceVars ( const char *  s,
GWEN_DB_NODE db,
GWEN_BUFFER dbuf 
)

Definition at line 425 of file tm_builder.c.

References DBG_ERROR, GWEN_Buffer_AppendByte(), GWEN_Buffer_AppendString(), GWEN_DB_GetCharValue(), GWEN_ERROR_BAD_DATA, GWEN_LOGDOMAIN, and NULL.

Referenced by _buildGroupApiDoc(), _buildInlines(), and _buildMemberInlines().

Here is the call graph for this function:

Here is the caller graph for this function:

void Typemaker2_Builder_SetBuildFn ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_BUILDER_BUILD_FN  fn 
)

Definition at line 264 of file tm_builder.c.

Referenced by Typemaker2_Builder_C_new().

Here is the caller graph for this function:

void Typemaker2_Builder_SetDestFolderName ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 255 of file tm_builder.c.

References NULL.

Referenced by buildFile(), and buildFile2().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNameCode ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 223 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNameLibrary ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 175 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNamePrivate ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 207 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNameProtected ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 191 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetFileNamePublic ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 159 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and Typemaker2_Builder_DetermineOutFileNames().

Here is the caller graph for this function:

void Typemaker2_Builder_SetSourceFileName ( TYPEMAKER2_BUILDER tb,
const char *  s 
)

Definition at line 239 of file tm_builder.c.

References NULL.

Referenced by buildFile(), buildFile2(), and doBuildDefs().

Here is the caller graph for this function:

void Typemaker2_Builder_SetTypedefFileName ( TYPEMAKER2_BUILDER tb,
const char *  s 
)
void Typemaker2_Builder_SetTypeManager ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPEMANAGER tm 
)

Definition at line 110 of file tm_builder.c.

Referenced by buildFile(), buildFile2(), and doBuildDefs().

Here is the caller graph for this function:

int Typemaker2_Builder_WriteFiles ( TYPEMAKER2_BUILDER tb,
TYPEMAKER2_TYPE ty,
int  defsOnly 
)