00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
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
00050 typedef struct HBCI_Hbci HBCI_Hbci;
00051 #endif
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 }
00280
00281 extern "C" {
00282 #endif
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
00394
00395 #endif