aboutsummaryrefslogtreecommitdiff
path: root/src/pickle.cpp
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-06-12 16:15:37 +0100
committerMark Haines <mark.haines@matrix.org>2015-06-12 16:15:37 +0100
commit6fe3b7eb73fb11e1cba27b28add5b14430b66259 (patch)
treee2e526e4f5593cb8d978f1b8955b80c9c2d88b4e /src/pickle.cpp
parent28541dd82a9e4a99661ba32905b8488d35e70fe3 (diff)
Move utils for pickling into a separate file
Diffstat (limited to 'src/pickle.cpp')
-rw-r--r--src/pickle.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/pickle.cpp b/src/pickle.cpp
new file mode 100644
index 0000000..43ef49c
--- /dev/null
+++ b/src/pickle.cpp
@@ -0,0 +1,66 @@
+#include "axolotl/pickle.hh"
+
+
+std::size_t axolotl::pickle_length(
+ const axolotl::Curve25519PublicKey & value
+) {
+ return sizeof(value.public_key);
+}
+
+
+std::uint8_t * axolotl::pickle(
+ std::uint8_t * pos,
+ const axolotl::Curve25519PublicKey & value
+) {
+ pos = axolotl::pickle_bytes(
+ pos, value.public_key, sizeof(value.public_key)
+ );
+ return pos;
+}
+
+
+std::uint8_t const * axolotl::unpickle(
+ std::uint8_t const * pos, std::uint8_t const * end,
+ axolotl::Curve25519PublicKey & value
+) {
+ pos = axolotl::unpickle_bytes(
+ pos, end, value.public_key, sizeof(value.public_key)
+ );
+ return pos;
+
+}
+
+
+std::size_t axolotl::pickle_length(
+ const axolotl::Curve25519KeyPair & value
+) {
+ return sizeof(value.public_key) + sizeof(value.private_key);
+}
+
+
+std::uint8_t * axolotl::pickle(
+ std::uint8_t * pos,
+ const axolotl::Curve25519KeyPair & value
+) {
+ pos = axolotl::pickle_bytes(
+ pos, value.public_key, sizeof(value.public_key)
+ );
+ pos = axolotl::pickle_bytes(
+ pos, value.private_key, sizeof(value.private_key)
+ );
+ return pos;
+}
+
+
+std::uint8_t const * axolotl::unpickle(
+ std::uint8_t const * pos, std::uint8_t const * end,
+ axolotl::Curve25519KeyPair & value
+) {
+ pos = axolotl::unpickle_bytes(
+ pos, end, value.public_key, sizeof(value.public_key)
+ );
+ pos = axolotl::unpickle_bytes(
+ pos, end, value.private_key, sizeof(value.private_key)
+ );
+ return pos;
+}