00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
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>
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
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, uint32_t guiid);
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
00382
00383
00384 #ifdef __cplusplus
00385 }
00386 #endif
00387
00388
00389 #endif
00390
00391
00392
00393