aboutsummaryrefslogtreecommitdiff
path: root/src/bank-lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/bank-lib')
-rw-r--r--src/bank-lib/testing_api_cmd_reject.c67
1 files changed, 46 insertions, 21 deletions
diff --git a/src/bank-lib/testing_api_cmd_reject.c b/src/bank-lib/testing_api_cmd_reject.c
index 2eb6d4f9b..b929e262d 100644
--- a/src/bank-lib/testing_api_cmd_reject.c
+++ b/src/bank-lib/testing_api_cmd_reject.c
@@ -32,25 +32,39 @@
#include "taler_bank_service.h"
#include "taler_fakebank_lib.h"
+
+/**
+ * State for a "reject" CMD.
+ */
struct RejectState
{
+
+ /**
+ * Handle of a ongoing "reject" operation.
+ */
struct TALER_BANK_RejectHandle *rh;
+ /**
+ * Reference to any command that can offer a wire
+ * transfer "row id" and its credit account so as
+ * to give input data to the "reject" operation.
+ */
const char *deposit_reference;
+ /**
+ * Base URL of the bank implementing the "reject"
+ * operation.
+ */
const char *bank_url;
};
/**
- * Callbacks of this type are used to serve the result
- * of asking the bank to reject an incoming wire transfer.
+ * Check that the response code from the "reject" opetation
+ * is acceptable, namely it equals "204 No Content".
*
- * @param cls closure
- * @param http_status HTTP response code, #MHD_HTTP_NO_CONTENT
- * (204) for successful status request; #MHD_HTTP_NOT_FOUND
- * if the rowid is unknown; 0 if the bank's reply is bogus
- * (fails to follow the protocol),
- * @param ec detailed error code
+ * @param cls closure.
+ * @param http_status HTTP response code.
+ * @param ec taler-specific error code.
*/
static void
reject_cb (void *cls,
@@ -74,10 +88,11 @@ reject_cb (void *cls,
}
/**
- * Cleanup the state.
+ * Cleanup the state of a "reject" CMD, and possibly
+ * cancel a pending operation thereof.
*
- * @param cls closure, typically a #struct WireState.
- * @param cmd the command which is being cleaned up.
+ * @param cls closure.
+ * @param cmd the command.
*/
void
reject_cleanup
@@ -98,8 +113,8 @@ reject_cleanup
/**
* Run the command.
*
- * @param cls closure, typically a #struct WireState.
- * @param cmd the command to execute, a /wire one.
+ * @param cls closure.
+ * @param cmd the command to execute.
* @param is the interpreter state.
*/
void
@@ -140,13 +155,14 @@ reject_run (void *cls,
/**
- * @param cls closure
- * @param ret[out] result (could be anything)
- * @param trait name of the trait
- * @param selector more detailed information about which object
- * to return in case there were multiple generated
- * by the command
- * @return #GNUNET_OK on success
+ * Offer internal data from a "reject" CMD to other commands.
+ *
+ * @param cls closure.
+ * @param ret[out] result.
+ * @param trait name of the trait.
+ * @param index index number of the trait to return.
+ *
+ * @return #GNUNET_OK on success.
*/
static int
reject_traits (void *cls,
@@ -167,7 +183,16 @@ reject_traits (void *cls,
}
/**
- * FIXME.
+ * Create a "reject" CMD.
+ *
+ * @param label command label.
+ * @param bank_url base URL of the bank implementing the
+ * "reject" operation.
+ * @param deposit_reference reference to a command that will
+ * provide a "row id" and credit (bank) account to craft
+ * the "reject" request.
+ *
+ * @return the command.
*/
struct TALER_TESTING_Command
TALER_TESTING_cmd_bank_reject (const char *label,