00001 /*************************************************************************** 00002 $RCSfile: outbox.h,v $ 00003 ------------------- 00004 cvs : $Id: outbox.h,v 1.1 2005/08/05 20:33:11 aquamaniac Exp $ 00005 begin : Mon Mar 01 2004 00006 copyright : (C) 2004 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 #ifndef AH_OUTBOX_H 00014 #define AH_OUTBOX_H 00015 00016 00017 #define AH_OUTBOX_FLAGS_ENDDIALOG 0x00000001 00018 00019 #define AH_OUTBOX_FLAGS_DEFAULT \ 00020 (\ 00021 AH_OUTBOX_FLAGS_ENDDIALOG \ 00022 ) 00023 00024 #define AH_OUTBOX_EXECUTE_WCB_ID "AH_OUTBOX_EXECUTE_WCB_ID" 00025 00026 //#define AH_OUTBOX_EXECUTE_SEND_TIMEOUT 30 00027 //#define AH_OUTBOX_EXECUTE_RECV_TIMEOUT 30 00028 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 typedef struct AH_OUTBOX AH_OUTBOX; 00034 #ifdef __cplusplus 00035 } 00036 #endif 00037 00038 #include <gwenhywfar/inherit.h> 00039 #include <aqhbci/hbci.h> 00040 #include <aqhbci/customer.h> 00041 #include <aqhbci/job.h> 00042 00043 00044 #ifdef __cplusplus 00045 extern "C" { 00046 #endif 00047 00048 00049 AH_OUTBOX *AH_Outbox_new(AH_HBCI *hbci); 00050 void AH_Outbox_free(AH_OUTBOX *ob); 00051 void AH_Outbox_Attach(AH_OUTBOX *ob); 00052 00053 void AH_Outbox_AddJob(AH_OUTBOX *ob, AH_JOB *j); 00054 void AH_Outbox_AddPendingJob(AH_OUTBOX *ob, AB_JOB *bj); 00055 00056 /* makes all jobs commit their data */ 00057 void AH_Outbox_Commit(AH_OUTBOX *ob); 00058 00059 00060 /* makes all jobs process their data */ 00061 void AH_Outbox_Process(AH_OUTBOX *ob); 00062 00063 /* makes all jobs commit their system data (only calls 00064 * @ref AH_Job_DefaultCommitHandler which only commits system data 00065 * like account data, bank parameter data etc according to the flags in 00066 * @ref AH_HBCIClient). 00067 */ 00068 void AH_Outbox_CommitSystemData(AH_OUTBOX *ob); 00069 00070 00071 unsigned int AH_Outbox_CountTodoJobs(AH_OUTBOX *ob); 00072 unsigned int AH_Outbox_CountFinishedJobs(AH_OUTBOX *ob); 00073 00074 00075 int AH_Outbox_Execute(AH_OUTBOX *ob, int withProgress, int nounmount); 00076 00077 00078 AH_JOB *AH_Outbox_FindTransferJob(AH_OUTBOX *ob, 00079 AH_CUSTOMER *cu, 00080 AH_ACCOUNT *a, 00081 int isTransfer); 00082 00083 #ifdef __cplusplus 00084 } 00085 #endif 00086 00087 00088 #endif /* AH_OUTBOX_H */ 00089