13#include "csapi/create_room.h"
14#include "csapi/login.h"
15#include "csapi/content-repo.h"
17#include "e2ee/qolmoutboundsession.h"
19#include "events/accountdataevents.h"
20#include "jobs/jobhandle.h"
21#include "jobs/syncjob.h"
24#include <QtCore/QObject>
25#include <QtCore/QSize>
30Q_DECLARE_METATYPE(Quotient::GetLoginFlowsJob::LoginFlow)
32class TestCrossSigning;
43class GetCapabilitiesJob;
47class MediaThumbnailJob;
54struct EncryptedFileMetadata;
57class QOlmInboundGroupSession;
66 inline constexpr auto Password =
"m.login.password"_L1,
SSO =
"m.login.sso"_L1,
73 [[deprecated(
"Use login flow types and Connection::getLoginFlow() instead")]]
83[[
deprecated(
"Compare login flow types instead")]]
84inline bool operator==(
const LoginFlow& lhs,
const LoginFlow& rhs)
86 return lhs.type == rhs.type;
89[[
deprecated(
"Compare login flow types instead")]]
90inline bool operator!=(
const LoginFlow& lhs,
const LoginFlow& rhs)
98 std::function<Room*(Connection*,
const QString&,
JoinState)>;
99using user_factory_t = std::function<User*(Connection*,
const QString&)>;
105template <
typename T = Room>
108 return new T(c, id, js);
115template <
typename T = User>
282 [[
deprecated(
"Use the overload accepting UserId instead")]]
311 [[
deprecated(
"Check the result returned by Connection::loginFlows() instead")]]
428 [[
deprecated(
"Use capabilitiesReady() instead; don't forget to negate the returned value")]]
622 template <
typename T>
629 template <
typename T>
795 [[
deprecated(
"This method is experimental and may be removed any time")]]
1028Q_DECLARE_METATYPE(
Quotient::DirectChatsMap)
1029Q_DECLARE_METATYPE(Quotient::IgnoredUsersList)
Predefined login flow types.
bool operator!=(const LoginFlow &lhs, const LoginFlow &rhs)
auto defaultRoomFactory(Connection *c, const QString &id, JoinState js)
The default factory to create room objects.
bool operator==(const LoginFlow &lhs, const LoginFlow &rhs)
JoinState
Local user join-state names.
auto defaultUserFactory(Connection *c, const QString &id)
The default factory to create user objects.