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

hbci.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           hbci.h  -  description
00003                              -------------------
00004     begin                : Sun Nov 18 2001
00005     copyright            : (C) 2001 by Martin Preuss
00006     email                : openhbci@aquamaniac.de
00007 
00008  ***************************************************************************
00009  *                                                                         *
00010  *   This library is free software; you can redistribute it and/or         *
00011  *   modify it under the terms of the GNU Lesser General Public            *
00012  *   License as published by the Free Software Foundation; either          *
00013  *   version 2.1 of the License, or (at your option) any later version.    *
00014  *                                                                         *
00015  *   This library is distributed in the hope that it will be useful,       *
00016  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00017  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00018  *   Lesser General Public License for more details.                       *
00019  *                                                                         *
00020  *   You should have received a copy of the GNU Lesser General Public      *
00021  *   License along with this library; if not, write to the Free Software   *
00022  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00023  *   MA  02111-1307  USA                                                   *
00024  *                                                                         *
00025  ***************************************************************************/
00026 
00027 
00028 #ifndef HBCI_H
00029 #define HBCI_H
00030 
00036 #ifdef __cplusplus
00037 #include <string>
00038 #include <list>
00039 #include <iostream>
00040 #include <openhbci/dllimport.h>
00041 #include <openhbci/pointer.h>
00042 namespace HBCI {
00043   class Hbci;
00044 };
00047 typedef struct HBCI::Hbci HBCI_Hbci;
00048 #include <openhbci/auth.h>
00049 #else /* __cplusplus */
00050 typedef struct HBCI_Hbci HBCI_Hbci;
00051 #endif /* __cplusplus */
00052 #include <openhbci/interactor.h>
00053 
00054 
00055 enum {
00056     HBCI_VERSION_201=201,
00057     HBCI_VERSION_210=210,
00058     HBCI_VERSION_220=220
00059 };
00060 enum {
00061     HBCI_SECURITY_DDV=1,
00062     HBCI_SECURITY_RDH=2
00063 };
00064 enum HBCI_Language {
00065     HBCI_LANGUAGE_GERMAN=1,
00066     HBCI_LANGUAGE_ENGLISCH=2,
00067     HBCI_LANGUAGE_FRENCH=3
00068 };
00069 enum {
00070     HBCI_SYNC_SYSTEMID=0,
00071     HBCI_SYNC_MSGNUMBER=1,
00072     HBCI_SYNC_SIGNATUREID=2
00073 };
00074 
00075 #ifdef __cplusplus
00076 #define HBCI_SYSTEM_NAME    "openhbci"
00077 
00078 using namespace std;
00079 
00080 namespace HBCI {
00093 class DLLIMPORT Hbci {
00094 private:
00095     bool _readonly;
00096     bool _retrievalOnly;
00097     Pointer<Interactor> _interactor;
00098     Pointer<Auth> _auther;
00099     string _systemName;
00100     string _systemVersion;
00101     static int _debugLevel;
00102 
00103 public:
00118     Hbci(bool readonly=false,
00119          bool retrievalOnly=false);
00121     virtual ~Hbci();
00122 
00123 
00143     Pointer<Auth> authentificator() const { return _auther;};
00147     void setAuthentificator(Pointer<Auth> a) { _auther=a;};
00148 
00152     Pointer<Interactor> interactor() const { return _interactor;};
00159     void setInteractor(Pointer<Interactor> i) { _interactor=i;};
00176     bool isReadOnly() const { return _readonly; };
00177 
00187     bool isRetrievalOnly() const { return _retrievalOnly; };
00205     static void libraryVersion(int &major,
00206                                int &minor,
00207                                int &patchlevel);
00208 
00223     static void libraryVersion(int &major,
00224                                int &minor,
00225                                int &patchlevel,
00226                                int &build);
00227 
00241     const string &systemName() const { return _systemName;};
00247     void setSystemName(const string &n);
00248 
00254     const string &systemVersion() const { return _systemVersion;};
00261     void setSystemVersion(const string &s);
00270     DLLIMPORT static int debugLevel();
00271 
00276     DLLIMPORT static void setDebugLevel(int l);
00278 };
00279 } /* namespace HBCI */
00280 
00281 extern "C" {
00282 #endif /* __cplusplus */
00283 
00301     extern void HBCI_Hbci_setInteractor(HBCI_Hbci *h, 
00302                                         HBCI_Interactor *inter, 
00303                                         int autoDelete);
00309     extern HBCI_Interactor *HBCI_Hbci_interactor(const HBCI_Hbci *h);
00319     extern const char *HBCI_Hbci_systemName(const HBCI_Hbci *h);
00328     extern void HBCI_Hbci_setSystemName(HBCI_Hbci *h, const char *n);
00336     extern const char *HBCI_Hbci_systemVersion(const HBCI_Hbci *h);
00345     extern void HBCI_Hbci_setSystemVersion(HBCI_Hbci *h, const char *n);
00362     extern void HBCI_Hbci_libraryVersion(int *major, 
00363                                          int *minor, int *plevel);
00379     extern void HBCI_Hbci_libraryVersion_build(int *major, 
00380                                                int *minor, int *plevel,
00381                                                int *pbuild);
00382 
00387     extern void HBCI_Hbci_setDebugLevel(int l);
00390 #ifdef __cplusplus
00391 }
00392 
00393 #endif /* __cplusplus */
00394 
00395 #endif

Generated on Mon Jun 23 13:41:07 2003 for openhbci by doxygen1.2.17