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
00029 #ifndef HBCI_LIMIT_H
00030 #define HBCI_LIMIT_H
00031
00036 #ifdef __cplusplus
00037 #include <string>
00038 #endif
00039
00040 #include <openhbci/dllimport.h>
00041 #include <openhbci/value.h>
00042
00043 typedef enum LimitType {
00045 LIMIT_DAY = 1,
00047 LIMIT_JOB,
00049 LIMIT_WEEK,
00051 LIMIT_MONTH,
00053 LIMIT_TIME,
00055 NO_LIMIT
00056 } LimitType;
00057
00058 #ifdef __cplusplus
00059 using namespace std;
00060
00061 namespace HBCI {
00062
00063 class DLLIMPORT Limit {
00064 public:
00068 Limit() {};
00069
00077 Limit(const Value &limitValue, LimitType type, int days=0);
00078
00085 bool isValid() const;
00086
00089 const Value &value() const { return _limitValue; };
00090
00099 LimitType type() const { return _limitType; };
00100
00105 int daysForTimeLimit() const { return _limitDays; };
00106
00109 static LimitType typeFromChar(char type_char);
00112 static char typeToChar(LimitType type_enum);
00113 private:
00114 LimitType _limitType;
00115 Value _limitValue;
00116 int _limitDays;
00117 };
00118
00119 }
00120 typedef struct HBCI::Limit HBCI_Limit;
00121
00122 #else
00123 typedef struct Limit HBCI_Limit;
00124 #endif
00125
00126 #ifdef __cplusplus
00127 extern "C" {
00128 #endif
00129
00131 extern int HBCI_Limit_isValid(const HBCI_Limit *l);
00132 extern const HBCI_Value *HBCI_Limit_value(const HBCI_Limit *l);
00133 extern LimitType HBCI_Limit_type(const HBCI_Limit *l);
00134 extern int HBCI_Limit_daysForTimeLimit(const HBCI_Limit *l);
00135 extern void HBCI_Limit_delete(HBCI_Limit *d);
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140
00141
00142 #endif