/* This file is auto-generated from "st_vardef.xml" by the typemaker
   tool of Gwenhywfar. 
   Do not edit this file -- all changes will be lost! */
#ifndef ST_VARDEF_H
#define ST_VARDEF_H

/** @page P_GWEN_STO_VARDEF_PUBLIC GWEN_StoVarDef (public)
This page describes the properties of GWEN_STO_VARDEF
@anchor GWEN_STO_VARDEF_Name
<h3>Name</h3>
<p>
Variable name</p>
<p>
Set this property with @ref GWEN_StoVarDef_SetName, 
get it with @ref GWEN_StoVarDef_GetName
</p>

@anchor GWEN_STO_VARDEF_MinNum
<h3>MinNum</h3>
<p>
Minimum occurence (0 for &quot;nolimit&quot;).</p>
<p>
Set this property with @ref GWEN_StoVarDef_SetMinNum, 
get it with @ref GWEN_StoVarDef_GetMinNum
</p>

@anchor GWEN_STO_VARDEF_MaxNum
<h3>MaxNum</h3>
<p>
Maximum occurence (0 for &quot;nolimit&quot;).</p>
<p>
Set this property with @ref GWEN_StoVarDef_SetMaxNum, 
get it with @ref GWEN_StoVarDef_GetMaxNum
</p>

*/
#ifdef __cplusplus
extern "C" {
#endif

typedef struct GWEN_STO_VARDEF GWEN_STO_VARDEF;

#ifdef __cplusplus
} /* __cplusplus */
#endif

#include <gwenhywfar/db.h>
#include <gwenhywfar/misc.h>
/* headers */
#include <gwenhywfar/gwenhywfarapi.h>

#ifdef __cplusplus
extern "C" {
#endif


GWEN_LIST_FUNCTION_LIB_DEFS(GWEN_STO_VARDEF, GWEN_StoVarDef, GWENHYWFAR_API)
GWENHYWFAR_API GWEN_STO_VARDEF_LIST *GWEN_StoVarDef_List_dup(const GWEN_STO_VARDEF_LIST *stl);

/** Creates a new object.
*/
GWENHYWFAR_API GWEN_STO_VARDEF *GWEN_StoVarDef_new();
/** Creates an object from the data in the given GWEN_DB_NODE
*/
GWENHYWFAR_API GWEN_STO_VARDEF *GWEN_StoVarDef_fromDb(GWEN_DB_NODE *db);
/** Creates and returns a deep copy of thegiven object.
*/
GWENHYWFAR_API GWEN_STO_VARDEF *GWEN_StoVarDef_dup(const GWEN_STO_VARDEF*st);
/** Destroys the given object.
*/
GWENHYWFAR_API void GWEN_StoVarDef_free(GWEN_STO_VARDEF *st);
/** Increments the usage counter of the given object, so an additional free() is needed to destroy the object.
*/
GWENHYWFAR_API void GWEN_StoVarDef_Attach(GWEN_STO_VARDEF *st);
/** Reads data from a GWEN_DB.
*/
GWENHYWFAR_API int GWEN_StoVarDef_ReadDb(GWEN_STO_VARDEF *st, GWEN_DB_NODE *db);
/** Stores an object in the given GWEN_DB_NODE
*/
GWENHYWFAR_API int GWEN_StoVarDef_toDb(const GWEN_STO_VARDEF*st, GWEN_DB_NODE *db);
/** Returns 0 if this object has not been modified, !=0 otherwise
*/
GWENHYWFAR_API int GWEN_StoVarDef_IsModified(const GWEN_STO_VARDEF *st);
/** Sets the modified state of the given object
*/
GWENHYWFAR_API void GWEN_StoVarDef_SetModified(GWEN_STO_VARDEF *st, int i);

/**
* Returns the property @ref GWEN_STO_VARDEF_Name
*/
GWENHYWFAR_API const char *GWEN_StoVarDef_GetName(const GWEN_STO_VARDEF *el);
/**
* Set the property @ref GWEN_STO_VARDEF_Name
*/
GWENHYWFAR_API void GWEN_StoVarDef_SetName(GWEN_STO_VARDEF *el, const char *d);

/**
* Returns the property @ref GWEN_STO_VARDEF_MinNum
*/
GWENHYWFAR_API int GWEN_StoVarDef_GetMinNum(const GWEN_STO_VARDEF *el);
/**
* Set the property @ref GWEN_STO_VARDEF_MinNum
*/
GWENHYWFAR_API void GWEN_StoVarDef_SetMinNum(GWEN_STO_VARDEF *el, int d);

/**
* Returns the property @ref GWEN_STO_VARDEF_MaxNum
*/
GWENHYWFAR_API int GWEN_StoVarDef_GetMaxNum(const GWEN_STO_VARDEF *el);
/**
* Set the property @ref GWEN_STO_VARDEF_MaxNum
*/
GWENHYWFAR_API void GWEN_StoVarDef_SetMaxNum(GWEN_STO_VARDEF *el, int d);


#ifdef __cplusplus
} /* __cplusplus */
#endif


#endif /* ST_VARDEF_H */
