From f0e0e1cd227c08ffd97aa42813a479b8c3ca6d23 Mon Sep 17 00:00:00 2001 From: Linus Jahn Date: Tue, 31 May 2022 12:22:48 +0200 Subject: Split up OMEMO into extra module --- src/client/OmemoLibWrappers.h | 100 ------------------------------------------ 1 file changed, 100 deletions(-) delete mode 100644 src/client/OmemoLibWrappers.h (limited to 'src/client/OmemoLibWrappers.h') diff --git a/src/client/OmemoLibWrappers.h b/src/client/OmemoLibWrappers.h deleted file mode 100644 index e157f12c..00000000 --- a/src/client/OmemoLibWrappers.h +++ /dev/null @@ -1,100 +0,0 @@ -// SPDX-FileCopyrightText: 2022 Linus Jahn -// -// SPDX-License-Identifier: LGPL-2.1-or-later - -#ifndef OMEMOLIBWRAPPERS_H -#define OMEMOLIBWRAPPERS_H - -#include -#include -#include -#include - -// Wraps various types of the OMEMO library. -template -class OmemoLibPtr -{ - T *m_ptr = nullptr; - -public: - OmemoLibPtr(T *ptr = nullptr) : m_ptr(ptr) { } - OmemoLibPtr(const OmemoLibPtr &) = delete; - ~OmemoLibPtr() - { - if (m_ptr) { - destruct(m_ptr); - } - } - OmemoLibPtr &operator=(const OmemoLibPtr &) = delete; - OmemoLibPtr &operator=(T *ptr) - { - reset(ptr); - return *this; - } - operator bool() const { return m_ptr != nullptr; } - T *operator->() const { return m_ptr; } - T *get() const { return m_ptr; } - T **ptrRef() { return &m_ptr; } - void reset(T *ptr) - { - if (m_ptr) { - destruct(m_ptr); - } - m_ptr = ptr; - } -}; - -template -void omemoLibUnrefHelper(T *ptr) -{ - SIGNAL_UNREF(ptr); -} - -template -using RefCountedPtr = OmemoLibPtr>; - -static QByteArray omemoLibBufferToByteArray(signal_buffer *buffer) -{ - return QByteArray(reinterpret_cast(signal_buffer_data(buffer)), signal_buffer_len(buffer)); -} - -static signal_buffer *omemoLibBufferFromByteArray(const QByteArray &bytes) -{ - return signal_buffer_create(reinterpret_cast(bytes.constData()), bytes.size()); -} - -template -class BufferPtrBase : public OmemoLibPtr -{ -public: - QByteArray toByteArray() const - { - return omemoLibBufferToByteArray(this->get()); - } -}; - -class BufferSecurePtr : public BufferPtrBase -{ -public: - static BufferSecurePtr fromByteArray(const QByteArray &bytes) - { - return { omemoLibBufferFromByteArray(bytes) }; - } -}; - -class BufferPtr : public BufferPtrBase -{ -public: - static BufferPtr fromByteArray(const QByteArray &bytes) - { - return { omemoLibBufferFromByteArray(bytes) }; - } -}; - -using KeyListNodePtr = OmemoLibPtr; -using SessionCipherPtr = OmemoLibPtr; -using SessionBuilderPtr = OmemoLibPtr; -using OmemoContextPtr = OmemoLibPtr; -using StoreContextPtr = OmemoLibPtr; - -#endif // OMEMOLIBWRAPPERS_H -- cgit v1.2.3