Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

HBCI::Bank Class Reference

The abstract base class for a bank in HBCI. More...

#include <bank.h>

List of all members.

Public Methods

 Bank ()
virtual ~Bank ()
virtual const Hbcihbci () const=0
Bank Identification
virtual int countryCode () const=0
virtual void setCountryCode (int i)=0
virtual const string & bankCode () const=0
virtual void setBankCode (const string &s)=0
Bank Information
virtual const string & name () const=0
virtual const list< instituteMessage > & messages () const=0
virtual void deleteInstituteMessage (const instituteMessage &msg)=0
Object retrieval
virtual const list< Pointer<
Account > > & 
accounts () const=0
virtual const list< Pointer<
User > > & 
users () const=0
virtual Pointer< UserfindUser (const string &userid) const=0
virtual Pointer< CustomerfindCustomer (const string &id) const=0
virtual Pointer< AccountfindAccount (const string &nr, const string &subid="") const=0
Manage Objects
virtual void addAccount (Pointer< Account > a)=0
virtual void removeAccount (Pointer< Account > a)=0
virtual void addUser (Pointer< User > c)=0
virtual void removeUser (Pointer< User > c)=0
Communication Parameters
virtual const string & addr () const=0
virtual void setAddr (const string &s)=0
virtual int type () const=0
virtual void setType (int i)=0
virtual const string & suffix () const=0
virtual void setSuffix (const string &s)=0
Dialog Language
virtual int language () const=0
virtual void setLanguage (int l)=0
virtual const list< int > & languages () const=0
HBCI Version
virtual int hbciVersion () const=0
virtual void setHbciVersion (int v)=0
virtual int bpdVersion () const=0
virtual void setBPDVersion (int i)=0
virtual list< int > supportedVersions () const=0
virtual const bpdJobfindJob (const string &segname, int minv=0, int maxv=9999) const=0


Detailed Description

The abstract base class for a bank in HBCI.

This is the abstract base class for a bank in HBCI. A bank is uniquely identified by its bank code ("BLZ") and country code. For the network connection this bank has a connection address (IP address). The real-world name of the bank is usually retrieved automatically upon our first connection to the bank.

Each bank object maintains a list of its users (which in turn have a list of customers) as well as a list of its accounts. There is also a list of institute messages which this bank has sent to us. Additionally, the bank might support several HBCI versions and/or dialog languages.

You can't create an object of this class directly; instead, use the factory method provided by API::bankFactory. Internally another class is used as implementation of this abstract class.

Author:
Martin Preuss<martin@libchipcard.de>


Constructor & Destructor Documentation

HBCI::Bank::Bank  
 

virtual HBCI::Bank::~Bank   [virtual]
 


Member Function Documentation

virtual const list<Pointer<Account> >& HBCI::Bank::accounts   const [pure virtual]
 

Returns the list of accounts at this bank.

Author:
Martin Preuss <martin@libchipcard.de>

virtual void HBCI::Bank::addAccount Pointer< Account   a [pure virtual]
 

Add an account to the account list of this bank.

Ideally, you wouldn't need this as the bank is supposed to send you a list of all accounts valid for your user ID. However, some banks simply don't do that, so that's why this method is here. If there already is an entry for the same account a Error will be thrown.

Author:
Martin Preuss <martin@libchipcard.de>

virtual const string& HBCI::Bank::addr   const [pure virtual]
 

Returns the communication address.

Depends on type of protocol stack: If T-Online, addr is the address of the Gateway as a number. If TCP/IP, addr is the IP address of the HBCI server in dotted notation, e.g. "123.123.123.123".

virtual void HBCI::Bank::addUser Pointer< User   c [pure virtual]
 

Adds a customer to the list of customers of this bank.

If there already is an entry for this customer a Error will be thrown.

Author:
Martin Preuss <martin@libchipcard.de>

virtual const string& HBCI::Bank::bankCode   const [pure virtual]
 

Returns the bank code of this bank.

("Bankleitzahl", BLZ)

virtual int HBCI::Bank::bpdVersion   const [pure virtual]
 

Return the version of the "Bank Parameter Daten" (BPD).

The BPD contains information about the institute, such as address of the server, country code, bank code etc. If these data change on the server side then the server will increment this number. Upon next dialog initialisation this library checks the versions and receives the new BPD if necessary.

virtual int HBCI::Bank::countryCode   const [pure virtual]
 

Returns the ISO-3166 countrycode of this bank.

In HBCI, "280" is still used for Germany according to the HBCI specs -- even though in the year 1990 the code was changed from 280 to 276 in ISO-3166.

virtual void HBCI::Bank::deleteInstituteMessage const instituteMessage   msg [pure virtual]
 

Remove a given institute message

virtual Pointer<Account> HBCI::Bank::findAccount const string &    nr,
const string &    subid = ""
const [pure virtual]
 

Searches for an account in the banks internal list.

No wildcards or jokers allowed.

Parameters:
nr  account number to match
subid  account subid (may be omitted)
Author:
Martin Preuss <martin@libchipcard.de>

virtual Pointer<Customer> HBCI::Bank::findCustomer const string &    id const [pure virtual]
 

Searches for a customer in the bank's internal list of users.

No wildcards or jokers allowed.

