summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd.h
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2018-01-19 01:20:30 +0100
committerChristian Grothoff <christian@grothoff.org>2018-01-19 01:20:30 +0100
commite8f45018d3edf917a234c0841391ed4bc5cedf3e (patch)
tree868cb0c9a043e8d6317c54a2b0c2322e65bb0ca3 /src/backend/taler-merchant-httpd.h
parentf7baa358b5792bb0443c468171889c485dbf9371 (diff)
downloadmerchant-e8f45018d3edf917a234c0841391ed4bc5cedf3e.tar.gz
merchant-e8f45018d3edf917a234c0841391ed4bc5cedf3e.tar.bz2
merchant-e8f45018d3edf917a234c0841391ed4bc5cedf3e.zip
work on #4939: load multiple wire methods per instance
Diffstat (limited to 'src/backend/taler-merchant-httpd.h')
-rw-r--r--src/backend/taler-merchant-httpd.h51
1 files changed, 38 insertions, 13 deletions
diff --git a/src/backend/taler-merchant-httpd.h b/src/backend/taler-merchant-httpd.h
index b10b9646..18b1b540 100644
--- a/src/backend/taler-merchant-httpd.h
+++ b/src/backend/taler-merchant-httpd.h
@@ -1,6 +1,6 @@
/*
This file is part of TALER
- Copyright (C) 2014, 2015 INRIA
+ Copyright (C) 2014-2018 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
@@ -72,6 +72,39 @@ struct IterateInstancesCls
/**
+ * Supported wire method. Kept in a DLL.
+ */
+struct WireMethod
+{
+ /**
+ * Next entry in DLL.
+ */
+ struct WireMethod *next;
+
+ /**
+ * Previous entry in DLL.
+ */
+ struct WireMethod *prev;
+
+ /**
+ * Which wire method is @e j_wire using? Points into @e j_wire.
+ */
+ const char *wire_method;
+
+ /**
+ * Wire details for this instance
+ */
+ struct json_t *j_wire;
+
+ /**
+ * Hash of our wire format details as given in #j_wire.
+ */
+ struct GNUNET_HashCode h_wire;
+
+};
+
+
+/**
* Information that defines a merchant "instance". Tha4673t way, a single
* backend can account for several merchants, as used to do in donation
* shops
@@ -96,23 +129,15 @@ struct MerchantInstance
*/
char *keyfile;
- /* NOTE: the *_wire-fields should eventually be moved into a DLL
- once we implement #4939 */
-
/**
- * Which wire method is @e j_wire using?
+ * Next entry in DLL.
*/
- const char *wire_method;
-
- /**
- * Wire details for this instance
- */
- struct json_t *j_wire;
+ struct WireMethod *wm_head;
/**
- * Hash of our wire format details as given in #j_wire.
+ * Previous entry in DLL.
*/
- struct GNUNET_HashCode h_wire;
+ struct WireMethod *wm_tail;
/**
* Merchant's private key