job.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile: job.h,v $
00003                              -------------------
00004     cvs         : $Id: job.h,v 1.2 2005/08/27 06:29:51 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_JOB_H
00014 #define AH_JOB_H
00015 
00016 #include <gwenhywfar/inherit.h>
00017 #include <aqhbci/result.h>
00018 
00019 #include <stdio.h>
00020 
00021 
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025 typedef struct AH_JOB AH_JOB;
00026 
00027 #include <gwenhywfar/misc.h>
00028 #include <gwenhywfar/misc2.h>
00029 #include <gwenhywfar/inherit.h>
00030 
00031 GWEN_INHERIT_FUNCTION_DEFS(AH_JOB);
00032 GWEN_LIST2_FUNCTION_DEFS(AH_JOB, AH_Job);
00033 void AH_Job_List2_FreeAll(AH_JOB_LIST2 *jl);
00034 #ifdef __cplusplus
00035 }
00036 #endif
00037 
00038 
00039 
00040 #include <gwenhywfar/db.h>
00041 #include <aqhbci/customer.h>
00042 #include <aqbanking/job.h>
00043 
00044 
00045 #ifdef __cplusplus
00046 extern "C" {
00047 #endif
00048 
00049 typedef enum {
00050   AH_JobStatusUnknown=0,
00051   AH_JobStatusToDo,
00052   AH_JobStatusEnqueued,
00053   AH_JobStatusEncoded,
00054   AH_JobStatusSent,
00055   AH_JobStatusAnswered,
00056   AH_JobStatusError,
00057 
00058   AH_JobStatusAll=255
00059 } AH_JOB_STATUS;
00060 
00061 
00062 typedef enum {
00063   AH_Job_ExchangeModeParams=0,
00064   AH_Job_ExchangeModeArgs,
00065   AH_Job_ExchangeModeResults
00066 } AH_JOB_EXCHANGE_MODE;
00067 
00068 
00073 typedef int (*AH_JOB_PROCESS_FN)(AH_JOB *j);
00074 typedef int (*AH_JOB_COMMIT_FN)(AH_JOB *j);
00075 typedef int (*AH_JOB_EXCHANGE_FN)(AH_JOB *j, AB_JOB *bj,
00076                                   AH_JOB_EXCHANGE_MODE m);
00085 typedef int (*AH_JOB_NEXTMSG_FN)(AH_JOB *j);
00086 
00095 void AH_Job_free(AH_JOB *j);
00096 void AH_Job_Attach(AH_JOB *j);
00097 
00105 const char *AH_Job_GetName(const AH_JOB *j);
00106 const char *AH_Job_GetAccountId(const AH_JOB *j);
00107 const char *AH_Job_GetDescription(const AH_JOB *j);
00108 
00109 int AH_Job_GetMinSignatures(const AH_JOB *j);
00110 int AH_Job_GetJobsPerMsg(const AH_JOB *j);
00111 
00112 AH_CUSTOMER *AH_Job_GetCustomer(const AH_JOB *j);
00113 
00114 GWEN_DB_NODE *AH_Job_GetParams(const AH_JOB *j);
00115 GWEN_DB_NODE *AH_Job_GetArguments(const AH_JOB *j);
00116 GWEN_DB_NODE *AH_Job_GetResponses(const AH_JOB *j);
00117 
00118 unsigned int AH_Job_GetMsgNum(const AH_JOB *j);
00119 const char *AH_Job_GetDialogId(const AH_JOB *j);
00120 
00121 AH_JOB_STATUS AH_Job_GetStatus(const AH_JOB *j);
00122 const char *AH_Job_StatusName(AH_JOB_STATUS st);
00123 
00124 void AH_Job_AddSigner(AH_JOB *j, const char *s);
00125 
00126 int AH_Job_HasWarnings(const AH_JOB *j);
00127 int AH_Job_HasErrors(const AH_JOB *j);
00128 
00129 AH_RESULT_LIST *AH_Job_GetSegResults(const AH_JOB *j);
00130 AH_RESULT_LIST *AH_Job_GetMsgResults(const AH_JOB *j);
00131 
00139 int AH_Job_Process(AH_JOB *j);
00140 int AH_Job_Commit(AH_JOB *j);
00143 int AH_Job_Exchange(AH_JOB *j, AB_JOB *bj, AH_JOB_EXCHANGE_MODE m);
00144 
00145 
00151 int AH_Job_CommitSystemData(AH_JOB *j);
00152 
00153 
00159 int AH_Job_DefaultProcessHandler(AH_JOB *j);
00160 
00165 int AH_Job_DefaultCommitHandler(AH_JOB *j);
00174 void AH_Job_SetProcessFn(AH_JOB *j, AH_JOB_PROCESS_FN f);
00175 void AH_Job_SetCommitFn(AH_JOB *j, AH_JOB_COMMIT_FN f);
00176 void AH_Job_SetExchangeFn(AH_JOB *j, AH_JOB_EXCHANGE_FN f);
00177 void AH_Job_SetNextMsgFn(AH_JOB *j, AH_JOB_NEXTMSG_FN f);
00181 void AH_Job_Dump(const AH_JOB *j, FILE *f, unsigned int insert);
00182 
00183 const GWEN_STRINGLIST *AH_Job_GetLogs(const AH_JOB *j);
00184 
00185 
00186 #ifdef __cplusplus
00187 }
00188 #endif
00189 
00190 
00191 #endif /* AH_JOB_H */
00192 
00193 
00194 
00195 

Generated on Sat Jan 7 04:22:41 2006 for aqbanking by  doxygen 1.4.6