libQuotient
A Qt library for building matrix clients
Loading...
Searching...
No Matches
e2ee_common.h File Reference
#include "../converters.h"
#include <QtCore/QMetaType>
#include <QtCore/QStringBuilder>
#include <array>
#include <span>
#include <variant>
Include dependency graph for e2ee_common.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Quotient::FixedBufferBase
 Non-template base for owning byte span classes. More...
 
class  Quotient::FixedBuffer< ExtentN, DataIsWriteable >
 
class  Quotient::PicklingKey
 
class  Quotient::SignedOneTimeKey
 

Namespaces

namespace  Quotient
 

Typedefs

using Quotient::byte_t = uint8_t
 
template<size_t N = std::dynamic_extent>
using Quotient::byte_view_t = std::span< const byte_t, N >
 
template<size_t N = std::dynamic_extent>
using Quotient::byte_span_t = std::span< byte_t, N >
 
using Quotient::OneTimeKeys = QHash< QString, std::variant< QString, SignedOneTimeKey > >
 

Functions

bool Quotient::isSupportedAlgorithm (const QString &algorithm)
 
template<size_t N = std::dynamic_extent>
auto Quotient::asCBytes (const auto &buf)
 Obtain a std::span<const byte_t, N> looking into the passed buffer.
 
QUOTIENT_API void Quotient::fillFromSecureRng (std::span< byte_t > bytes)
 Fill the buffer with the securely generated random bytes.
 

Variables

constexpr auto Quotient::AlgorithmKeyL = "algorithm"_L1
 
constexpr auto Quotient::RotationPeriodMsKeyL = "rotation_period_ms"_L1
 
constexpr auto Quotient::RotationPeriodMsgsKeyL = "rotation_period_msgs"_L1
 
constexpr auto Quotient::AlgorithmKey = "algorithm"_L1
 
constexpr auto Quotient::RotationPeriodMsKey = "rotation_period_ms"_L1
 
constexpr auto Quotient::RotationPeriodMsgsKey = "rotation_period_msgs"_L1
 
constexpr auto Quotient::Ed25519Key = "ed25519"_L1
 
constexpr auto Quotient::Curve25519Key = "curve25519"_L1
 
constexpr auto Quotient::SignedCurve25519Key = "signed_curve25519"_L1
 
constexpr auto Quotient::OlmV1Curve25519AesSha2AlgoKey = "m.olm.v1.curve25519-aes-sha2"_L1
 
constexpr std::array Quotient::SupportedAlgorithms