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

/** @page P_AH_TAN_METHOD_PUBLIC AH_TanMethod (public)
This page describes the properties of AH_TAN_METHOD
This group represents a TAN method within AqHBCI.
@anchor AH_TAN_METHOD_Function
<h3>Function</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetFunction, 
get it with @ref AH_TanMethod_GetFunction
</p>

@anchor AH_TAN_METHOD_Process
<h3>Process</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetProcess, 
get it with @ref AH_TanMethod_GetProcess
</p>

@anchor AH_TAN_METHOD_MethodId
<h3>MethodId</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetMethodId, 
get it with @ref AH_TanMethod_GetMethodId
</p>

@anchor AH_TAN_METHOD_MethodName
<h3>MethodName</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetMethodName, 
get it with @ref AH_TanMethod_GetMethodName
</p>

@anchor AH_TAN_METHOD_TanMaxLen
<h3>TanMaxLen</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetTanMaxLen, 
get it with @ref AH_TanMethod_GetTanMaxLen
</p>

@anchor AH_TAN_METHOD_FormatId
<h3>FormatId</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetFormatId, 
get it with @ref AH_TanMethod_GetFormatId
</p>

@anchor AH_TAN_METHOD_Prompt
<h3>Prompt</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetPrompt, 
get it with @ref AH_TanMethod_GetPrompt
</p>

@anchor AH_TAN_METHOD_ReturnMaxLen
<h3>ReturnMaxLen</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetReturnMaxLen, 
get it with @ref AH_TanMethod_GetReturnMaxLen
</p>

@anchor AH_TAN_METHOD_MaxActiveLists
<h3>MaxActiveLists</h3>
<p>
</p>
<p>
Set this property with @ref AH_TanMethod_SetMaxActiveLists, 
get it with @ref AH_TanMethod_GetMaxActiveLists
</p>

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

typedef struct AH_TAN_METHOD AH_TAN_METHOD;

#ifdef __cplusplus
} /* __cplusplus */
#endif

#include <gwenhywfar/db.h>
#include <gwenhywfar/inherit.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/list2.h>
/* pre-headers */
#include <aqhbci/aqhbci.h>

#ifdef __cplusplus
extern "C" {
#endif


GWEN_INHERIT_FUNCTION_LIB_DEFS(AH_TAN_METHOD, AQHBCI_API)
GWEN_LIST_FUNCTION_LIB_DEFS(AH_TAN_METHOD, AH_TanMethod, AQHBCI_API)
AQHBCI_API AH_TAN_METHOD_LIST *AH_TanMethod_List_dup(const AH_TAN_METHOD_LIST *stl);

GWEN_LIST2_FUNCTION_LIB_DEFS(AH_TAN_METHOD, AH_TanMethod, AQHBCI_API)

/** Destroys all objects stored in the given LIST2 and the list itself
*/
AQHBCI_API void AH_TanMethod_List2_freeAll(AH_TAN_METHOD_LIST2 *stl);

/** Creates a new object.
*/
AQHBCI_API AH_TAN_METHOD *AH_TanMethod_new();
/** Creates an object from the data in the given GWEN_DB_NODE
*/
AQHBCI_API AH_TAN_METHOD *AH_TanMethod_fromDb(GWEN_DB_NODE *db);
/** Creates and returns a deep copy of thegiven object.
*/
AQHBCI_API AH_TAN_METHOD *AH_TanMethod_dup(const AH_TAN_METHOD*st);
/** Destroys the given object.
*/
AQHBCI_API void AH_TanMethod_free(AH_TAN_METHOD *st);
/** Increments the usage counter of the given object, so an additional free() is needed to destroy the object.
*/
AQHBCI_API void AH_TanMethod_Attach(AH_TAN_METHOD *st);
/** Reads data from a GWEN_DB.
*/
AQHBCI_API int AH_TanMethod_ReadDb(AH_TAN_METHOD *st, GWEN_DB_NODE *db);
/** Stores an object in the given GWEN_DB_NODE
*/
AQHBCI_API int AH_TanMethod_toDb(const AH_TAN_METHOD*st, GWEN_DB_NODE *db);
/** Returns 0 if this object has not been modified, !=0 otherwise
*/
AQHBCI_API int AH_TanMethod_IsModified(const AH_TAN_METHOD *st);
/** Sets the modified state of the given object
*/
AQHBCI_API void AH_TanMethod_SetModified(AH_TAN_METHOD *st, int i);


/**
* Returns the property @ref AH_TAN_METHOD_Function
*/
AQHBCI_API int AH_TanMethod_GetFunction(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_Function
*/
AQHBCI_API void AH_TanMethod_SetFunction(AH_TAN_METHOD *el, int d);

/**
* Returns the property @ref AH_TAN_METHOD_Process
*/
AQHBCI_API int AH_TanMethod_GetProcess(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_Process
*/
AQHBCI_API void AH_TanMethod_SetProcess(AH_TAN_METHOD *el, int d);

/**
* Returns the property @ref AH_TAN_METHOD_MethodId
*/
AQHBCI_API const char *AH_TanMethod_GetMethodId(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_MethodId
*/
AQHBCI_API void AH_TanMethod_SetMethodId(AH_TAN_METHOD *el, const char *d);

/**
* Returns the property @ref AH_TAN_METHOD_MethodName
*/
AQHBCI_API const char *AH_TanMethod_GetMethodName(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_MethodName
*/
AQHBCI_API void AH_TanMethod_SetMethodName(AH_TAN_METHOD *el, const char *d);

/**
* Returns the property @ref AH_TAN_METHOD_TanMaxLen
*/
AQHBCI_API int AH_TanMethod_GetTanMaxLen(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_TanMaxLen
*/
AQHBCI_API void AH_TanMethod_SetTanMaxLen(AH_TAN_METHOD *el, int d);

/**
* Returns the property @ref AH_TAN_METHOD_FormatId
*/
AQHBCI_API const char *AH_TanMethod_GetFormatId(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_FormatId
*/
AQHBCI_API void AH_TanMethod_SetFormatId(AH_TAN_METHOD *el, const char *d);

/**
* Returns the property @ref AH_TAN_METHOD_Prompt
*/
AQHBCI_API const char *AH_TanMethod_GetPrompt(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_Prompt
*/
AQHBCI_API void AH_TanMethod_SetPrompt(AH_TAN_METHOD *el, const char *d);

/**
* Returns the property @ref AH_TAN_METHOD_ReturnMaxLen
*/
AQHBCI_API int AH_TanMethod_GetReturnMaxLen(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_ReturnMaxLen
*/
AQHBCI_API void AH_TanMethod_SetReturnMaxLen(AH_TAN_METHOD *el, int d);

/**
* Returns the property @ref AH_TAN_METHOD_MaxActiveLists
*/
AQHBCI_API int AH_TanMethod_GetMaxActiveLists(const AH_TAN_METHOD *el);
/**
* Set the property @ref AH_TAN_METHOD_MaxActiveLists
*/
AQHBCI_API void AH_TanMethod_SetMaxActiveLists(AH_TAN_METHOD *el, int d);


#ifdef __cplusplus
} /* __cplusplus */
#endif


#endif /* TANMETHOD_H */
