Skip to content

Commit

Permalink
Improve mock
Browse files Browse the repository at this point in the history
  • Loading branch information
CarlSchwan committed Mar 3, 2024
1 parent f017b02 commit ee484b7
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 10 deletions.
34 changes: 24 additions & 10 deletions Quotient/connection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1367,6 +1367,21 @@ const ConnectionData* Connection::connectionData() const
return d->data.get();
}

void Connection::addRoom(Room *room, bool invite)
{
const std::pair roomKey { room->id(), invite };
d->roomMap.insert(roomKey, room);
connect(room, &Room::beforeDestruction, this,
&Connection::aboutToDeleteRoom);
connect(room, &Room::baseStateLoaded, this, [this, room] {
emit loadedRoomState(room);
if (d->capabilities.roomVersions)
room->checkVersion();
// Otherwise, the version will be checked in reloadCapabilities()
});
emit newRoom(room);
}

Room* Connection::provideRoom(const QString& id, Omittable<JoinState> joinState)
{
// TODO: This whole function is a strong case for a RoomManager class.
Expand Down Expand Up @@ -1397,16 +1412,7 @@ Room* Connection::provideRoom(const QString& id, Omittable<JoinState> joinState)
qCCritical(MAIN) << "Failed to create a room" << id;
return nullptr;
}
d->roomMap.insert(roomKey, room);
connect(room, &Room::beforeDestruction, this,
&Connection::aboutToDeleteRoom);
connect(room, &Room::baseStateLoaded, this, [this, room] {
emit loadedRoomState(room);
if (d->capabilities.roomVersions)
room->checkVersion();
// Otherwise, the version will be checked in reloadCapabilities()
});
emit newRoom(room);
addRoom(room, roomKey.second);
}
if (!joinState)
return room;
Expand Down Expand Up @@ -1902,6 +1908,14 @@ bool Connection::isKnownE2eeCapableDevice(const QString& userId, const QString&

#endif

Connection* Connection::makeMockConnection(Connection *c, const QString& mxId,
bool enableEncryption)
{
c->enableEncryption(enableEncryption);
c->d->completeSetup(mxId, true);
return c;
}

Connection* Connection::makeMockConnection(const QString& mxId,
bool enableEncryption)
{
Expand Down
6 changes: 6 additions & 0 deletions Quotient/connection.h
Original file line number Diff line number Diff line change
Expand Up @@ -760,6 +760,9 @@ public Q_SLOTS:
static Connection* makeMockConnection(const QString& mxId,
bool enableEncryption = E2EE_Enabled);

static Connection* makeMockConnection(Connection *connection, const QString& mxId,
bool enableEncryption = E2EE_Enabled);

Q_SIGNALS:
//! \brief Initial server resolution has failed
//!
Expand Down Expand Up @@ -947,6 +950,9 @@ public Q_SLOTS:
Room* provideRoom(const QString& roomId,
Omittable<JoinState> joinState = none);

//! Add room to the connection
void addRoom(Room *room, bool invite = false);

//! Process sync data from a successful sync request
void onSyncSuccess(SyncData&& data, bool fromCache = false);

Expand Down

0 comments on commit ee484b7

Please sign in to comment.