cash2ecash

cash2ecash: cash acceptor that issues digital cash (experimental)
Log | Files | Refs | README | LICENSE

commit ff9d1def4acae789683f3a86abc1f4c3ef87bce1
parent 2b39c6127d011d8a328f4c209fe77fcb8b2601f3
Author: Tellenbach Reto <tellr1@bfh.ch>
Date:   Fri, 22 May 2026 13:01:37 +0200

[chg] thinker_TalerAPI: Load all configs

Diffstat:
Mthinker/taler_api/src/taler-digitizer.c | 156+++++++++++++++++++++++++++++++++++++++++---------------------------------------
1 file changed, 80 insertions(+), 76 deletions(-)

diff --git a/thinker/taler_api/src/taler-digitizer.c b/thinker/taler_api/src/taler-digitizer.c @@ -2,16 +2,11 @@ #include "taler_digitizer_util.h" -//#include <taler/taler_util.h> -//#include <taler/taler_curl_lib.h> -//#include <curl/curl.h> - -//#include "error_codes.h" - - - -#define TALER_EXCHANGE_URL "https://exchange.demo.taler.net" - +/** + * Time unit for PERSON_WITHDRAL_PERIOD config. + * Normal in Days but can be changed for testing + */ +#define DIGITIZER_PERSON_WITHDRAWL_PERIOD_TIME_UNIT GNUNET_TIME_UNIT_DAYS /** * Global return value @@ -23,41 +18,41 @@ static int global_ret; */ static int enable_diagnostics; -/** - * Taler Backend url read from configuration file - */ -static char *backend_base_url; - -struct TALER_DIGITIYER_Config +struct TALER_DIGITIZER_Config { - union - { + /** + * Taler Backend url read from configuration file + */ + char *backend_base_url; + + /** + * Taler Backend url read from configuration file + */ + char *currency; + + /** + * Taler Backend url read from configuration file + */ + unsigned long long backend_min_balance; + + /** + * Taler Backend url read from configuration file + */ + unsigned long long person_withdrawllimit; + + /** + * Taler Backend url read from configuration file + */ + struct GNUNET_TIME_Relative person_withdrawl_period; + + /** + * Taler Backend url read from configuration file + */ + enum GNUNET_GenericReturnValue kyc_functionality; - struct - { - /** - * Protocol version of the exchange, libtool-style "current:revision:age". - */ - const char *version; - - /** - * Currency supported by this exchange (e.g. "USD" or "EUR"). - */ - const char *currency; - - - /** - * NULL-terminated array of supported KYC requirement names. - * @deprecated since protocol v24. - */ - const char **supported_kyc_requirements; - - } ok; - } details; - }; @@ -81,14 +76,17 @@ run (void *cls, printf("Parse Config\n"); - if(enable_diagnostics)GNUNET_CONFIGURATION_enable_diagnostics (cfg); + struct TALER_DIGITIZER_Config digitizer_config; + + + //if(enable_diagnostics)GNUNET_CONFIGURATION_enable_diagnostics (cfg); /* parse the devices, if no config entry is found, a standard is used */ if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string(cfg, "taler-digitizer", "BACKEND_BASE_URL", - &backend_base_url)) + &(digitizer_config.backend_base_url))) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, "taler-digitizer", @@ -96,75 +94,81 @@ run (void *cls, global_ret = EXIT_FAILURE; return; } - - printf("Config URl: %s \n", backend_base_url); -} - - /* if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (cfg, - "taler-mdb", + "taler-digitizer", "CURRENCY", - &digitizer_currency)) + &(digitizer_config.currency))) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "taler-mdb", - "BACKEND_BASE_URL"); + "taler-digitizer", + "CURRENCY"); global_ret = EXIT_FAILURE; return; } if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_string (cfg, - "taler-mdb", + GNUNET_CONFIGURATION_get_value_number (cfg, + "taler-digitizer", "BANK_MIN_BALANCE", - &backend_min_balance)) + &(digitizer_config.backend_min_balance))) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "taler-mdb", - "BACKEND_BASE_URL"); + "taler-digitizer", + "BANK_MIN_BALANCE"); global_ret = EXIT_FAILURE; return; } if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_string (cfg, - "taler-mdb", + GNUNET_CONFIGURATION_get_value_number (cfg, + "taler-digitizer", "PERSON_WITHDRAWLLIMIT", - &person_withdrawllimit)) + &(digitizer_config.person_withdrawllimit))) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "taler-mdb", - "BACKEND_BASE_URL"); + "taler-digitizer", + "PERSON_WITHDRAWLLIMIT"); global_ret = EXIT_FAILURE; return; } + unsigned long long person_withdrawl_period_number; + unsigned long long *pwpn = &person_withdrawl_period_number; if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_string (cfg, - "taler-mdb", + GNUNET_CONFIGURATION_get_value_number (cfg, + "taler-digitizer", "PERSON_WITHDRAL_PERIOD", - &person_withdrawl_period)) + pwpn)) { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "taler-mdb", - "BACKEND_BASE_URL"); + "taler-digitizer", + "PERSON_WITHDRAL_PERIOD"); global_ret = EXIT_FAILURE; return; } - if (GNUNET_OK != - GNUNET_CONFIGURATION_get_value_string (cfg, - "taler-mdb", - "KYC_FUNCTIONALITY", - &)) - { + else + { + digitizer_config.person_withdrawl_period = GNUNET_TIME_relative_multiply( + DIGITIZER_PERSON_WITHDRAWL_PERIOD_TIME_UNIT, + person_withdrawl_period_number); + } + + + digitizer_config.kyc_functionality = GNUNET_CONFIGURATION_get_value_yesno (cfg, + "taler-digitizer", + "KYC_FUNCTIONALITY"); + if(GNUNET_SYSERR == digitizer_config.kyc_functionality) + { GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, - "taler-mdb", - "BACKEND_BASE_URL"); + "taler-digitizer", + "KYC_FUNCTIONALITY"); global_ret = EXIT_FAILURE; return; } - return; + + + printf("Config URl: %s \n", digitizer_config.backend_base_url); } -*/ + int main(int argc, char*const*argv)