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

provider_be.h File Reference

This file is used by provider backends. More...

#include <aqbanking/provider.h>

Go to the source code of this file.

Prototypes For Virtual Functions

typedef int(* AB_PROVIDER_INIT_FN )(AB_PROVIDER *pro, GWEN_DB_NODE *dbData)
typedef int(* AB_PROVIDER_FINI_FN )(AB_PROVIDER *pro, GWEN_DB_NODE *dbData)
typedef int(* AB_PROVIDER_UPDATEJOB_FN )(AB_PROVIDER *pro, AB_JOB *j)
typedef int(* AB_PROVIDER_ADDJOB_FN )(AB_PROVIDER *pro, AB_JOB *j)
typedef int(* AB_PROVIDER_EXECUTE_FN )(AB_PROVIDER *pro)
typedef int(* AB_PROVIDER_RESETQUEUE_FN )(AB_PROVIDER *pro)
typedef AB_ACCOUNT_LIST2 *(* AB_PROVIDER_GETACCOUNTLIST_FN )(AB_PROVIDER *pro)
typedef int(* AB_PROVIDER_UPDATEACCOUNT_FN )(AB_PROVIDER *pro, AB_ACCOUNT *a)
typedef int(* AB_PROVIDER_ADDACCOUNT_FN )(AB_PROVIDER *pro, AB_ACCOUNT *a)

Virtual Functions

int AB_Provider_Init (AB_PROVIDER *pro)
int AB_Provider_Fini (AB_PROVIDER *pro)
int AB_Provider_UpdateJob (AB_PROVIDER *pro, AB_JOB *j)
int AB_Provider_AddJob (AB_PROVIDER *pro, AB_JOB *j)
int AB_Provider_Execute (AB_PROVIDER *pro)
int AB_Provider_ResetQueue (AB_PROVIDER *pro)
AB_ACCOUNT_LIST2AB_Provider_GetAccountList (AB_PROVIDER *pro)
int AB_Provider_UpdateAccount (AB_PROVIDER *pro, AB_ACCOUNT *a)
int AB_Provider_AddAccount (AB_PROVIDER *pro, AB_ACCOUNT *a)

Setters For Virtual Functions

void AB_Provider_SetInitFn (AB_PROVIDER *pro, AB_PROVIDER_INIT_FN f)
void AB_Provider_SetFiniFn (AB_PROVIDER *pro, AB_PROVIDER_FINI_FN f)
void AB_Provider_SetUpdateJobFn (AB_PROVIDER *pro, AB_PROVIDER_UPDATEJOB_FN f)
void AB_Provider_SetAddJobFn (AB_PROVIDER *pro, AB_PROVIDER_ADDJOB_FN f)
void AB_Provider_SetExecuteFn (AB_PROVIDER *pro, AB_PROVIDER_EXECUTE_FN f)
void AB_Provider_SetResetQueueFn (AB_PROVIDER *pro, AB_PROVIDER_RESETQUEUE_FN f)
void AB_Provider_SetGetAccountListFn (AB_PROVIDER *pro, AB_PROVIDER_GETACCOUNTLIST_FN f)
void AB_Provider_SetUpdateAccountFn (AB_PROVIDER *pro, AB_PROVIDER_UPDATEACCOUNT_FN f)
void AB_Provider_SetAddAccountFn (AB_PROVIDER *pro, AB_PROVIDER_ADDACCOUNT_FN f)

Typedefs

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

Functions

AB_PROVIDERAB_Provider_new (AB_BANKING *ab, const char *name)
int AB_Provider_IsInit (const AB_PROVIDER *pro)


Detailed Description

This file is used by provider backends.

Definition in file provider_be.h.


Typedef Documentation

typedef int(* AB_PROVIDER_ADDACCOUNT_FN)(AB_PROVIDER *pro, AB_ACCOUNT *a)
 

See AB_Provider_AddAccount.

Definition at line 102 of file provider_be.h.

typedef int(* AB_PROVIDER_ADDJOB_FN)(AB_PROVIDER *pro, AB_JOB *j)
 

See AB_Provider_AddJob.

Definition at line 76 of file provider_be.h.

typedef int(* AB_PROVIDER_EXECUTE_FN)(AB_PROVIDER *pro)
 

See AB_Provider_Execute

