diff options
author | Marcello Stanisci <stanisci.m@gmail.com> | 2019-04-03 18:02:16 +0200 |
---|---|---|
committer | Marcello Stanisci <stanisci.m@gmail.com> | 2019-04-03 18:02:16 +0200 |
commit | 6e6ce685ea0240abd1fcef9ac8f44d0252aef823 (patch) | |
tree | 8284cfb198d8c841904a6dd6afec19853aef25b9 /src | |
parent | 35c064b93739795832598893b1885ff7cfd9faf8 (diff) |
Provide API to fake now when requesting /keys.
Diffstat (limited to 'src')
-rw-r--r-- | src/include/taler_exchange_service.h | 20 | ||||
-rw-r--r-- | src/lib/exchange_api_handle.c | 36 |
2 files changed, 56 insertions, 0 deletions
diff --git a/src/include/taler_exchange_service.h b/src/include/taler_exchange_service.h index 88fcf74af..880e60389 100644 --- a/src/include/taler_exchange_service.h +++ b/src/include/taler_exchange_service.h @@ -422,6 +422,26 @@ TALER_EXCHANGE_disconnect (struct TALER_EXCHANGE_Handle *exchange); const struct TALER_EXCHANGE_Keys * TALER_EXCHANGE_get_keys (struct TALER_EXCHANGE_Handle *exchange); + +/** + * Set the fake now to be used when requesting "/keys". + * + * @param exchange exchange handle. + * @param now fake now to use. Note: this value will be + * used _until_ its use will be unset via @a TALER_EXCHANGE_unset_now() + */ +void +TALER_EXCHANGE_set_now (struct TALER_EXCHANGE_Handle *exchange, + struct GNUNET_TIME_Absolute now); + +/** + * Unset the fake now to be used when requesting "/keys". + * + * @param exchange exchange handle. + */ +void +TALER_EXCHANGE_unset_now (struct TALER_EXCHANGE_Handle *exchange); + /** * Let the user set the last valid denomination time manually. * diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c index 986bcc4c1..5cc65de33 100644 --- a/src/lib/exchange_api_handle.c +++ b/src/lib/exchange_api_handle.c @@ -214,6 +214,17 @@ struct TALER_EXCHANGE_Handle */ enum ExchangeHandleState state; + /** + * If GNUNET_YES, use fake now given by the user, in + * request of "/keys". + */ + unsigned int with_now; + + /** + * Fake now given by the user. + */ + struct GNUNET_TIME_Absolute now; + }; @@ -1086,6 +1097,31 @@ void TEAH_handle_reset (struct TALER_EXCHANGE_Handle *h); +/** + * Set the fake now to be used when requesting "/keys". + * + * @param exchange exchange handle. + * @param now fake now to use. Note: this value will be + * used _until_ its use will be unset via @a TALER_EXCHANGE_unset_now() + */ +void +TALER_EXCHANGE_set_now (struct TALER_EXCHANGE_Handle *exchange, + struct GNUNET_TIME_Absolute now) +{ + exchange->with_now = GNUNET_YES; + exchange->now = now; +} + +/** + * Unset the fake now to be used when requesting "/keys". + * + * @param exchange exchange handle. + */ +void +TALER_EXCHANGE_unset_now (struct TALER_EXCHANGE_Handle *exchange) +{ + exchange->with_now = GNUNET_NO; +} /** * Let the user set the last valid denomination time manually. |