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

#ifndef AB_QUEUE_QUEUE_H
#define AB_QUEUE_QUEUE_H


#ifdef __cplusplus
extern "C" {
#endif

/** @page P_AB_QUEUE Structure AB_QUEUE
<p>This page describes the properties of AB_QUEUE.</p>



<h1>AB_QUEUE</h1>



@anchor AB_QUEUE_userQueueList
<h2>userQueueList</h2>

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

*/

/* needed system headers */
#include <gwenhywfar/types.h>
#include <gwenhywfar/inherit.h>

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

typedef struct AB_QUEUE AB_QUEUE;
GWEN_INHERIT_FUNCTION_DEFS(AB_QUEUE)



/* post-headers */
#include <aqbanking/backendsupport/userqueue.h>


/** Constructor. */
AB_QUEUE *AB_Queue_new(void);

/** Destructor. */
void AB_Queue_free(AB_QUEUE *p_struct);

void AB_Queue_Attach(AB_QUEUE *p_struct);

AB_QUEUE *AB_Queue_dup(const AB_QUEUE *p_src);

AB_QUEUE *AB_Queue_copy(AB_QUEUE *p_struct, const AB_QUEUE *p_src);

/** Getter.
 * Use this function to get the member "userQueueList" (see @ref AB_QUEUE_userQueueList)
*/
AB_USERQUEUE_LIST *AB_Queue_GetUserQueueList(const AB_QUEUE *p_struct);

/** Setter.
 * Use this function to set the member "userQueueList" (see @ref AB_QUEUE_userQueueList)
*/
void AB_Queue_SetUserQueueList(AB_QUEUE *p_struct, AB_USERQUEUE_LIST *p_src);

 AB_USERQUEUE *AB_Queue_FindUserQueue(const AB_QUEUE *q, AB_USER *u);


#ifdef __cplusplus
}
#endif

#endif

