diff options
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; +} |