00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef GWHBCI_DIALOG_H
00015 #define GWHBCI_DIALOG_H
00016
00017 #define AH_DIALOG_FLAGS_INITIATOR 0x0001
00018 #define AH_DIALOG_FLAGS_OPEN 0x0002
00019 #define AH_DIALOG_FLAGS_AUTHENTICATED 0x0004
00020 #define AH_DIALOG_FLAGS_SECURED 0x0008
00021 #define AH_DIALOG_FLAGS_ANONYMOUS 0x0010
00022 #define AH_DIALOG_FLAGS_HAVEKEYS 0x0020
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 typedef struct AH_DIALOG AH_DIALOG;
00028 #ifdef __cplusplus
00029 }
00030 #endif
00031
00032 #include <gwenhywfar/misc.h>
00033 #include <gwenhywfar/inherit.h>
00034 #include <aqhbci/customer.h>
00035 #include <aqhbci/bank.h>
00036 #include <aqhbci/message.h>
00037 #include <gwenhywfar/netconnection.h>
00038 #include <gwenhywfar/msgengine.h>
00039 #include <aqbanking/banking.h>
00040
00041
00042 #ifdef __cplusplus
00043 extern "C" {
00044 #endif
00045
00046 GWEN_LIST_FUNCTION_DEFS(AH_DIALOG, AH_Dialog);
00047 GWEN_INHERIT_FUNCTION_DEFS(AH_DIALOG);
00048
00049
00050 AH_DIALOG *AH_Dialog_new(AH_CUSTOMER *owner,
00051 GWEN_NETCONNECTION *conn);
00052 void AH_Dialog_free(AH_DIALOG *dlg);
00053
00054 void AH_Dialog_Attach(AH_DIALOG *dlg);
00055
00056 GWEN_TYPE_UINT32 AH_Dialog_GetFlags(const AH_DIALOG *dlg);
00057 void AH_Dialog_SetFlags(AH_DIALOG *dlg, GWEN_TYPE_UINT32 f);
00058 void AH_Dialog_AddFlags(AH_DIALOG *dlg, GWEN_TYPE_UINT32 f);
00059 void AH_Dialog_SubFlags(AH_DIALOG *dlg, GWEN_TYPE_UINT32 f);
00060
00061 const char *AH_Dialog_GetLogFile(const AH_DIALOG *dlg);
00062
00063 AH_BANK *AH_Dialog_GetBank(const AH_DIALOG *dlg);
00064
00065 AH_HBCI *AH_Dialog_GetHbci(const AH_DIALOG *dlg);
00066 AB_BANKING *AH_Dialog_GetBankingApi(const AH_DIALOG *dlg);
00067
00068 GWEN_TYPE_UINT32 AH_Dialog_GetNextMsgNum(AH_DIALOG *dlg);
00069 GWEN_TYPE_UINT32 AH_Dialog_GetLastMsgNum(const AH_DIALOG *dlg);
00070 GWEN_TYPE_UINT32
00071 AH_Dialog_GetLastReceivedMsgNum(const AH_DIALOG *dlg);
00072
00073 const char *AH_Dialog_GetDialogId(const AH_DIALOG *dlg);
00074 void AH_Dialog_SetDialogId(AH_DIALOG *dlg,
00075 const char *s);
00076
00077 AH_CUSTOMER *AH_Dialog_GetDialogOwner(const AH_DIALOG *dlg);
00078
00079 GWEN_NETCONNECTION *AH_Dialog_GetConnection(const AH_DIALOG *dlg);
00080 GWEN_MSGENGINE *AH_Dialog_GetMsgEngine(const AH_DIALOG *dlg);
00081 void AH_Dialog_SetMsgEngine(AH_DIALOG *dlg, GWEN_MSGENGINE *e);
00082
00083 GWEN_DB_NODE *AH_Dialog_GetGlobalValues(const AH_DIALOG *dlg);
00084
00085 int AH_Dialog_CheckReceivedMsgNum(AH_DIALOG *dlg, GWEN_TYPE_UINT32 msgnum);
00086
00087 AH_MSG *AH_Dialog_RecvMessage(AH_DIALOG *dlg);
00088 AH_MSG *AH_Dialog_RecvMessage_Wait(AH_DIALOG *dlg, int timeout);
00089
00093 int AH_Dialog_SendMessage(AH_DIALOG *dlg, AH_MSG *msg);
00094
00098 int AH_Dialog_SendMessage_Wait(AH_DIALOG *dlg, AH_MSG *msg, int timeout);
00099 int AH_Dialog_Work(AH_DIALOG *dlg);
00100
00101
00102 #ifdef __cplusplus
00103 }
00104 #endif
00105
00106
00107
00108
00109
00110
00111 #endif