summaryrefslogtreecommitdiff
path: root/src/include/taler_merchant_service.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-04-16 23:07:14 +0200
committerChristian Grothoff <christian@grothoff.org>2021-04-16 23:07:14 +0200
commit4a6f917151c9a33d22d57467d3bc110add0fe11f (patch)
tree2cc4979a74e32695ddc1bf4c40c8cf8d543445e0 /src/include/taler_merchant_service.h
parent7d425da40e2500456caab083518b889921945356 (diff)
downloadmerchant-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.h57
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