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

#ifndef AB_JOBQUEUE_JOBQUEUE_H
#define AB_JOBQUEUE_JOBQUEUE_H


#ifdef __cplusplus
extern "C" {
#endif

/** @page P_AB_JOBQUEUE Structure AB_JOBQUEUE
<p>This page describes the properties of AB_JOBQUEUE.</p>



<h1>AB_JOBQUEUE</h1>



@anchor AB_JOBQUEUE_jobType
<h2>jobType</h2>

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


@anchor AB_JOBQUEUE_transactionList
<h2>transactionList</h2>

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

*/

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

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

typedef struct AB_JOBQUEUE AB_JOBQUEUE;
GWEN_LIST_FUNCTION_DEFS(AB_JOBQUEUE, AB_JobQueue)
GWEN_INHERIT_FUNCTION_DEFS(AB_JOBQUEUE)



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


/** Constructor. */
AB_JOBQUEUE *AB_JobQueue_new(void);

/** Destructor. */
void AB_JobQueue_free(AB_JOBQUEUE *p_struct);

void AB_JobQueue_Attach(AB_JOBQUEUE *p_struct);

AB_JOBQUEUE *AB_JobQueue_dup(const AB_JOBQUEUE *p_src);

/** Getter.
 * Use this function to get the member "jobType" (see @ref AB_JOBQUEUE_jobType)
*/
int AB_JobQueue_GetJobType(const AB_JOBQUEUE *p_struct);

/** Getter.
 * Use this function to get the member "transactionList" (see @ref AB_JOBQUEUE_transactionList)
*/
AB_TRANSACTION_LIST2 *AB_JobQueue_GetTransactionList(const AB_JOBQUEUE *p_struct);

/** Setter.
 * Use this function to set the member "jobType" (see @ref AB_JOBQUEUE_jobType)
*/
void AB_JobQueue_SetJobType(AB_JOBQUEUE *p_struct, int p_src);

/** Setter.
 * Use this function to set the member "transactionList" (see @ref AB_JOBQUEUE_transactionList)
*/
void AB_JobQueue_SetTransactionList(AB_JOBQUEUE *p_struct, AB_TRANSACTION_LIST2 *p_src);

AB_JOBQUEUE_LIST *AB_JobQueue_List_dup(const AB_JOBQUEUE_LIST *p_src);

AB_JOBQUEUE *AB_JobQueue_List_GetByJobType(const AB_JOBQUEUE_LIST *p_list, int p_cmp);

 void AB_JobQueue_AddTransaction(AB_JOBQUEUE *aq, AB_TRANSACTION *t);
 AB_TRANSACTION *AB_JobQueue_GetFirstTransaction(const AB_JOBQUEUE *aq);


#ifdef __cplusplus
}
#endif

#endif

