(Provider is simply another word for backend.)
Functions in this group MUST NEVER be used by applications or depending libraries ! They may only be called by AqBanking or a provider on its own.
Writing an online banking provider for AqBanking is easy. There are only a few callback functions which must be set by the provider (marked as Virtual Functions below).
The work of a provider is based on jobs (see AB_JOB (Online Banking Tasks)). AqBanking also works based on jobs. If the application wants to create a job AqBanking calls the function AB_Provider_UpdateJob. This function lets the provider prepare some parameters for the job given (e.g. the maximum number of purpose lines for transfer jobs etc). These limits are used by applications when preparing a job.
If the application is finished preparing the job it calls AB_Banking_EnqueueJob. After the application has enqueued all jobs it calls AB_Banking_ExecuteQueue. This function now sends all jobs to their respective providers using AB_Provider_AddJob. When all jobs for a given provider are added AqBanking calls AB_Provider_Execute on this provider. This functions really sends the jobs to the bank server or creates DTAUS discs or whatever the provider is supposed to do. After that AqBanking call AB_Provider_ResetQueue to make sure no job is left in the providers queue after execution.
Another base class used between AqBanking and providers is AB_ACCOUNT (Managing accounts). When executing AB_Banking_Init AqBanking calls AB_Provider_GetAccountList on every active provider. This makes sure that AqBanking always has an updated list of accounts. When loading account information AqBanking also calls the function AB_Provider_UpdateAccount on the appropriate provider to make sure that all accounts have updated information (such as account name, owner name etc).
|
Definition at line 102 of file provider_be.h. |
|
See AB_Provider_AddJob. Definition at line 76 of file provider_be.h. |
|
Definition at line 81 of file provider_be.h. |
|
This is the prototype for the provider factory function expected in provider plugins. Every provider plugin must have at least this function which returns a new provider object. This function must contain the name of the provider in all-lowercase letters. For AqHBCI this function is called "aqhbci_factory".
Definition at line 50 of file provider_be.h. |
|
See AB_Provider_Fini. Definition at line 66 of file provider_be.h. |
|
See AB_Provider_GetAccountList. Definition at line 92 of file provider_be.h. |
|
See AB_Provider_Init. Definition at line 61 of file provider_be.h. |
|
Definition at line 87 of file provider_be.h. |
|
See AB_Provider_UpdateAccount. Definition at line 97 of file provider_be.h. |
|
Definition at line 71 of file provider_be.h. |
|
This function is currently unused. It may later be used to add an account to the backend which has been prepared by an application.
|
|
Add the given job to the backend's internal queue. This is an immediate queue, it is not persistent. The queue is flushed by AB_PROVIDER_EXECUTE_FN. The added job is removed in any case after AB_PROVIDER_EXECUTE_FN has been called. This function should first check the job arguments (sanity checks etc). If this function returns an error the job MUST NOT be enqueued in the providers own queue. In this case the job will be marked "errornous". However, if the backend prepares the job well enough (via AB_PROVIDER_UPDATEJOB_FN) then the application should have made sure that the job complies to the rules laid out by the backend. So rejecting a job here should be a rare case with well-designed applications and backends.
|
|
Executes all jobs in the queue which have just been added via AB_PROVIDER_ADDJOB_FN. After calling this function all jobs are removed from the backend's queue in any case.
|
|
Allow the backend to deinitialize itself.
|
|
Returns a list of accounts managed by this backend. This is called by AqBanking directly after activating a backend (upon every AB_Banking_Init). AqBanking becomes the new owner of the list returned.
|
|
Returns the Banking object that this Provider belongs to. |
|
Store backend specific data with AqBanking. This data is not specific to an application, it will rather be used with every application (since it doesn't depend on the application but on the backend).
|
|
Returns the escaped name of the backend. This is needed when using the name of the backend to form a file path. |
|
|
|
Returns the name of the backend (e.g. "aqhbci"). |
|
This copies the name of the folder for AqBanking's backend data into the given GWEN_Buffer. This folder is reserved for this backend.
|
|
Allow the backend to initialize itself.
|
|
|
|
|
|
Resets the queue of the backend. After calling this function all jobs are removed from the backend's queue in any case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Gives the backend the opportunity to update account information (such as account name etc).
|
|
This function should check for the availability of the given job and prepare it for the next call to AB_PROVIDER_ADDJOB_FN. If the job is available with this backend it should also set the job parameters (such as the maximum number of purpose lines for transfer jobs etc). This function is called from the constructor AB_Job_new() in AqBanking. The value returned here is stored within the job in question and becomes available via AB_Job_CheckAvailability.
|