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
00030
00031
00032 #ifndef CTGELDKARTE_H
00033 #define CTGELDKARTE_H "$Id: ctgeldkarte.h,v 1.4 2003/04/24 01:43:29 aquamaniac Exp $"
00034
00035 #include <chipcard/ctprocessorcard.h>
00036
00041 class CTGeldKarte: public CTProcessorCard {
00042 public:
00047 class CHIPCARD_API CardData {
00048 private:
00049 unsigned char _industrialkey;
00050 unsigned int _shortinstcode;
00051 string _cardnumber;
00052 unsigned char _bestuntil_year;
00053 unsigned char _bestuntil_month;
00054 unsigned char _active_year;
00055 unsigned char _active_month;
00056 unsigned char _active_day;
00057 unsigned short _countrycode;
00058 string _currency;
00059 unsigned char _value;
00060
00061 public:
00062 CardData();
00063 CardData(const string &s);
00064 ~CardData();
00065
00070 int industrialKey() const { return _industrialkey;};
00074 unsigned int shortInstituteCode() const { return _shortinstcode;};
00078 const string &cardNumber() const { return _cardnumber;};
00082 int bestuntil_year() const { return _bestuntil_year;};
00086 int bestuntil_month() const { return _bestuntil_month;};
00090 int active_year() const { return _active_year;};
00094 int active_month() const { return _active_month;};
00098 int active_day() const { return _active_day;};
00102 int countryCode() const { return _countrycode;};
00106 const string ¤cy() const { return _currency;};
00107
00119 int value() const { return _value;};
00120
00121 };
00122
00123
00124 private:
00125 CardData _ef_id;
00126
00127 string _cmdReadRecord;
00128 CTError _openCard();
00129
00130
00131 public:
00139 CTGeldKarte(const CTCard &c);
00140
00141 virtual ~CTGeldKarte();
00143
00162 virtual CTError reopenCard();
00164
00175 virtual string cardType();
00176
00185 virtual string cardTypes();
00187
00205 virtual CTError openCard();
00206
00207
00208 const CardData &cardData() const { return _ef_id;};
00209
00216 double readLoadedValue();
00217
00222 double readMaxLoadedValue();
00223
00229 double readMaxTransactionValue();
00230
00231 };
00232
00233
00234
00235
00236 #endif
00237
00238
00239