From 508f4362b7b5e1863153cca6fe6756adedfa33ee Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Sun, 29 Sep 2019 18:20:54 +0900 Subject: Connection: allRooms(), rooms(), roomsCount(); deprecate roomMap() Closes #354. --- lib/connection.h | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'lib/connection.h') diff --git a/lib/connection.h b/lib/connection.h index b4b16679..1f1d4cd5 100644 --- a/lib/connection.h +++ b/lib/connection.h @@ -135,12 +135,39 @@ public: explicit Connection(const QUrl& server, QObject* parent = nullptr); ~Connection() override; - /** Get all Invited and Joined rooms + /// Get all Invited and Joined rooms + /*! * \return a hashmap from a composite key - room name and whether * it's an Invite rather than Join - to room pointers + * \sa allRooms, rooms, roomsWithTag */ + [[deprecated("Use allRooms(), roomsWithTag() or rooms(joinStates) instead")]] QHash, Room*> roomMap() const; + /// Get all rooms known within this Connection + /*! + * This includes Invite, Join and Leave rooms, in no particular order. + * \note Leave rooms will only show up in the list if they have been left + * in the same running session. The library doesn't cache left rooms + * between runs and it doesn't retrieve the full list of left rooms + * from the server. + * \sa rooms, room, roomsWithTag + */ + Q_INVOKABLE QVector allRooms() const; + + /// Get rooms that have either of the given join state(s) + /*! + * This method returns, in no particular order, rooms which join state + * matches the mask passed in \p joinStates. + * \note Similar to allRooms(), this won't retrieve the full list of + * Leave rooms from the server. + * \sa allRooms, room, roomsWithTag + */ + Q_INVOKABLE QVector rooms(JoinStates joinStates) const; + + /// Get the total number of rooms in the given join state(s) + Q_INVOKABLE int roomsCount(JoinStates joinStates) const; + /** Check whether the account has data of the given type * Direct chats map is not supported by this method _yet_. */ -- cgit v1.2.3