aboutsummaryrefslogtreecommitdiff
path: root/src/pickle.cpp
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-07-07 16:42:03 +0100
committerMark Haines <mark.haines@matrix.org>2015-07-07 16:42:03 +0100
commit3a382aec59937b086c37f039f1b011f253e80e97 (patch)
tree9c544b2fa307b4920e0f945e05cff3251db524e6 /src/pickle.cpp
parent2a873fd4e1d53c45898b27e1c953b551b2cf6023 (diff)
Encode the account keys as a signed JSON object
Diffstat (limited to 'src/pickle.cpp')
-rw-r--r--src/pickle.cpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/pickle.cpp b/src/pickle.cpp
index 3aa64ed..25580d2 100644
--- a/src/pickle.cpp
+++ b/src/pickle.cpp
@@ -78,3 +78,67 @@ std::uint8_t const * olm::unpickle(
);
return pos;
}
+
+std::size_t olm::pickle_length(
+ const olm::Ed25519PublicKey & value
+) {
+ return sizeof(value.public_key);
+}
+
+
+std::uint8_t * olm::pickle(
+ std::uint8_t * pos,
+ const olm::Ed25519PublicKey & value
+) {
+ pos = olm::pickle_bytes(
+ pos, value.public_key, sizeof(value.public_key)
+ );
+ return pos;
+}
+
+
+std::uint8_t const * olm::unpickle(
+ std::uint8_t const * pos, std::uint8_t const * end,
+ olm::Ed25519PublicKey & value
+) {
+ pos = olm::unpickle_bytes(
+ pos, end, value.public_key, sizeof(value.public_key)
+ );
+ return pos;
+
+}
+
+
+std::size_t olm::pickle_length(
+ const olm::Ed25519KeyPair & value
+) {
+ return sizeof(value.public_key) + sizeof(value.private_key);
+}
+
+
+std::uint8_t * olm::pickle(
+ std::uint8_t * pos,
+ const olm::Ed25519KeyPair & value
+) {
+ pos = olm::pickle_bytes(
+ pos, value.public_key, sizeof(value.public_key)
+ );
+ pos = olm::pickle_bytes(
+ pos, value.private_key, sizeof(value.private_key)
+ );
+ return pos;
+}
+
+
+std::uint8_t const * olm::unpickle(
+ std::uint8_t const * pos, std::uint8_t const * end,
+ olm::Ed25519KeyPair & value
+) {
+ pos = olm::unpickle_bytes(
+ pos, end, value.public_key, sizeof(value.public_key)
+ );
+ pos = olm::unpickle_bytes(
+ pos, end, value.private_key, sizeof(value.private_key)
+ );
+ return pos;
+}