summaryrefslogtreecommitdiff
path: root/src/util/json.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-01-19 21:53:23 +0100
committerChristian Grothoff <christian@grothoff.org>2015-01-19 21:53:23 +0100
commited51946442e5e22a7dea68f14ff2bf563503c755 (patch)
treebcdca621df102a52337ff7348dc262be43a48514 /src/util/json.c
parentf9347d23953f771689d339b544370d3f9fdd97ba (diff)
downloadexchange-ed51946442e5e22a7dea68f14ff2bf563503c755.tar.gz
exchange-ed51946442e5e22a7dea68f14ff2bf563503c755.tar.bz2
exchange-ed51946442e5e22a7dea68f14ff2bf563503c755.zip
more code refactoring to separate parsing, db and response generation nicely
Diffstat (limited to 'src/util/json.c')
-rw-r--r--src/util/json.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/util/json.c b/src/util/json.c
index 269e6cf26..d66c95c43 100644
--- a/src/util/json.c
+++ b/src/util/json.c
@@ -90,6 +90,34 @@ TALER_JSON_from_abs (struct GNUNET_TIME_Absolute stamp)
}
+/**
+ * Convert a signature (with purpose) to a JSON object representation.
+ *
+ * @param purpose purpose of the signature
+ * @param signature the signature
+ * @return the JSON reporesentation of the signature with purpose
+ */
+json_t *
+TALER_JSON_from_sig (const struct GNUNET_CRYPTO_EccSignaturePurpose *purpose,
+ const struct GNUNET_CRYPTO_EddsaSignature *signature)
+{
+ json_t *root;
+ json_t *el;
+
+ root = json_object ();
+
+ el = json_integer ((json_int_t) ntohl (purpose->size));
+ json_object_set_new (root, "size", el);
+
+ el = json_integer ((json_int_t) ntohl (purpose->purpose));
+ json_object_set_new (root, "purpose", el);
+
+ el = TALER_JSON_from_data (signature, sizeof (struct GNUNET_CRYPTO_EddsaSignature));
+ json_object_set_new (root, "sig", el);
+
+ return root;
+}
+
/**
* Convert binary data to a JSON string