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
00103
00104 typedef struct AB_JOB AB_JOB;
00105
00106 GWEN_LIST2_FUNCTION_LIB_DEFS(AB_JOB, AB_Job, AQBANKING_API)
00107
00108
00109 AQBANKING_API
00110 void AB_Job_List2_FreeAll(AB_JOB_LIST2 *jl);
00111
00112
00114 typedef enum {
00116 AB_Job_StatusNew=0,
00118 AB_Job_StatusUpdated,
00122 AB_Job_StatusEnqueued,
00124 AB_Job_StatusSent,
00131 AB_Job_StatusPending,
00135 AB_Job_StatusFinished,
00140 AB_Job_StatusError,
00142 AB_Job_StatusUnknown=999
00143 } AB_JOB_STATUS;
00144
00145
00147 typedef enum {
00149 AB_Job_TypeUnknown=0,
00151 AB_Job_TypeGetBalance,
00153 AB_Job_TypeGetTransactions,
00155 AB_Job_TypeTransfer,
00157 AB_Job_TypeDebitNote,
00159 AB_Job_TypeEuTransfer,
00161 AB_Job_TypeGetStandingOrders,
00163 AB_Job_TypeGetDatedTransfers,
00165 AB_Job_TypeCreateStandingOrder,
00167 AB_Job_TypeModifyStandingOrder,
00169 AB_Job_TypeDeleteStandingOrder,
00171 AB_Job_TypeCreateDatedTransfer,
00173 AB_Job_TypeModifyDatedTransfer,
00175 AB_Job_TypeDeleteDatedTransfer,
00176
00177 AB_Job_TypeInternalTransfer,
00179 AB_Job_TypeLoadCellPhone
00180 } AB_JOB_TYPE;
00181
00182
00183
00184 #ifdef __cplusplus
00185 }
00186 #endif
00187
00188
00189 #include <aqbanking/account.h>
00190
00191
00192 #ifdef __cplusplus
00193 extern "C" {
00194 #endif
00195
00203 AQBANKING_API
00204 void AB_Job_free(AB_JOB *j);
00205 AQBANKING_API
00206 void AB_Job_Attach(AB_JOB *j);
00214
00220 AQBANKING_API
00221 uint32_t AB_Job_GetJobId(const AB_JOB *j);
00222
00226 AQBANKING_API
00227 const char *AB_Job_GetCreatedBy(const AB_JOB *j);
00228
00229
00236 AQBANKING_API
00237 GWEN_DB_NODE *AB_Job_GetAppData(AB_JOB *j);
00238
00239
00246 AQBANKING_API
00247 int AB_Job_CheckAvailability(AB_JOB *j, uint32_t guiid);
00248
00252 AQBANKING_API
00253 AB_JOB_STATUS AB_Job_GetStatus(const AB_JOB *j);
00254
00258 AQBANKING_API
00259 const GWEN_TIME *AB_Job_GetLastStatusChange(const AB_JOB *j);
00260
00264 AQBANKING_API
00265 AB_JOB_TYPE AB_Job_GetType(const AB_JOB *j);
00266
00270 AQBANKING_API
00271 AB_ACCOUNT *AB_Job_GetAccount(const AB_JOB *j);
00272
00278 AQBANKING_API
00279 const char *AB_Job_GetResultText(const AB_JOB *j);
00280
00281 AQBANKING_API
00282 const char *AB_Job_GetUsedTan(const AB_JOB *j);
00290
00294 AQBANKING_API
00295 const char *AB_Job_Status2Char(AB_JOB_STATUS i);
00296
00300 AQBANKING_API
00301 AB_JOB_STATUS AB_Job_Char2Status(const char *s);
00302
00306 AQBANKING_API
00307 const char *AB_Job_Type2Char(AB_JOB_TYPE i);
00308
00312 AQBANKING_API
00313 AB_JOB_TYPE AB_Job_Char2Type(const char *s);
00314
00319 AQBANKING_API
00320 const char *AB_Job_Type2LocalChar(AB_JOB_TYPE i);
00321
00322 AQBANKING_API
00323 GWEN_TIME *AB_Job_DateFromDb(GWEN_DB_NODE *db, const char *name);
00324
00325 AQBANKING_API
00326 void AB_Job_DateOnlyToDb(const GWEN_TIME *ti,
00327 GWEN_DB_NODE *db,
00328 const char *name);
00329
00330 AQBANKING_API
00331 GWEN_TIME *AB_Job_DateOnlyFromDb(GWEN_DB_NODE *db, const char *name);
00332
00333 AQBANKING_API
00334 void AB_Job_DateToDb(const GWEN_TIME *ti, GWEN_DB_NODE *db, const char *name);
00335
00336
00349 AQBANKING_API
00350 void AB_Job_Log(AB_JOB *j,
00351 GWEN_LOGGER_LEVEL ll,
00352 const char *who,
00353 const char *txt);
00354
00361 AQBANKING_API
00362 GWEN_STRINGLIST *AB_Job_GetLogs(const AB_JOB *j);
00363
00367
00368
00369
00370 #ifdef __cplusplus
00371 }
00372 #endif
00373
00374
00375 #endif
00376
00377
00378
00379