7 #include <Quotient/e2ee/e2ee_common.h>
9 struct OlmInboundGroupSession;
19 static QOlmExpected<QOlmInboundGroupSession> create(
const QByteArray& key);
21 static QOlmExpected<QOlmInboundGroupSession> importSession(
22 const QByteArray& key);
24 QByteArray pickle(
const PicklingKey& key)
const;
27 static QOlmExpected<QOlmInboundGroupSession> unpickle(
28 QByteArray&& pickled,
const PicklingKey& key);
30 QOlmExpected<std::pair<QByteArray, uint32_t> > decrypt(
const QByteArray& message);
33 QOlmExpected<QByteArray> exportSession(uint32_t messageIndex);
35 uint32_t firstKnownIndex()
const;
37 QByteArray sessionId()
const;
38 bool isVerified()
const;
42 QByteArray olmSessionId()
const;
43 void setOlmSessionId(
const QByteArray& newOlmSessionId);
46 QString senderId()
const;
47 void setSenderId(
const QString& senderId);
49 OlmErrorCode lastErrorCode()
const;
50 const char* lastError()
const;
53 QOlmInboundGroupSession();
54 CStructPtr<OlmInboundGroupSession> m_groupSession;
55 QByteArray m_olmSessionId;
57 OlmInboundGroupSession* olmData = m_groupSession.get();
60 using QOlmInboundGroupSessionPtr = std::unique_ptr<QOlmInboundGroupSession>;