ktoblzcheck 1.59.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 59
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#if defined(_WIN32) && defined(ERROR)
65#undef ERROR
66#endif
67
68#include "ktoblzcheck_export.h"
69
80public:
81
98 typedef enum Result {
100 OK = 0,
106 ERROR = 2,
110
128 class Record {
129 public:
131 std::string bankId;
136 std::string method;
139 std::string bankName;
141 std::string location;
145 Record(unsigned long id, const std::string &method,
146 const std::string &name,
147 const std::string &loc);
149 Record(const char *id, const char *method,
150 const char *name,
151 const char *loc);
152 };
153
169
180 AccountNumberCheck(const std::string &filename);
181
190
201 static AccountNumberCheck *createChecker(const std::string &country);
202
214 Result check(const std::string &bankId, const std::string &accountId, const std::string &method = "") const;
215
231 const Record &findBank(const std::string &bankId) const;
232
236 unsigned int bankCount() const;
237
240
249 {
250 return 0;
251 }
252
262 {
263 return std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
264 }
265
275 KTOBLZCHECK_DEPRECATED bool isDataValidForDate(std::time_t date) const;
276
288 KTOBLZCHECK_DEPRECATED bool isValidDataAvailable(std::time_t date) const;
289
303 KTOBLZCHECK_DEPRECATED std::time_t closestValidData(std::time_t date) const;
304
320
333
343
347 static std::string resultToString(Result r);
348
351
372 static const char *stringEncoding();
379 static const char *libraryVersion();
385 static std::string bankdata_dir();
393 static bool isValidDatabase(const std::string &filename);
394
400 static bool existDatabase(const std::string &dbname);
402
403private:
405 typedef std::map < std::string, Record * > banklist_type;
407 banklist_type data;
408
409public:
410#ifndef DOXYGEN_IGNORE
412 typedef Result (*MethodFunc)(const int *account, int *weight);
414 typedef Result (*MethodFuncLong)(const int *account, int *weight, const std::string &accountId, const std::string &bankId);
415#endif // DOXYGEN_IGNORE
416
417private:
418 typedef std::map < std::string, MethodFunc > method_map_t;
419 method_map_t method_map;
420 typedef std::map < std::string, MethodFuncLong > method_map2_t;
421 method_map2_t method_map2;
422
423 std::time_t data_valid_start;
424 std::time_t data_valid_end;
425 typedef std::pair < std::time_t, std::time_t > Daterange;
426 typedef std::pair < std::string, Daterange > FileDaterange;
427 typedef std::vector < FileDaterange > DatedFiles;
428
430 std::string country;
431
433 void deleteList();
436 void readFile(const std::string &filename);
437
439 void initMethodMap();
440
446 static int callback(void *objPtr, int argc, char **argv, char **azColName);
447
450 static int setCountryCallback(void *objPtr, int argc, char **argv, char **azColName);
451
454 int readDatabase(int argc, char **argv);
455
456 /* Method to set the country
457 * code based on the database country field. */
458 int setCountry(int argc, char **argv);
459};
460
470{
471public:
472
484
489
494
503 bool downloadDatabase(const std::string &filename);
504
511private:
512
513 //Class containing all the implementation details of DataUpdater
514 class UpdaterImpl;
515
516 std::unique_ptr < UpdaterImpl > mUpdaterImpl;
517};
518
521
522extern "C" {
523#else /* __cplusplus */
524typedef int AccountNumberCheck_Result;
527#endif /* __cplusplus */
528
531
547
559
569
590AccountNumberCheck_check(const AccountNumberCheck *a, const char *bankId, const char *accountId);
591
607
611unsigned int
613
620
661
665void
667
675
677const char *
679
682const char *
684
686const char *
689
690#ifdef __cplusplus
691}
692#endif /* __cplusplus */
693
694#endif /* KTOBLZCHECK_H */
695
696/*
697 * This file is AUTO-GENERATED from ktoblzcheck.h.in! All changes
698 * here will be lost!
699 */
Available information about one bank.
Definition ktoblzcheck.h:128
std::string bankId
Definition ktoblzcheck.h:131
Record(const char *id, const char *method, const char *name, const char *loc)
std::string method
Definition ktoblzcheck.h:136
std::string location
Definition ktoblzcheck.h:141
Record(unsigned long id, const std::string &method, const std::string &name, const std::string &loc)
std::string bankName
Definition ktoblzcheck.h:139
German bank information database and account code verification.
Definition ktoblzcheck.h:79
KTOBLZCHECK_DEPRECATED std::time_t closestValidData(std::time_t date) const
KTOBLZCHECK_DEPRECATED std::time_t dataValidStartDate() const
Definition ktoblzcheck.h:248
unsigned int bankCount() const
static AccountNumberCheck * createChecker(const std::string &country)
Result
Definition ktoblzcheck.h:98
@ OK
Definition ktoblzcheck.h:100
@ ERROR
Definition ktoblzcheck.h:106
@ BANK_NOT_KNOWN
Definition ktoblzcheck.h:108
@ UNKNOWN
Definition ktoblzcheck.h:103
KTOBLZCHECK_DEPRECATED bool loadDataForDate(std::time_t date)
KTOBLZCHECK_DEPRECATED std::time_t dataValidEndDate() const
Definition ktoblzcheck.h:261
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:520
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:519
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