ktoblzcheck 1.57.0
ktoblzcheck.h
Go to the documentation of this file.
1
30
31#ifndef KTOBLZCHECK_H
32#define KTOBLZCHECK_H
33
34/*
35 * This file is AUTO-GENERATED from ktoblzcheck.h.in! All changes
36 * here will be lost!
37 */
38
42#define KTOBLZCHECK_VERSION_MAJOR 1
46#define KTOBLZCHECK_VERSION_MINOR 57
47
54
55#ifdef __cplusplus
56
57#include <string>
58#include <map>
59#include <vector>
60#include <ctime>
61#include <chrono>
62#include <memory>
63
64#include "ktoblzcheck_export.h"
65
76public:
77
94 typedef enum Result {
96 OK = 0,
102 ERROR = 2,
106
124 class Record {
125 public:
127 std::string bankId;
132 std::string method;
135 std::string bankName;
137 std::string location;
141 Record(unsigned long id, const std::string &method,
142 const std::string &name,
143 const std::string &loc);
145 Record(const char *id, const char *method,
146 const char *name,
147 const char *loc);
148 };
149
165
176 AccountNumberCheck(const std::string &filename);
177
186
197 static AccountNumberCheck *createChecker(const std::string &country);
198
210 Result check(const std::string &bankId, const std::string &accountId, const std::string &method = "") const;
211
227 const Record &findBank(const std::string &bankId) const;
228
232 unsigned int bankCount() const;
233
236
245 {
246 return 0;
247 }
248
258 {
259 return std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
260 }
261
271 KTOBLZCHECK_DEPRECATED bool isDataValidForDate(std::time_t date) const;
272
284 KTOBLZCHECK_DEPRECATED bool isValidDataAvailable(std::time_t date) const;
285
299 KTOBLZCHECK_DEPRECATED std::time_t closestValidData(std::time_t date) const;
300
316
329
339
343 static std::string resultToString(Result r);
344
347
368 static const char *stringEncoding();
375 static const char *libraryVersion();
381 static std::string bankdata_dir();
389 static bool isValidDatabase(const std::string &filename);
390
396 static bool existDatabase(const std::string &dbname);
398
399private:
401 typedef std::map < std::string, Record * > banklist_type;
403 banklist_type data;
404
405public:
406#ifndef DOXYGEN_IGNORE
408 typedef Result (*MethodFunc)(const int *account, int *weight);
410 typedef Result (*MethodFuncLong)(const int *account, int *weight, const std::string &accountId, const std::string &bankId);
411#endif // DOXYGEN_IGNORE
412
413private:
414 typedef std::map < std::string, MethodFunc > method_map_t;
415 method_map_t method_map;
416 typedef std::map < std::string, MethodFuncLong > method_map2_t;
417 method_map2_t method_map2;
418
419 std::time_t data_valid_start;
420 std::time_t data_valid_end;
421 typedef std::pair < std::time_t, std::time_t > Daterange;
422 typedef std::pair < std::string, Daterange > FileDaterange;
423 typedef std::vector < FileDaterange > DatedFiles;
424
426 std::string country;
427
429 void deleteList();
432 void readFile(const std::string &filename);
433
435 void initMethodMap();
436
442 static int callback(void *objPtr, int argc, char **argv, char **azColName);
443
446 static int setCountryCallback(void *objPtr, int argc, char **argv, char **azColName);
447
450 int readDatabase(int argc, char **argv);
451
452 /* Method to set the country
453 * code based on the database country field. */
454 int setCountry(int argc, char **argv);
455};
456
466{
467public:
468
480
485
490
499 bool downloadDatabase(const std::string &filename);
500
507private:
508
509 //Class containing all the implementation details of DataUpdater
510 class UpdaterImpl;
511
512 std::unique_ptr < UpdaterImpl > mUpdaterImpl;
513};
514
517
518extern "C" {
519#else /* __cplusplus */
520typedef int AccountNumberCheck_Result;
523#endif /* __cplusplus */
524
527
543
555
565
586AccountNumberCheck_check(const AccountNumberCheck *a, const char *bankId, const char *accountId);
587
603
607unsigned int
609
616
657
661void
663
671
673const char *
675
678const char *
680
682const char *
685
686#ifdef __cplusplus
687}
688#endif /* __cplusplus */
689
690#endif /* KTOBLZCHECK_H */
691
692/*
693 * This file is AUTO-GENERATED from ktoblzcheck.h.in! All changes
694 * here will be lost!
695 */
Available information about one bank.
Definition ktoblzcheck.h:124
std::string bankId
Definition ktoblzcheck.h:127
Record(const char *id, const char *method, const char *name, const char *loc)
std::string method
Definition ktoblzcheck.h:132
std::string location
Definition ktoblzcheck.h:137
Record(unsigned long id, const std::string &method, const std::string &name, const std::string &loc)
std::string bankName
Definition ktoblzcheck.h:135
German bank information database and account code verification.
Definition ktoblzcheck.h:75
KTOBLZCHECK_DEPRECATED std::time_t closestValidData(std::time_t date) const
KTOBLZCHECK_DEPRECATED std::time_t dataValidStartDate() const
Definition ktoblzcheck.h:244
unsigned int bankCount() const
static AccountNumberCheck * createChecker(const std::string &country)
Result
Definition ktoblzcheck.h:94
@ OK
Definition ktoblzcheck.h:96
@ ERROR
Definition ktoblzcheck.h:102
@ BANK_NOT_KNOWN
Definition ktoblzcheck.h:104
@ UNKNOWN
Definition ktoblzcheck.h:99
KTOBLZCHECK_DEPRECATED bool loadDataForDate(std::time_t date)
KTOBLZCHECK_DEPRECATED std::time_t dataValidEndDate() const
Definition ktoblzcheck.h:257
const Record & findBank(const std::string &bankId) const
static std::string bankdata_dir()
Result check(const std::string &bankId, const std::string &accountId, const std::string &method="") const
static const char * libraryVersion()
KTOBLZCHECK_DEPRECATED bool isValidDataAvailable(std::time_t date) const
static const char * stringEncoding()
static bool existDatabase(const std::string &dbname)
static std::string resultToString(Result r)
AccountNumberCheck(const std::string &filename)
static bool isValidDatabase(const std::string &filename)
KTOBLZCHECK_DEPRECATED std::string getFilenameClosestDateToday() const
KTOBLZCHECK_DEPRECATED bool isDataValidForDate(std::time_t date) const
bool downloadAllDatabases()
bool downloadDatabase(const std::string &filename)
bool isUpdateAvailable()
const char * AccountNumberCheck_Record_bankName(const AccountNumberCheck_Record *a)
const char * AccountNumberCheck_Record_location(const AccountNumberCheck_Record *a)
AccountNumberCheck::Record AccountNumberCheck_Record
Definition ktoblzcheck.h:516
AccountNumberCheck * AccountNumberCheck_new_file(const char *filename)
AccountNumberCheck_Result AccountNumberCheck_check(const AccountNumberCheck *a, const char *bankId, const char *accountId)
char * AccountNumberCheck_bankdata_dir()
AccountNumberCheck * AccountNumberCheck_new()
AccountNumberCheck::Result AccountNumberCheck_Result
Definition ktoblzcheck.h:515
void AccountNumberCheck_createIndex(AccountNumberCheck *a)
void AccountNumberCheck_Record_delete(AccountNumberCheck_Record *a)
AccountNumberCheck_Record * AccountNumberCheck_Record_copy(const AccountNumberCheck_Record *a)
const AccountNumberCheck_Record * AccountNumberCheck_findBank(const AccountNumberCheck *a, const char *bankId)
const char * AccountNumberCheck_libraryVersion()
unsigned int AccountNumberCheck_bankCount(const AccountNumberCheck *a)
void AccountNumberCheck_delete(AccountNumberCheck *a)
const char * AccountNumberCheck_Record_bankId(const AccountNumberCheck_Record *a)
const char * AccountNumberCheck_stringEncoding()
#define KTOBLZCHECK_DEPRECATED
Definition src/include/ktoblzcheck_export.h:24