summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/base64.cpp19
-rw-r--r--src/utils/base64.hpp10
2 files changed, 29 insertions, 0 deletions
diff --git a/src/utils/base64.cpp b/src/utils/base64.cpp
new file mode 100644
index 0000000..350e2db
--- /dev/null
+++ b/src/utils/base64.cpp
@@ -0,0 +1,19 @@
+#include <utils/base64.hpp>
+
+#ifdef BOTAN_FOUND
+#include <botan/base64.h>
+#endif
+
+namespace base64
+{
+
+std::string encode(const std::string &input)
+{
+#ifdef BOTAN_FOUND
+ return Botan::base64_encode(reinterpret_cast<const uint8_t*>(input.data()), input.size());
+#else
+#error "base64::encode() not yet implemented without Botan."
+#endif
+}
+
+}
diff --git a/src/utils/base64.hpp b/src/utils/base64.hpp
new file mode 100644
index 0000000..1dd4a4d
--- /dev/null
+++ b/src/utils/base64.hpp
@@ -0,0 +1,10 @@
+#pragma once
+
+#include "biboumi.h"
+
+#include <string>
+
+namespace base64
+{
+std::string encode(const std::string& input);
+}