/**********************************************************
 * This file has been automatically created by "typemaker2"
 * from the file "bankinfo.xml".
 * Please do not edit this file, all changes will be lost.
 * Better edit the mentioned source file instead.
 **********************************************************/

#ifndef AB_BANKINFO_BANKINFO_H
#define AB_BANKINFO_BANKINFO_H


#ifdef __cplusplus
extern "C" {
#endif

/** @page P_AB_BANKINFO Structure AB_BANKINFO
<p>This page describes the properties of AB_BANKINFO.</p>



<h1>AB_BANKINFO</h1>



@anchor AB_BANKINFO_country
<h2>country</h2>

<p>Set this property with @ref AB_BankInfo_SetCountry(), get it with @ref AB_BankInfo_GetCountry().</p>


@anchor AB_BANKINFO_branchId
<h2>branchId</h2>

<p>Set this property with @ref AB_BankInfo_SetBranchId(), get it with @ref AB_BankInfo_GetBranchId().</p>


@anchor AB_BANKINFO_bankId
<h2>bankId</h2>

<p>Set this property with @ref AB_BankInfo_SetBankId(), get it with @ref AB_BankInfo_GetBankId().</p>


@anchor AB_BANKINFO_bic
<h2>bic</h2>

<p>Set this property with @ref AB_BankInfo_SetBic(), get it with @ref AB_BankInfo_GetBic().</p>


@anchor AB_BANKINFO_bankName
<h2>bankName</h2>

<p>Set this property with @ref AB_BankInfo_SetBankName(), get it with @ref AB_BankInfo_GetBankName().</p>


@anchor AB_BANKINFO_location
<h2>location</h2>

<p>Set this property with @ref AB_BankInfo_SetLocation(), get it with @ref AB_BankInfo_GetLocation().</p>


@anchor AB_BANKINFO_street
<h2>street</h2>

<p>Set this property with @ref AB_BankInfo_SetStreet(), get it with @ref AB_BankInfo_GetStreet().</p>


@anchor AB_BANKINFO_zipcode
<h2>zipcode</h2>

<p>Set this property with @ref AB_BankInfo_SetZipcode(), get it with @ref AB_BankInfo_GetZipcode().</p>


@anchor AB_BANKINFO_city
<h2>city</h2>

<p>Set this property with @ref AB_BankInfo_SetCity(), get it with @ref AB_BankInfo_GetCity().</p>


@anchor AB_BANKINFO_region
<h2>region</h2>

<p>Set this property with @ref AB_BankInfo_SetRegion(), get it with @ref AB_BankInfo_GetRegion().</p>


@anchor AB_BANKINFO_phone
<h2>phone</h2>

<p>Set this property with @ref AB_BankInfo_SetPhone(), get it with @ref AB_BankInfo_GetPhone().</p>


@anchor AB_BANKINFO_fax
<h2>fax</h2>

<p>Set this property with @ref AB_BankInfo_SetFax(), get it with @ref AB_BankInfo_GetFax().</p>


@anchor AB_BANKINFO_email
<h2>email</h2>

<p>Set this property with @ref AB_BankInfo_SetEmail(), get it with @ref AB_BankInfo_GetEmail().</p>


@anchor AB_BANKINFO_website
<h2>website</h2>

<p>Set this property with @ref AB_BankInfo_SetWebsite(), get it with @ref AB_BankInfo_GetWebsite().</p>


@anchor AB_BANKINFO_services
<h2>services</h2>

<p>Set this property with @ref AB_BankInfo_SetServices(), get it with @ref AB_BankInfo_GetServices().</p>

*/

/* needed system headers */
#include <gwenhywfar/types.h>
#include <gwenhywfar/list1.h>
#include <gwenhywfar/list2.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/xml.h>

/* pre-headers */
#include <aqbanking/error.h>
#include <gwenhywfar/types.h>

typedef struct AB_BANKINFO AB_BANKINFO;
GWEN_LIST_FUNCTION_LIB_DEFS(AB_BANKINFO, AB_BankInfo, AQBANKING_API)
GWEN_LIST2_FUNCTION_LIB_DEFS(AB_BANKINFO, AB_BankInfo, AQBANKING_API)



/* post-headers */
#include <aqbanking/types/bankinfoservice.h>


/** Constructor. */
AQBANKING_API AB_BANKINFO *AB_BankInfo_new(void);

/** Destructor. */
AQBANKING_API void AB_BankInfo_free(AB_BANKINFO *p_struct);

AQBANKING_API void AB_BankInfo_Attach(AB_BANKINFO *p_struct);

AQBANKING_API AB_BANKINFO *AB_BankInfo_dup(const AB_BANKINFO *p_src);

AQBANKING_API AB_BANKINFO *AB_BankInfo_copy(AB_BANKINFO *p_struct, const AB_BANKINFO *p_src);

/** Getter.
 * Use this function to get the member "country" (see @ref AB_BANKINFO_country)
*/
AQBANKING_API const char *AB_BankInfo_GetCountry(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "branchId" (see @ref AB_BANKINFO_branchId)
*/
AQBANKING_API const char *AB_BankInfo_GetBranchId(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "bankId" (see @ref AB_BANKINFO_bankId)
*/
AQBANKING_API const char *AB_BankInfo_GetBankId(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "bic" (see @ref AB_BANKINFO_bic)
*/
AQBANKING_API const char *AB_BankInfo_GetBic(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "bankName" (see @ref AB_BANKINFO_bankName)
*/
AQBANKING_API const char *AB_BankInfo_GetBankName(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "location" (see @ref AB_BANKINFO_location)
*/
AQBANKING_API const char *AB_BankInfo_GetLocation(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "street" (see @ref AB_BANKINFO_street)
*/
AQBANKING_API const char *AB_BankInfo_GetStreet(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "zipcode" (see @ref AB_BANKINFO_zipcode)
*/
AQBANKING_API const char *AB_BankInfo_GetZipcode(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "city" (see @ref AB_BANKINFO_city)
*/
AQBANKING_API const char *AB_BankInfo_GetCity(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "region" (see @ref AB_BANKINFO_region)
*/
AQBANKING_API const char *AB_BankInfo_GetRegion(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "phone" (see @ref AB_BANKINFO_phone)
*/
AQBANKING_API const char *AB_BankInfo_GetPhone(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "fax" (see @ref AB_BANKINFO_fax)
*/
AQBANKING_API const char *AB_BankInfo_GetFax(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "email" (see @ref AB_BANKINFO_email)
*/
AQBANKING_API const char *AB_BankInfo_GetEmail(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "website" (see @ref AB_BANKINFO_website)
*/
AQBANKING_API const char *AB_BankInfo_GetWebsite(const AB_BANKINFO *p_struct);

/** Getter.
 * Use this function to get the member "services" (see @ref AB_BANKINFO_services)
*/
AQBANKING_API AB_BANKINFO_SERVICE_LIST *AB_BankInfo_GetServices(const AB_BANKINFO *p_struct);

/** Setter.
 * Use this function to set the member "country" (see @ref AB_BANKINFO_country)
*/
AQBANKING_API void AB_BankInfo_SetCountry(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "branchId" (see @ref AB_BANKINFO_branchId)
*/
AQBANKING_API void AB_BankInfo_SetBranchId(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "bankId" (see @ref AB_BANKINFO_bankId)
*/
AQBANKING_API void AB_BankInfo_SetBankId(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "bic" (see @ref AB_BANKINFO_bic)
*/
AQBANKING_API void AB_BankInfo_SetBic(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "bankName" (see @ref AB_BANKINFO_bankName)
*/
AQBANKING_API void AB_BankInfo_SetBankName(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "location" (see @ref AB_BANKINFO_location)
*/
AQBANKING_API void AB_BankInfo_SetLocation(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "street" (see @ref AB_BANKINFO_street)
*/
AQBANKING_API void AB_BankInfo_SetStreet(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "zipcode" (see @ref AB_BANKINFO_zipcode)
*/
AQBANKING_API void AB_BankInfo_SetZipcode(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "city" (see @ref AB_BANKINFO_city)
*/
AQBANKING_API void AB_BankInfo_SetCity(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "region" (see @ref AB_BANKINFO_region)
*/
AQBANKING_API void AB_BankInfo_SetRegion(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "phone" (see @ref AB_BANKINFO_phone)
*/
AQBANKING_API void AB_BankInfo_SetPhone(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "fax" (see @ref AB_BANKINFO_fax)
*/
AQBANKING_API void AB_BankInfo_SetFax(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "email" (see @ref AB_BANKINFO_email)
*/
AQBANKING_API void AB_BankInfo_SetEmail(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "website" (see @ref AB_BANKINFO_website)
*/
AQBANKING_API void AB_BankInfo_SetWebsite(AB_BANKINFO *p_struct, const char *p_src);

/** Setter.
 * Use this function to set the member "services" (see @ref AB_BANKINFO_services)
*/
AQBANKING_API void AB_BankInfo_SetServices(AB_BANKINFO *p_struct, AB_BANKINFO_SERVICE_LIST *p_src);

AQBANKING_API AB_BANKINFO_LIST *AB_BankInfo_List_dup(const AB_BANKINFO_LIST *p_src);

AQBANKING_API void AB_BankInfo_ReadDb(AB_BANKINFO *p_struct, GWEN_DB_NODE *p_db);

AQBANKING_API int AB_BankInfo_WriteDb(const AB_BANKINFO *p_struct, GWEN_DB_NODE *p_db);

AQBANKING_API AB_BANKINFO *AB_BankInfo_fromDb(GWEN_DB_NODE *p_db);

AQBANKING_API int AB_BankInfo_toDb(const AB_BANKINFO *p_struct, GWEN_DB_NODE *p_db);

AQBANKING_API void AB_BankInfo_ReadXml(AB_BANKINFO *p_struct, GWEN_XMLNODE *p_db);

AQBANKING_API void AB_BankInfo_WriteXml(const AB_BANKINFO *p_struct, GWEN_XMLNODE *p_db);

AQBANKING_API void AB_BankInfo_toXml(const AB_BANKINFO *p_struct, GWEN_XMLNODE *p_db);

AQBANKING_API AB_BANKINFO *AB_BankInfo_fromXml(GWEN_XMLNODE *p_db);

AQBANKING_API int AB_BankInfo_List2_freeAll(AB_BANKINFO_LIST2 *tl);


#ifdef __cplusplus
}
#endif

#endif