Definition at line 81 of file provider_be.h.

typedef int(* AB_PROVIDER_FINI_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData)
 

See AB_Provider_Fini.

Definition at line 66 of file provider_be.h.

typedef AB_ACCOUNT_LIST2*(* AB_PROVIDER_GETACCOUNTLIST_FN)(AB_PROVIDER *pro)
 

See AB_Provider_GetAccountList.

Definition at line 92 of file provider_be.h.

typedef int(* AB_PROVIDER_INIT_FN)(AB_PROVIDER *pro, GWEN_DB_NODE *dbData)
 

See AB_Provider_Init.

Definition at line 61 of file provider_be.h.

typedef int(* AB_PROVIDER_RESETQUEUE_FN)(AB_PROVIDER *pro)
 

See AB_Provider_ResetQueue.

Definition at line 87 of file provider_be.h.

typedef int(* AB_PROVIDER_UPDATEACCOUNT_FN)(AB_PROVIDER *pro, AB_ACCOUNT *a)
 

See AB_Provider_UpdateAccount.

Definition at line 97 of file provider_be.h.

typedef int(* AB_PROVIDER_UPDATEJOB_FN)(AB_PROVIDER *pro, AB_JOB *j)
 

See AB_Provider_UpdateJob

Definition at line 71 of file provider_be.h.


Function Documentation

int AB_Provider_AddAccount AB_PROVIDER pro,
AB_ACCOUNT a
 

This function is currently unused. It may later be used to add an account to the backend which has been prepared by an application.

Parameters:
pro backend object
a account to be added (AqBanking still remains its owner)

int AB_Provider_AddJob AB_PROVIDER pro,
AB_JOB j
 

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.

Parameters:
pro backend object

int AB_Provider_Execute AB_PROVIDER pro  ) 
 

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.

Parameters:
pro backend object

int AB_Provider_Fini AB_PROVIDER pro  ) 
 

Allow the backend to deinitialize itself.

Parameters:
pro backend 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.

AB_ACCOUNT_LIST2* AB_Provider_GetAccountList AB_PROVIDER pro  ) 
 

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.

Parameters:
pro backend object

int AB_Provider_Init AB_PROVIDER pro  ) 
 

Allow the backend to initialize itself.

Parameters:
pro backend 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.

int AB_Provider_IsInit const AB_PROVIDER pro  ) 
 

AB_PROVIDER* AB_Provider_new AB_BANKING ab,
const char *  name
 

int AB_Provider_ResetQueue AB_PROVIDER pro  ) 
 

Resets the queue of the backend. After calling this function all jobs are removed from the backend's queue in any case.

Parameters:
pro backend object

void AB_Provider_SetAddAccountFn AB_PROVIDER pro,
AB_PROVIDER_ADDACCOUNT_FN  f
 

void AB_Provider_SetAddJobFn AB_PROVIDER pro,
AB_PROVIDER_ADDJOB_FN  f
 

void AB_Provider_SetExecuteFn AB_PROVIDER pro,
AB_PROVIDER_EXECUTE_FN  f
 

void AB_Provider_SetFiniFn AB_PROVIDER pro,
AB_PROVIDER_FINI_FN  f
 

void AB_Provider_SetGetAccountListFn AB_PROVIDER pro,
AB_PROVIDER_GETACCOUNTLIST_FN  f
 

void AB_Provider_SetInitFn AB_PROVIDER pro,
AB_PROVIDER_INIT_FN  f
 

void AB_Provider_SetResetQueueFn AB_PROVIDER pro,
AB_PROVIDER_RESETQUEUE_FN  f
 

void AB_Provider_SetUpdateAccountFn AB_PROVIDER pro,
AB_PROVIDER_UPDATEACCOUNT_FN  f
 

void AB_Provider_SetUpdateJobFn AB_PROVIDER pro,
AB_PROVIDER_UPDATEJOB_FN  f
 

int AB_Provider_UpdateAccount AB_PROVIDER pro,
AB_ACCOUNT a
 

Gives the backend the opportunity to update account information (such as account name etc).

Parameters:
pro backend object
a account to be updated (AqBanking still remains its owner)

int AB_Provider_UpdateJob AB_PROVIDER pro,
AB_JOB j
 

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.

Parameters:
pro backend object


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