diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-01-19 01:20:30 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-01-19 01:20:30 +0100 |
commit | e8f45018d3edf917a234c0841391ed4bc5cedf3e (patch) | |
tree | 868cb0c9a043e8d6317c54a2b0c2322e65bb0ca3 /src/backend/taler-merchant-httpd.h | |
parent | f7baa358b5792bb0443c468171889c485dbf9371 (diff) | |
download | merchant-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.h | 51 |
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 |