From 3a382aec59937b086c37f039f1b011f253e80e97 Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Tue, 7 Jul 2015 16:42:03 +0100 Subject: Encode the account keys as a signed JSON object --- src/pickle.cpp | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'src/pickle.cpp') 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; +} -- cgit v1.2.3