banking_ob.h File Reference

#include <aqbanking/provider.h>
#include <aqbanking/user.h>
#include <aqbanking/job.h>

Go to the source code of this file.

User Management Functions

AqBanking controls a list of users. You can ask it for the full list (AB_Banking_GetUsers) or directly request a specific account (AB_Banking_GetUser). AB_USERs contain all information needed to identify a user to the bank's server.

AB_USER_LIST2AB_Banking_GetUsers (const AB_BANKING *ab)
AB_USERAB_Banking_GetUser (const AB_BANKING *ab, GWEN_TYPE_UINT32 uniqueId)
AB_USERAB_Banking_FindUser (const AB_BANKING *ab, const char *backendName, const char *country, const char *bankId, const char *userId, const char *customerId)
AB_USER_LIST2AB_Banking_FindUsers (const AB_BANKING *ab, const char *backendName, const char *country, const char *bankId, const char *userId, const char *customerId)
AB_USERAB_Banking_CreateUser (AB_BANKING *ab, const char *backendName)
int AB_Banking_AddUser (AB_BANKING *ab, AB_USER *u)

Account Management Functions

AqBanking controls a list of accounts. You can ask it for the full list (AB_Banking_GetAccounts) or directly request a specific account (AB_Banking_GetAccount).

AB_ACCOUNT_LIST2AB_Banking_GetAccounts (const AB_BANKING *ab)
AB_ACCOUNTAB_Banking_GetAccount (const AB_BANKING *ab, GWEN_TYPE_UINT32 uniqueId)
AB_ACCOUNTAB_Banking_GetAccountByCodeAndNumber (const AB_BANKING *ab, const char *bankCode, const char *accountId)
AB_ACCOUNTAB_Banking_FindAccount (const AB_BANKING *ab, const char *backendName, const char *country, const char *bankId, const char *accountId)
AB_ACCOUNT_LIST2AB_Banking_FindAccounts (const AB_BANKING *ab, const char *backendName, const char *country, const char *bankId, const char *accountId)
AB_ACCOUNTAB_Banking_CreateAccount (AB_BANKING *ab, const char *backendName)
int AB_Banking_AddAccount (AB_BANKING *ab, AB_ACCOUNT *a)

Enqueueing, Dequeueing and Executing Jobs

AqBanking has several job lists:
  • enqueued jobs
  • finished jobs
  • pending jobs
  • archived jobs

Enqued jobs are different from all the other jobs, because AqBanking holds a unique list of those enqueued jobs.

For example if you ask AqBanking for a list of finished jobs it reads the folder which contains those jobs and loads them one by one. This means if you call AB_Banking_GetFinishedJobs multiple times you get multiple representations of the finished jobs. You should have this in mind when manipulating those jobs/job lists returned.

Enqueued jobs however have only one representation, i.e. if you call AB_Banking_GetEnqueuedJobs multiple times you will always get a list which contains pointers to the very same enqueued jobs.

However, if you enqueue a job, execute the queue and later call AB_Banking_GetFinishedJobs you will again have multiple representations of the jobs you once had in the enqueued list, because AB_Banking_GetFinishedJobs always creates a new representation of a job.

Enqueued jobs are preserved across shutdowns. As soon as a job has been sent to the appropriate backend it will be removed from the queue.

int AB_Banking_EnqueueJob (AB_BANKING *ab, AB_JOB *j)
int AB_Banking_DequeueJob (AB_BANKING *ab, AB_JOB *j)
int AB_Banking_EnqueuePendingJobs (AB_BANKING *ab, int mineOnly)
AQBANKING_DEPRECATED int AB_Banking_ExecuteQueue (AB_BANKING *ab)
int AB_Banking_ExecuteQueueWithCtx (AB_BANKING *ab, AB_IMEXPORTER_CONTEXT *ctx)
AQBANKING_DEPRECATED int AB_Banking_ExecuteJobList (AB_BANKING *ab, AB_JOB_LIST2 *jl2)
int AB_Banking_ExecuteJobListWithCtx (AB_BANKING *ab, AB_JOB_LIST2 *jl2, AB_IMEXPORTER_CONTEXT *ctx)
AB_JOB_LIST2AB_Banking_GetEnqueuedJobs (const AB_BANKING *ab)

Handling Finished Jobs

Finished jobs are those which have been handled by AB_Banking_ExecuteQueue.

Those jobs are saved into their particular folder directly after the queue has been executed. There is only one function you can call for those jobs: AB_Banking_DelFinishedJob.

Applications might use this group to check for the results of jobs formerly marked as pending and to apply these results to the corresponding accounts.

AB_JOB_LIST2AB_Banking_GetFinishedJobs (AB_BANKING *ab)
int AB_Banking_DelFinishedJob (AB_BANKING *ab, AB_JOB *j)

Handling Pending Jobs

Pending jobs are those which have been handled by AB_Banking_ExecuteQueue but which did not yet return a result (like transfer jobs with some backends, which might be accepted by the bank but which are not immediately executed).

Those jobs are saved into their particular folder directly after the queue has been executed. You may requeue those jobs later (using AB_Banking_EnqueueJob) to allow the corresponding backend to check whether there is a result available for a pending job. If that's the case the job will be moved from the pending folder to the finished folder (accessible via AB_Banking_GetFinishedJobs).

AB_JOB_LIST2AB_Banking_GetPendingJobs (AB_BANKING *ab)
int AB_Banking_DelPendingJob (AB_BANKING *ab, AB_JOB *j)

Handling Archived Jobs

Archived jobs are those which have been handled by AB_Banking_ExecuteQueue and then later deleted from the list of finished jobs via any AB_Banking_Del(-XYZ-)Job function except AB_Banking_DelArchivedJob

AB_JOB_LIST2AB_Banking_GetArchivedJobs (AB_BANKING *ab)
int AB_Banking_DelArchivedJob (AB_BANKING *ab, AB_JOB *j)


Generated on Tue Apr 10 19:04:09 2007 for aqbanking by  doxygen 1.4.7