aqbanking 5.0.14
|
00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id$ 00005 begin : Mon Mar 01 2004 00006 copyright : (C) 2004 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * This file is part of the project "AqBanking". * 00011 * Please see toplevel file COPYING of that project for license details. * 00012 ***************************************************************************/ 00013 00014 00015 #ifndef AQBANKING_JOB_H 00016 #define AQBANKING_JOB_H 00017 00018 #include <gwenhywfar/list2.h> 00019 #include <gwenhywfar/gwentime.h> 00020 #include <gwenhywfar/logger.h> 00021 #include <aqbanking/error.h> /* for AQBANKING_API */ 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00105 00106 typedef struct AB_JOB AB_JOB; 00107 00108 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_JOB, AB_Job, AQBANKING_API) 00109 00110 00111 AQBANKING_API 00112 void AB_Job_List2_FreeAll(AB_JOB_LIST2 *jl); 00113 00116 AQBANKING_API 00117 void AB_Job_List2_ClearAll(AB_JOB_LIST2 *jl); 00118 00120 typedef enum { 00122 AB_Job_StatusNew=0, 00124 AB_Job_StatusUpdated, 00128 AB_Job_StatusEnqueued, 00130 AB_Job_StatusSent, 00137 AB_Job_StatusPending, 00141 AB_Job_StatusFinished, 00146 AB_Job_StatusError, 00148 AB_Job_StatusUnknown=999 00149 } AB_JOB_STATUS; 00150 00151 00153 typedef enum { 00155 AB_Job_TypeUnknown=0, 00157 AB_Job_TypeGetBalance, 00159 AB_Job_TypeGetTransactions, 00161 AB_Job_TypeTransfer, 00163 AB_Job_TypeDebitNote, 00165 AB_Job_TypeEuTransfer, 00167 AB_Job_TypeGetStandingOrders, 00169 AB_Job_TypeGetDatedTransfers, 00171 AB_Job_TypeCreateStandingOrder, 00173 AB_Job_TypeModifyStandingOrder, 00175 AB_Job_TypeDeleteStandingOrder, 00177 AB_Job_TypeCreateDatedTransfer, 00179 AB_Job_TypeModifyDatedTransfer, 00181 AB_Job_TypeDeleteDatedTransfer, 00182 /* internal transfer between two accounts at the same bank */ 00183 AB_Job_TypeInternalTransfer, 00185 AB_Job_TypeLoadCellPhone, 00187 AB_Job_TypeSepaTransfer, 00189 AB_Job_TypeSepaDebitNote 00190 } AB_JOB_TYPE; 00191 00192 00193 00194 #ifdef __cplusplus 00195 } 00196 #endif 00197 00198 00199 #include <aqbanking/account.h> 00200 00201 00202 #ifdef __cplusplus 00203 extern "C" { 00204 #endif 00205 00213 AQBANKING_API 00214 void AB_Job_free(AB_JOB *j); 00215 AQBANKING_API 00216 void AB_Job_Attach(AB_JOB *j); 00224 00230 AQBANKING_API 00231 uint32_t AB_Job_GetJobId(const AB_JOB *j); 00232 00236 AQBANKING_API 00237 const char *AB_Job_GetCreatedBy(const AB_JOB *j); 00238 00239 00246 AQBANKING_API 00247 GWEN_DB_NODE *AB_Job_GetAppData(AB_JOB *j); 00248 00249 00256 AQBANKING_API 00257 int AB_Job_CheckAvailability(AB_JOB *j); 00258 00262 AQBANKING_API 00263 AB_JOB_STATUS AB_Job_GetStatus(const AB_JOB *j); 00264 00265 00266 AQBANKING_API 00267 void AB_Job_SetStatus(AB_JOB *j, AB_JOB_STATUS st); 00268 00272 AQBANKING_API 00273 const GWEN_TIME *AB_Job_GetLastStatusChange(const AB_JOB *j); 00274 00278 AQBANKING_API 00279 AB_JOB_TYPE AB_Job_GetType(const AB_JOB *j); 00280 00284 AQBANKING_API 00285 AB_ACCOUNT *AB_Job_GetAccount(const AB_JOB *j); 00286 00292 AQBANKING_API 00293 const char *AB_Job_GetResultText(const AB_JOB *j); 00294 00295 AQBANKING_API 00296 const char *AB_Job_GetUsedTan(const AB_JOB *j); 00304 00308 AQBANKING_API 00309 const char *AB_Job_Status2Char(AB_JOB_STATUS i); 00310 00314 AQBANKING_API 00315 AB_JOB_STATUS AB_Job_Char2Status(const char *s); 00316 00320 AQBANKING_API 00321 const char *AB_Job_Type2Char(AB_JOB_TYPE i); 00322 00326 AQBANKING_API 00327 AB_JOB_TYPE AB_Job_Char2Type(const char *s); 00328 00333 AQBANKING_API 00334 const char *AB_Job_Type2LocalChar(AB_JOB_TYPE i); 00335 00336 AQBANKING_API 00337 GWEN_TIME *AB_Job_DateFromDb(GWEN_DB_NODE *db, const char *name); 00338 00339 AQBANKING_API 00340 void AB_Job_DateOnlyToDb(const GWEN_TIME *ti, 00341 GWEN_DB_NODE *db, 00342 const char *name); 00343 00344 AQBANKING_API 00345 GWEN_TIME *AB_Job_DateOnlyFromDb(GWEN_DB_NODE *db, const char *name); 00346 00347 AQBANKING_API 00348 void AB_Job_DateToDb(const GWEN_TIME *ti, GWEN_DB_NODE *db, const char *name); 00349 00350 00363 AQBANKING_API 00364 void AB_Job_Log(AB_JOB *j, 00365 GWEN_LOGGER_LEVEL ll, 00366 const char *who, 00367 const char *txt); 00368 00375 AQBANKING_API 00376 GWEN_STRINGLIST *AB_Job_GetLogs(const AB_JOB *j); 00377 00381 /* defgroup */ 00382 00383 00384 #ifdef __cplusplus 00385 } 00386 #endif 00387 00388 00389 #endif /* AQBANKING_JOB_H */ 00390 00391 00392 00393