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 HBCIINTERACTOR_H
00029 #define HBCIINTERACTOR_H
00030
00035 #ifdef __cplusplus
00036 namespace HBCI {
00037 class Interactor;
00038 };
00039 typedef struct HBCI::Interactor HBCI_Interactor;
00040 #else
00041 typedef struct HBCI_Interactor HBCI_Interactor;
00042 #endif
00043
00044 #include <openhbci/dllimport.h>
00045 #include <openhbci/pointer.h>
00046 #include <openhbci/user.h>
00047 #include <openhbci/medium.h>
00048
00049
00050 #ifdef __cplusplus
00051
00052 namespace HBCI {
00070 class DLLIMPORT Interactor {
00071 private:
00072 bool _aborted;
00073
00074 public:
00089 virtual bool msgInputPin(Pointer<User> user,
00090 string &pin,
00091 int minsize,
00092 bool newPin);
00093
00104 virtual void msgStartInputPinViaKeypad(Pointer<User> user);
00105
00116 virtual void msgFinishedInputPinViaKeypad(Pointer<User> user);
00117
00128 virtual bool msgInsertMediumOrAbort(Pointer<User> user,
00129 MediumType t);
00130
00144 virtual bool msgInsertCorrectMediumOrAbort(Pointer<User> user,
00145 MediumType t);
00146
00153 virtual void msgStateResponse(const string &msg);
00154
00174 virtual bool keepAlive();
00175
00185 void abort(bool a=true) {_aborted=a;};
00186
00194 bool aborted() const { return _aborted;};
00195
00196 Interactor();
00197 virtual ~Interactor();
00198
00199 };
00200
00201 }
00202 extern "C" {
00203 #endif
00204 extern void HBCI_Interactor_msgStateResponse(HBCI_Interactor *i,
00205 const char *msg);
00206 extern void HBCI_Interactor_abort(HBCI_Interactor *i, int a);
00207 extern int HBCI_Interactor_aborted(const HBCI_Interactor *i);
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif
00213
00214
00215