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;
64 inline constexpr auto Password =
"m.login.password"_L1,
SSO =
"m.login.sso"_L1,
71 [[deprecated(
"Use login flow types and Connection::getLoginFlow() instead")]]
81[[
deprecated(
"Compare login flow types instead")]]
82inline bool operator==(
const LoginFlow& lhs,
const LoginFlow& rhs)
84 return lhs.type == rhs.type;
87[[
deprecated(
"Compare login flow types instead")]]
88inline bool operator!=(
const LoginFlow& lhs,
const LoginFlow& rhs)
96 std::function<Room*(Connection*,
const QString&,
JoinState)>;
97using user_factory_t = std::function<User*(Connection*,
const QString&)>;
103template <
typename T = Room>
106 return new T(c, id, js);
113template <
typename T = User>
280 [[
deprecated(
"Use the overload accepting UserId instead")]]
309 [[
deprecated(
"Check the result returned by Connection::loginFlows() instead")]]
426 [[
deprecated(
"Use capabilitiesReady() instead; don't forget to negate the returned value")]]
615 template <
typename T>
622 template <
typename T>
774 [[
deprecated(
"This method is experimental and may be removed any time")]]
1007Q_DECLARE_METATYPE(
Quotient::DirectChatsMap)
1008Q_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.