diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-04-16 23:07:14 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-04-16 23:07:14 +0200 |
commit | 4a6f917151c9a33d22d57467d3bc110add0fe11f (patch) | |
tree | 2cc4979a74e32695ddc1bf4c40c8cf8d543445e0 /src/include/taler_merchant_service.h | |
parent | 7d425da40e2500456caab083518b889921945356 (diff) | |
download | merchant-4a6f917151c9a33d22d57467d3bc110add0fe11f.tar.gz merchant-4a6f917151c9a33d22d57467d3bc110add0fe11f.tar.bz2 merchant-4a6f917151c9a33d22d57467d3bc110add0fe11f.zip |
enable use of per-instance APIs also in C API
Diffstat (limited to 'src/include/taler_merchant_service.h')
-rw-r--r-- | src/include/taler_merchant_service.h | 57 |
1 files changed, 51 insertions, 6 deletions
diff --git a/src/include/taler_merchant_service.h b/src/include/taler_merchant_service.h index 67f544e9..b897bd2c 100644 --- a/src/include/taler_merchant_service.h +++ b/src/include/taler_merchant_service.h @@ -1,6 +1,6 @@ /* This file is part of TALER - Copyright (C) 2014-2020 Taler Systems SA + Copyright (C) 2014-2021 Taler Systems SA TALER is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software @@ -561,8 +561,10 @@ typedef void * Modify an existing instance in the backend. * * @param ctx the context - * @param backend_url HTTP base URL for the backend - * @param instance_id identity of the instance to get information about + * @param backend_url HTTP base URL for the backend (top-level "default" instance + * or base URL of an instance if @a instance_id is NULL) + * @param instance_id identity of the instance to modify information about; NULL + * if the instance is identified as part of the @a backend_url * @param accounts_length length of the @a accounts array * @param payto_uris URIs of the bank accounts of the merchant instance * @param name name of the merchant instance @@ -573,7 +575,6 @@ typedef void * @param default_max_deposit_fee default maximum deposit fee merchant is willing to pay * @param default_wire_transfer_delay default wire transfer delay merchant will ask for * @param default_pay_delay default validity period for offers merchant makes - * @param auth_token authorization token needed to access the instance, can be NULL * @param cb function to call with the * backend's instances information * @param cb_cls closure for @a config_cb @@ -610,6 +611,48 @@ TALER_MERCHANT_instance_patch_cancel ( /** + * Handle for an operation to modify authentication settings. + */ +struct TALER_MERCHANT_InstanceAuthPatchHande; + + +/** + * Modify authentication for an existing instance in the backend. + * + * @param ctx the context + * @param backend_url HTTP base URL for the backend (top-level "default" instance + * or base URL of an instance if @a instance_id is NULL) + * @param instance_id identity of the instance to patch the authentication for; NULL + * if the instance is identified as part of the @a backend_url + * @param auth_token authorization token needed to access the instance, can be NULL + * to swith to no (or external) authentication + * @param cb function to call with the backend's response + * @param cb_cls closure for @a config_cb + * @return the instances handle; NULL upon error + */ +struct TALER_MERCHANT_InstanceAuthPatchHandle * +TALER_MERCHANT_instance_auth_patch ( + struct GNUNET_CURL_Context *ctx, + const char *backend_url, + const char *instance_id, + const char *auth_token, + TALER_MERCHANT_InstancePatchCallback cb, + void *cb_cls); + + +/** + * Cancel /private/auth request. Must not be called by clients after + * the callback was invoked. Afterwards, the authentication may or + * may not have been updated. + * + * @param iaph request to cancel. + */ +void +TALER_MERCHANT_instance_auth_patch_cancel ( + struct TALER_MERCHANT_InstanceAuthPatchHandle *iaph); + + +/** * Handle for a GET /instances/$ID operation. */ struct TALER_MERCHANT_InstanceGetHandle; @@ -769,8 +812,10 @@ typedef void * (i.e. for taxation). * * @param ctx the context - * @param backend_url HTTP base URL for the backend - * @param instance_id which instance should be deleted + * @param backend_url HTTP base URL for the backend (top-level "default" instance + * or base URL of an instance if @a instance_id is NULL) + * @param instance_id identity of the instance to modify information about; NULL + * if the instance is identified as part of the @a backend_url * @param instances_cb function to call with the * backend's return * @param instances_cb_cls closure for @a config_cb |