diff options
author | Christian Blättler <blatc2@bfh.ch> | 2024-03-06 08:07:24 +0100 |
---|---|---|
committer | Christian Blättler <blatc2@bfh.ch> | 2024-03-06 08:07:24 +0100 |
commit | 2771060a37d31386f499d0e2be29f6394716a26b (patch) | |
tree | 0efa1a229fe13be3a1060b648a441621772d6df3 /src/backend/taler-merchant-httpd_contract.c | |
parent | 6876380ed73fbe15090764691fa10165873aeae4 (diff) | |
download | merchant-2771060a37d31386f499d0e2be29f6394716a26b.tar.gz merchant-2771060a37d31386f499d0e2be29f6394716a26b.tar.bz2 merchant-2771060a37d31386f499d0e2be29f6394716a26b.zip |
add serialization switch based on version field
Diffstat (limited to 'src/backend/taler-merchant-httpd_contract.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_contract.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/backend/taler-merchant-httpd_contract.c b/src/backend/taler-merchant-httpd_contract.c index 35f1f134..1818b6b2 100644 --- a/src/backend/taler-merchant-httpd_contract.c +++ b/src/backend/taler-merchant-httpd_contract.c @@ -23,6 +23,26 @@ #include "taler-merchant-httpd_contract.h" enum GNUNET_GenericReturnValue +TMH_serialize_contract (const struct TALER_MerchantContract *contract, + const struct TMH_MerchantInstance *instance, + json_t *exchanges, + json_t **out) +{ + if (TALER_MCV_V0 == contract->version) + { + return TMH_serialize_contract_v0 (contract, instance, exchanges, out); + } + + if (TALER_MCV_V1 == contract->version) + { + return TMH_serialize_contract_v1 (contract, instance, exchanges, out); + } + + GNUNET_break (0); + return GNUNET_SYSERR; +} + +enum GNUNET_GenericReturnValue TMH_serialize_contract_v0 (const struct TALER_MerchantContract *contract, const struct TMH_MerchantInstance *instance, json_t *exchanges, @@ -172,4 +192,14 @@ TMH_serialize_contract_v0 (const struct TALER_MerchantContract *contract, } return GNUNET_OK; -}; +} + +enum GNUNET_GenericReturnValue +TMH_serialize_contract_v1 (const struct TALER_MerchantContract *contract, + const struct TMH_MerchantInstance *instance, + json_t *exchanges, + json_t **out) +{ + // TODO: Implement v1 serializer + return GNUNET_SYSERR; +} |