Parameters:
id  customer id to look for
Author:
Martin Preuss <martin@libchipcard.de>

virtual const bpdJob* HBCI::Bank::findJob const string &    segname,
int    minv = 0,
int    maxv = 9999
const [pure virtual]
 

Searches for bank parameter data about a HBCI job which matches the given criteria.

Parameters:
segname  The segment name of the HBCI job (e.g. HKSAL...)
minv  The minimum segment version to look for
maxv  The maximum segment version to look for

virtual Pointer<User> HBCI::Bank::findUser const string &    userid const [pure virtual]
 

Searches for a user in the bank's internal list.

No wildcards or jokers allowed.

Parameters:
userid  userid to look for
Author:
Martin Preuss <martin@libchipcard.de>

virtual const Hbci* HBCI::Bank::hbci   const [pure virtual]
 

Returns the central HBCI object that controls the user interaction and version control.

virtual int HBCI::Bank::hbciVersion   const [pure virtual]
 

Returns the HBCI protocol version used with this bank.

This HBCI version number is one out of the list<int> returned by supportedVersions(). This has been set by setHbciVersion, or, if it hasn't been set, it is some default value.

virtual int HBCI::Bank::language   const [pure virtual]
 

Returns the language that is currently used in the dialog with this bank.

Either this was set by setLanguage() or this is the bank's default language.

virtual const list<int>& HBCI::Bank::languages   const [pure virtual]
 

Returns a list of languages supported by this bank.

virtual const list<instituteMessage>& HBCI::Bank::messages   const [pure virtual]
 

Returns a list of all institute messages that we received from the bank so far.

This is a text message like an email. Your bank might send such a message containing usefull information concerning you account. They even might contain advertisements. That only depends on your bank.

Author:
Martin Preuss <martin@libchipcard.de>

virtual const string& HBCI::Bank::name   const [pure virtual]
 

Returns the name of this Bank.

This name is the one that the bank sends back upon initally connecting.

virtual void HBCI::Bank::removeAccount Pointer< Account   a [pure virtual]
 

Removes an account from the internal list.

FIXME: This method may not totally clean up all references to that account. This still has to be implemented one day.

The object is not destroyed (since Pointers have automatic reference-counting). After this method call, the object is in the same state as one returned by HBCIAPI::accountFactory(). I.e. since it doesn't belong to any internal lists it is not allowed to be used in subsequent calls to HBCIAPI etc.

Author:
Martin Preuss <martin@libchipcard.de>

virtual void HBCI::Bank::removeUser Pointer< User   c [pure virtual]
 

Removes a customer from the internal list.

FIXME: This method may not totally clean up all references to that customer. This still has to be implemented one day.

The object is not destroyed (since Pointers have automatic reference-counting). After this method call, the object is in the same state as one returned by HBCIAPI::customerFactory(). I.e. since it doesn't belong to any internal lists it is not allowed to be used in subsequent calls to HBCIAPI etc.

Author:
Martin Preuss <martin@libchipcard.de>

virtual void HBCI::Bank::setAddr const string &    s [pure virtual]
 

Set the communication address.

Depends on type of protocol stack: For TCP/IP, addr is the IP address of the HBCI server in dotted notation, e.g. "123.123.123.123".

virtual void HBCI::Bank::setBankCode const string &    s [pure virtual]
 

Set the bank code of this bank.

("Bankleitzahl", BLZ)

virtual void HBCI::Bank::setBPDVersion int    i [pure virtual]
 

Set the version of the "Bank Parameter Daten" (BPD).

Set it to "0" if you change the Bank's HBCI-Version because you need the up-to-date-BPD. They are automatically returned if BPD-Version=0 in the Init-Dialog.

virtual void HBCI::Bank::setCountryCode int    i [pure virtual]
 

Set the ISO-3166 countrycode of this bank.

(In HBCI: 280 for Germany)

virtual void HBCI::Bank::setHbciVersion int    v [pure virtual]
 

Set the HBCI protocol version to be used with this bank.

virtual void HBCI::Bank::setLanguage int    l [pure virtual]
 

Set the language that should be used in the dialog with this bank.

virtual void HBCI::Bank::setSuffix const string &    s [pure virtual]
 

Set the suffix of the communication address. For TCP/IP, this is ignored.

virtual void HBCI::Bank::setType int    i [pure virtual]
 

Set the type of protocolstack for this bank: 1 == T-Online (ETSI 300 072); 2 == TCP/IP

virtual const string& HBCI::Bank::suffix   const [pure virtual]
 

Returns the suffix of the communication address. Depends on type of protocol stack: If T-Online, suffix is the region code of the service. If TCP/IP, this is ignored.

virtual list<int> HBCI::Bank::supportedVersions   const [pure virtual]
 

Returns a list of HBCI protocol versions that this bank supports.

virtual int HBCI::Bank::type   const [pure virtual]
 

Returns the supported type of protocolstack: 1 == T-Online (ETSI 300 072); 2 == TCP/IP

virtual const list<Pointer<User> >& HBCI::Bank::users   const [pure virtual]
 

Returns the list of users of this bank.

Author:
Martin Preuss <martin@libchipcard.de>


The documentation for this class was generated from the following file:
Generated on Mon Jun 23 13:41:09 2003 for openhbci by doxygen1.2.17