aboutsummaryrefslogtreecommitdiff
path: root/lib/e2ee/qolmerrors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/e2ee/qolmerrors.cpp')
-rw-r--r--lib/e2ee/qolmerrors.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/e2ee/qolmerrors.cpp b/lib/e2ee/qolmerrors.cpp
new file mode 100644
index 00000000..5a60b7e6
--- /dev/null
+++ b/lib/e2ee/qolmerrors.cpp
@@ -0,0 +1,25 @@
+// SPDX-FileCopyrightText: 2021 Carl Schwan <carlschwan@kde.org>
+//
+// SPDX-License-Identifier: LGPL-2.1-or-later
+
+
+#include "qolmerrors.h"
+#include "util.h"
+#include <QtCore/QLatin1String>
+
+Quotient::QOlmError Quotient::fromString(const char* error_raw) {
+ const QLatin1String error { error_raw };
+ if (error_raw == "BAD_ACCOUNT_KEY"_ls) {
+ return QOlmError::BadAccountKey;
+ } else if (error_raw == "BAD_MESSAGE_KEY_ID"_ls) {
+ return QOlmError::BadMessageKeyId;
+ } else if (error_raw == "INVALID_BASE64"_ls) {
+ return QOlmError::InvalidBase64;
+ } else if (error_raw == "NOT_ENOUGH_RANDOM"_ls) {
+ return QOlmError::NotEnoughRandom;
+ } else if (error_raw == "OUTPUT_BUFFER_TOO_SMALL"_ls) {
+ return QOlmError::OutputBufferTooSmall;
+ } else {
+ return QOlmError::Unknown;
+ }
+}