Main Page | Modules | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

AB_PROVIDER (Online Banking Backends)

This group represents backends. (Don't use in applications). More...

Typedefs

typedef AB_PROVIDER *(* AB_PROVIDER_FACTORY_FN )(AB_BANKING *ab, GWEN_DB_NODE *db)

Functions

const char * AB_Provider_GetName (const AB_PROVIDER *pro)
const char * AB_Provider_GetEscapedName (const AB_PROVIDER *pro)
AB_BANKINGAB_Provider_GetBanking (const AB_PROVIDER *pro)
GWEN_TYPE_UINT32 AB_Provider_GetFlags (const AB_PROVIDER *pro)
int AB_Provider_GetUserDataDir (const AB_PROVIDER *pro, GWEN_BUFFER *buf)
GWEN_DB_NODE * AB_Provider_GetData (AB_PROVIDER *pro)

Detailed Description

This group represents backends. (Don't use in applications).

(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).


Typedef Documentation

typedef AB_PROVIDER*(* AB_PROVIDER_FACTORY_FN)(AB_BANKING *ab, GWEN_DB_NODE *db)
 

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".

Parameters:
ab AqBanking main object
dbData GWEN_DB group for the data of the backend (as returned by AB_Provider_GetData). This group MUST NOT be freed or unlinked, it is a group inside AqBankings config database.

Definition at line 50 of file provider_be.h.


Function Documentation

AB_BANKING* AB_Provider_GetBanking const AB_PROVIDER pro  ) 
 

Returns the Banking object that this Provider belongs to.

GWEN_DB_NODE* AB_Provider_GetData AB_PROVIDER pro  ) 
 

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).

Parameters:
pro pointer to the backend for which the data is to be returned

const char* AB_Provider_GetEscapedName const AB_PROVIDER pro  ) 
 

Returns the escaped name of the backend. This is needed when using the name of the backend to form a file path.

GWEN_TYPE_UINT32 AB_Provider_GetFlags const AB_PROVIDER pro  ) 
 

const char* AB_Provider_GetName const AB_PROVIDER pro  ) 
 

Returns the name of the backend (e.g. "aqhbci").

int AB_Provider_GetUserDataDir const AB_PROVIDER pro,
GWEN_BUFFER *  buf
 

This copies the name of the folder for AqBanking's backend data into the given GWEN_Buffer. This folder is reserved for this backend.

Returns:
0 if ok, error code otherwise (see (Error Codes))
Parameters:
pro pointer to the provider object
buf buffer to append the path name to


Generated on Thu Oct 6 14:49:10 2005 for aqbanking by  doxygen 1.4.4