aqbanking 5.0.2

job.h

Go to the documentation of this file.
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